NAME
git-cvsexportcommit - Export a single commit to a CVS checkoutSYNOPSIS
git cvsexportcommit [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d <cvsroot>] [-w <cvs-workdir>] [-W] [-f] [-m <msgprefix>] [<parent-commit>] <commit-id>
DESCRIPTION
Exports a commit from Git to a CVS checkout, making it easier to merge patches from a Git repository into a CVS repository.OPTIONS
-cCommit 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
-a
Add authorship information. Adds Author line,
and Committer (if different from Author) to the message.
-d
Set an alternative CVSROOT to use. This
corresponds to the CVS -d parameter. 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.
-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 require GIT_DIR to be set before
execution if the current directory is within a Git repository. The default is
the value of cvsexportcommit.cvsdir.
-W
Tell cvsexportcommit that 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.
CONFIGURATION
cvsexportcommit.cvsdirThe 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>
$ git cvsexportcommit -v -c -w ~/project_cvs_checkout <commit-sha1>
$ export GIT_DIR=~/project/.git $ cd ~/project_cvs_checkout $ git cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git cvsexportcommit -c -p -v
GIT
Part of the git(1) suite02/28/2023 | Git 2.39.2 |