6c99f18660
* js/cvsexportcommit: cvsexportcommit: introduce -W for shared working trees (between Git and CVS) cvsexportcommit: chomp only removes trailing whitespace Conflicts: git-cvsexportcommit.perl
121 lines
3.2 KiB
Plaintext
121 lines
3.2 KiB
Plaintext
git-cvsexportcommit(1)
|
|
======================
|
|
|
|
NAME
|
|
----
|
|
git-cvsexportcommit - Export a single commit to a CVS checkout
|
|
|
|
|
|
SYNOPSIS
|
|
--------
|
|
'git-cvsexportcommit' [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d cvsroot] [-w cvsworkdir] [-W] [-f] [-m msgprefix] [PARENTCOMMIT] COMMITID
|
|
|
|
|
|
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
|
|
should the changeset 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.
|
|
|
|
-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
|
|
------------
|
|
|
|
Author
|
|
------
|
|
Written by Martin Langhoff <martin@catalyst.net.nz> and others.
|
|
|
|
Documentation
|
|
--------------
|
|
Documentation by Martin Langhoff <martin@catalyst.net.nz> and others.
|
|
|
|
GIT
|
|
---
|
|
Part of the linkgit:git[7] suite
|