119 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			119 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
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 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 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
 |