Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help

       git-cvsexportcommit - Export a single commit to a CVS checkout

       git cvsexportcommit [-h]	[-u] [-v] [-c] [-P] [-p] [-a] [-d cvsroot]
	       [-w cvsworkdir] [-W] [-f] [-m msgprefix]	[PARENTCOMMIT] COMMITID

       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

       If the commit is	a merge	commit,	you must tell git cvsexportcommit what
       parent the changeset should be done against.

	   Commit automatically	if the patch applied cleanly. It will not
	   commit if any hunks fail to apply or	there were other problems.

	   Be pedantic (paranoid) when applying	patches. Invokes patch with

	   Add authorship information. Adds Author line, and Committer (if
	   different from Author) to the message.

	   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.

	   Force the merge even	if the files are not up	to date.

	   Force the parent commit, even if it is not a	direct parent.

	   Prepend the commit message with the provided	prefix.	Useful for
	   patch series	and the	like.

	   Update affected files from CVS repository before attempting export.

	   Reverse CVS keyword expansion (e.g. $Revision:$ becomes
	   $Revision$) in working CVS checkout before applying patch.

	   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.

	   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.


	   The default location	of the CVS checkout to use for the export.

       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

       Part of the git(1) suite

Git 2.28.0			  07/26/2020		GIT-CVSEXPORTCOMMIT(1)


Want to link to this manual page? Use this URL:

home | help