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