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

FreeBSD Manual Pages

  
 
  

home | help
GIT-CVSEXPORTCOMMIT(1)		   Git Manual		  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 <cvs-workdir>] [-W] [-f] [-m <msgprefix>] [<parent-commit>] <commit-id>

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 de-
     fined. See examples below.

     It does its best to do the safe thing, it will check that the files are un-
     changed 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 differ-
	 ent from Author) to the message.

     -d
	 Set an alternative CVSROOT to use. This corresponds to the CVS -d para-
	 meter. 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  $Revi-
	 sion$) 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  cur-
	 rent  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 git(1) suite

Git 2.54.0			   2026-04-19		  GIT-CVSEXPORTCOMMIT(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=git-cvsexportcommit&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help