FLATPAK-BUILD-COMMIT-FROM(1)
π flatpak-build-commit-from β the girlies' guide (section 1 of the manual, okurrr)
okay so bestie, welcome to FLATPAK BUILD-COMMI(1), aka the flatpak build-commit-from page. yes the header is being a lil dramatic with the truncation, we love her anyway. sit down, grab a boba, this one's actually so useful. π§β¨
β¨ NAME β¨
flatpak-build-commit-from β create new commits based on existing one (possibly from another repository) π
πΈ SYNOPSIS πΈ
flatpak build-commit-from [OPTION...] DST-REPO DST-REF...
π¦ DESCRIPTION π¦
so what this does: it creates new commits on the DST-REF branch in DST-REPO, and the contents β plus most of the metadata β get taken from another branch. that other branch can live in another repo, or it can just be another branch in the same repository. lowkey flexible of her. π
the collection ID set on DST-REPO (if one is set, that is) will be used for the newly created commits.
ngl this command is iconic when you want to maintain a branch with a clean history that has no unsigned or broken commits. like, for instance, you can import the head from a different repository from an automatic builder once you've verified that it actually worked. the new commit will have no parents or signatures from the autobuilder, and it can be properly signed with the official key. clean girl aesthetic, fr fr. β¨
any deltas that affect the original commit and that match parent commits in the destination repository are copied and rewritten for the new commit id. periodt.
π OPTIONS π
the following options are understood, bestie β read them all, don't skip:
-h,--helpβ show help options and exit. the classic "what does anything do" button π«Ά--src-repo=SRC-REPOβ the (local) repository to pull the source branch from. defaults to the destination repository.--src-ref=SRC-REFβ the branch to use as the source for the new commit. defaults to the same as the destination ref, which is only useful if a different source repo has been specified. iykyk.--extra-collection-id=COLLECTION-IDβ add an extra collection-ref binding for this collection, in addition to whatever would normally be added due to the destination repository collection id. you can use this option multiple times, she's generous. π--subset=SUBSETβ mark the commit to be included in the named subset. this will cause the commit to be put in the named subset summary (in addition to the main one), letting users see only this subset instead of the whole repo. curated feed energy π--untrustedβ the source repository is not trusted, so all objects are copied (not hardlinked) and all checksums are verified. safety girl. π-s,--subject=SUBJECTβ one line subject for the commit message. if not specified, it will be taken from the source commit.-b,--body=BODYβ full description for the commit message. if not specified, it will be taken from the source commit.--update-appstreamβ update the appstream branch after the build.--no-update-summaryβ don't update the summary file after the new commit is added. this means the repository will not be useful for serving over http untilbuild-update-repohas been run. this is useful if you want to do multiple repo operations before finally updating the summary. (yes the original says "is useful is you want", we're keeping the vibe, no cap.)--forceβ create new commit even if the content didn't change from the existing branch head. stubborn queen. π--disable-fsyncβ don't fsync when writing to the repository. this can result in data loss in exceptional situations, but can improve performance when working with temporary or test repositories.
β οΈ okay so about that one: skipping fsync can result in data loss in exceptional situations. it's a speed-for-safety trade, bestie. use it for temporary or test repos, not for the precious ones. π
--gpg-sign=KEYIDβ sign the commit with this GPG key. this option can be used multiple times.--gpg-homedir=PATHβ GPG Homedir to use when looking for keyrings--end-of-life=REASONβ mark build as end-of-life--end-of-life-rebase=OLDID=NEWIDβ mark new refs as end-of-life. unlike--end-of-life, this one takes an ID that supersedes the current one. by the user's request, the application data may be preserved for the new application. note, this is actually a prefix match, so if you sayorg.the.app=org.new.app, then something likeorg.the.app.Localewill be rebased toorg.new.app.Locale. glow-up pipeline β¨--timestamp=TIMESTAMPβ override the timestamp of the commit. use an ISO 8601 formatted date, orNOWfor the current time--disable-fsyncβ don't fsync when writing to the repository. this can result in data loss in exceptional situations, but can improve performance when working with temporary or test repositories. (yes she's listed twice in the original and we are NOT erasing her, we respect the source material π)-v,--verboseβ print debug information during command processing.--ostree-verboseβ print OSTree debug information during command processing. the extra-spicy debug level π₯
π EXAMPLES π
to revert a commit to the commit before:
$ flatpak build-commit-from --timestamp=NOW
--src-ref=app/org.gnome.gedit/x86_64/master^ repo
app/org.gnome.gedit/x86_64/master
look at that ^ doing the heavy lifting. main character energy fr. π
π SEE ALSO π
ostree(1), flatpak(1), flatpak-build-init(1), flatpak-build(1), flatpak-build-finish(1), flatpak-build-sign(1), flatpak-build-update-repo(1)
and that's the whole page, bestie!! π«Ά this lil beauty comes to you from the flatpak source, dated with the FLATPAK BUILD-COMMI(1) footer vibe β go forth, make clean commits, and slay. ππΈπ¦β¨π
π¦ where this page comes from
- fedora 44: flatpak 1.18.4-1.fc44 Β· LGPL-2.1-or-later
- fedora 44: flatpak 1.18.4-1.fc44 Β· LGPL-2.1-or-later
- nixpkgs unstable: flatpak 1.18.4
- ubuntu stonking: flatpak 1.18.4-1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms