GIT-CVSEXPORTCOMMIT(1)
β¨ GIT-CVSEXPORTCOMMIT(1) β¨
okay bestie, so this one is from the git manual and it's called git-cvsexportcommit π
πΈ NAME πΈ
git-cvsexportcommit β export a single commit to a CVS checkout π«Ά
π SYNOPSIS π
git cvsexportcommit [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d <cvsroot>]
[-w <cvs-workdir>] [-W] [-f] [-m <msgprefix>] [<parent-commit>] <commit-id>
π DESCRIPTION π
So the whole vibe here is: you take a commit from Git and you yeet it over to a CVS checkout, because that makes it way easier to merge patches from a Git repository into a CVS repository. it's giving bridge between two worlds π
You tell it which CVS checkout to use with the -w switch, OR you just run it from the root of the CVS working copy. If you do that second thing, GIT_DIR must be defined. there's examples down below, don't worry π
It does its best to do the safe thing π₯Ί it checks that the files are unchanged and up to date in the CVS checkout, and it will not autocommit by default. we love a cautious icon.
It supports file additions, removals, and commits that affect binary files. slay π
If the commit is a merge commit, you must tell git cvsexportcommit what parent the changeset should be done against. no cap, it literally can't guess that one π
β¨ OPTIONS β¨
-cβ Commit automatically if the patch applied cleanly. It will not commit if any hunks fail to apply or there were other problems.-pβ Be pedantic (paranoid) when applying patches. Invokes patch with--fuzz=0. it's giving perfectionist energy π-aβ Add authorship information. AddsAuthorline, andCommitter(if different from Author) to the message. credit where credit is due bestie π-dβ Set an alternativeCVSROOTto use. This corresponds to the CVS-dparameter. Usually users will not want to set this, except if using CVS in an asymmetric fashion.-fβ Force the merge even if the files are not up to date. dramatic. use with intention π-Pβ Force the parent commit, even if it is not a direct parent.-mβ Prepend the commit message with the provided prefix. Useful for patch series and the like.-uβ Update affected files from CVS repository before attempting export.-kβ Reverse CVS keyword expansion (e.g.$Revision: 1.2.3.4$becomes$Revision$) in working CVS checkout before applying patch.-wβ Specify the location of the CVS checkout to use for the export. This option does not requireGIT_DIRto be set before execution if the current directory is within a Git repository. The default is the value ofcvsexportcommit.cvsdir.-Wβ Tellcvsexportcommitthat the current working directory is not only a Git checkout, but also the CVS checkout. Therefore, Git will reset the working directory to the parent commit before proceeding.-vβ Verbose. tell me everything, I want the tea π
π CONFIGURATION π
cvsexportcommit.cvsdirβ The default location of the CVS checkout to use for the export.
π¦ EXAMPLES π¦
Merge one patch into CVS
$ export GIT_DIR=~/project/.git
$ cd ~/project_cvs_checkout
$ git cvsexportcommit -v <commit-sha1>
$ cvs commit -F .msg <files>
Merge one patch into CVS (-c and -w options). The working directory is within the Git Repo
$ git cvsexportcommit -v -c -w ~/project_cvs_checkout <commit-sha1>
Merge pending patches into CVS automatically β only if you really know what you are doing
$ export GIT_DIR=~/project/.git
$ cd ~/project_cvs_checkout
$ git cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git cvsexportcommit -c -p -v
that last one is main character energy and also genuinely a little scary. "only if you really know what you are doing" is not a joke bestie, it said what it said π
β GIT β
Part of the git(1) suite π
and that's the whole page, bestie!! π this was Git 2.56.0, dated 09/28/2026, and honestly? iconic. go merge your patches, you got this π«Άβ¨π
π¦ where this page comes from
- fedora 43: git-cvs 2.56.0-1.fc43 Β· BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT
- fedora 44: git-cvs 2.56.0-1.fc44 Β· BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms