You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
3.1 KiB
118 lines
3.1 KiB
git-cvsexportcommit(1) |
|
====================== |
|
|
|
NAME |
|
---- |
|
git-cvsexportcommit - Export a single commit to a CVS checkout |
|
|
|
|
|
SYNOPSIS |
|
-------- |
|
[verse] |
|
'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. |
|
|
|
Specify the name of a CVS checkout using the -w switch or execute it |
|
from the root of the CVS working copy. In the latter case GIT_DIR must |
|
be defined. See examples below. |
|
|
|
It does its best to do the safe thing, it will check that the files are |
|
unchanged and up to date in the CVS checkout, and it will not autocommit |
|
by default. |
|
|
|
Supports file additions, removals, and commits that affect binary files. |
|
|
|
If the commit is a merge commit, you must tell 'git cvsexportcommit' what |
|
parent the changeset should be done against. |
|
|
|
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 |
|
|
|
-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.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 |
|
------------ |
|
|
|
GIT |
|
--- |
|
Part of the linkgit:git[1] suite
|
|
|