2005-11-07 05:57:08 +01:00
|
|
|
git-cvsexportcommit(1)
|
2005-11-08 02:53:06 +01:00
|
|
|
======================
|
2005-11-07 05:57:08 +01:00
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
2007-01-19 00:53:37 +01:00
|
|
|
git-cvsexportcommit - Export a single commit to a CVS checkout
|
2005-11-07 05:57:08 +01:00
|
|
|
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
2011-07-02 04:38:26 +02:00
|
|
|
[verse]
|
2021-11-06 19:48:51 +01:00
|
|
|
'git cvsexportcommit' [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d <cvsroot>]
|
|
|
|
[-w <cvs-workdir>] [-W] [-f] [-m <msgprefix>] [<parent-commit>] <commit-id>
|
2005-11-07 05:57:08 +01:00
|
|
|
|
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
2013-01-21 20:16:20 +01:00
|
|
|
Exports a commit from Git to a CVS checkout, making it easier
|
2013-01-21 20:17:53 +01:00
|
|
|
to merge patches from a Git repository into a CVS repository.
|
2005-11-07 05:57:08 +01:00
|
|
|
|
2007-10-31 23:12:20 +01:00
|
|
|
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.
|
2005-11-07 05:57:08 +01:00
|
|
|
|
2007-06-07 09:04:01 +02:00
|
|
|
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
|
2005-11-07 05:57:08 +01:00
|
|
|
by default.
|
|
|
|
|
|
|
|
Supports file additions, removals, and commits that affect binary files.
|
|
|
|
|
2010-01-10 00:33:00 +01:00
|
|
|
If the commit is a merge commit, you must tell 'git cvsexportcommit' what
|
2008-06-30 20:56:34 +02:00
|
|
|
parent the changeset should be done against.
|
2005-11-07 05:57:08 +01:00
|
|
|
|
|
|
|
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::
|
2006-07-18 04:22:49 +02:00
|
|
|
Be pedantic (paranoid) when applying patches. Invokes patch with
|
2005-11-07 05:57:08 +01:00
|
|
|
--fuzz=0
|
|
|
|
|
2006-07-18 04:22:49 +02:00
|
|
|
-a::
|
|
|
|
Add authorship information. Adds Author line, and Committer (if
|
|
|
|
different from Author) to the message.
|
|
|
|
|
2007-02-18 18:17:08 +01:00
|
|
|
-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.
|
|
|
|
|
2006-04-26 02:26:16 +02:00
|
|
|
-f::
|
|
|
|
Force the merge even if the files are not up to date.
|
|
|
|
|
2007-02-01 11:43:39 +01:00
|
|
|
-P::
|
|
|
|
Force the parent commit, even if it is not a direct parent.
|
|
|
|
|
2006-04-26 02:26:16 +02:00
|
|
|
-m::
|
2007-06-07 09:04:01 +02:00
|
|
|
Prepend the commit message with the provided prefix.
|
2006-04-26 02:26:16 +02:00
|
|
|
Useful for patch series and the like.
|
|
|
|
|
2007-05-24 17:06:55 +02:00
|
|
|
-u::
|
2007-08-24 02:40:08 +02:00
|
|
|
Update affected files from CVS repository before attempting export.
|
2007-05-24 17:06:55 +02:00
|
|
|
|
2009-06-16 16:21:04 +02:00
|
|
|
-k::
|
|
|
|
Reverse CVS keyword expansion (e.g. $Revision: 1.2.3.4$
|
|
|
|
becomes $Revision$) in working CVS checkout before applying patch.
|
|
|
|
|
2007-10-31 23:12:20 +01:00
|
|
|
-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
|
2013-01-21 20:17:53 +01:00
|
|
|
current directory is within a Git repository. The default is the
|
2008-05-08 23:26:55 +02:00
|
|
|
value of 'cvsexportcommit.cvsdir'.
|
2007-10-31 23:12:20 +01:00
|
|
|
|
2008-05-14 16:29:49 +02:00
|
|
|
-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.
|
|
|
|
|
2005-11-07 05:57:08 +01:00
|
|
|
-v::
|
|
|
|
Verbose.
|
|
|
|
|
2008-05-08 23:26:55 +02:00
|
|
|
CONFIGURATION
|
|
|
|
-------------
|
|
|
|
cvsexportcommit.cvsdir::
|
|
|
|
The default location of the CVS checkout to use for the export.
|
|
|
|
|
2006-01-30 07:34:15 +01:00
|
|
|
EXAMPLES
|
|
|
|
--------
|
|
|
|
|
|
|
|
Merge one patch into CVS::
|
|
|
|
+
|
|
|
|
------------
|
|
|
|
$ export GIT_DIR=~/project/.git
|
|
|
|
$ cd ~/project_cvs_checkout
|
2008-06-30 08:09:04 +02:00
|
|
|
$ git cvsexportcommit -v <commit-sha1>
|
2007-10-30 14:53:47 +01:00
|
|
|
$ cvs commit -F .msg <files>
|
2006-01-30 07:34:15 +01:00
|
|
|
------------
|
|
|
|
|
2007-10-31 23:12:20 +01:00
|
|
|
Merge one patch into CVS (-c and -w options). The working directory is within the Git Repo::
|
|
|
|
+
|
|
|
|
------------
|
2008-06-30 08:09:04 +02:00
|
|
|
$ git cvsexportcommit -v -c -w ~/project_cvs_checkout <commit-sha1>
|
2007-10-31 23:12:20 +01:00
|
|
|
------------
|
|
|
|
|
2007-06-15 07:20:16 +02:00
|
|
|
Merge pending patches into CVS automatically -- only if you really know what you are doing::
|
2006-01-30 07:34:15 +01:00
|
|
|
+
|
|
|
|
------------
|
|
|
|
$ export GIT_DIR=~/project/.git
|
|
|
|
$ cd ~/project_cvs_checkout
|
2008-06-30 08:09:04 +02:00
|
|
|
$ git cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git cvsexportcommit -c -p -v
|
2006-01-30 07:34:15 +01:00
|
|
|
------------
|
|
|
|
|
2005-11-07 05:57:08 +01:00
|
|
|
GIT
|
|
|
|
---
|
2008-06-06 09:07:32 +02:00
|
|
|
Part of the linkgit:git[1] suite
|