]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/git-cvsexportcommit.txt
cvsexportcommit: Create config option for CVS dir
[thirdparty/git.git] / Documentation / git-cvsexportcommit.txt
CommitLineData
5e0306ad 1git-cvsexportcommit(1)
79f6ac77 2======================
5e0306ad
ML
3
4NAME
5----
c3f0baac 6git-cvsexportcommit - Export a single commit to a CVS checkout
5e0306ad
ML
7
8
9SYNOPSIS
10--------
648ee550 11'git-cvsexportcommit' [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d cvsroot] [-w cvsworkdir] [-f] [-m msgprefix] [PARENTCOMMIT] COMMITID
5e0306ad
ML
12
13
14DESCRIPTION
15-----------
16Exports a commit from GIT to a CVS checkout, making it easier
a6080a0a 17to merge patches from a git repository into a CVS repository.
5e0306ad 18
648ee550
RR
19Specify the name of a CVS checkout using the -w switch or execute it
20from the root of the CVS working copy. In the latter case GIT_DIR must
21be defined. See examples below.
5e0306ad 22
a6080a0a
JH
23It does its best to do the safe thing, it will check that the files are
24unchanged and up to date in the CVS checkout, and it will not autocommit
5e0306ad
ML
25by default.
26
27Supports file additions, removals, and commits that affect binary files.
28
604d7a1a 29If the commit is a merge commit, you must tell git-cvsexportcommit what parent
a6080a0a 30should the changeset be done against.
5e0306ad
ML
31
32OPTIONS
33-------
34
35-c::
36 Commit automatically if the patch applied cleanly. It will not
37 commit if any hunks fail to apply or there were other problems.
38
39-p::
1b91abe3 40 Be pedantic (paranoid) when applying patches. Invokes patch with
5e0306ad
ML
41 --fuzz=0
42
1b91abe3
ML
43-a::
44 Add authorship information. Adds Author line, and Committer (if
45 different from Author) to the message.
46
4a6b9bb6
SS
47-d::
48 Set an alternative CVSROOT to use. This corresponds to the CVS
49 -d parameter. Usually users will not want to set this, except
50 if using CVS in an asymmetric fashion.
51
992793c8
ML
52-f::
53 Force the merge even if the files are not up to date.
54
ca28370a
SS
55-P::
56 Force the parent commit, even if it is not a direct parent.
57
992793c8 58-m::
a6080a0a 59 Prepend the commit message with the provided prefix.
992793c8
ML
60 Useful for patch series and the like.
61
e5d80641 62-u::
db218723 63 Update affected files from CVS repository before attempting export.
e5d80641 64
648ee550
RR
65-w::
66 Specify the location of the CVS checkout to use for the export. This
67 option does not require GIT_DIR to be set before execution if the
325abb7b
TP
68 current directory is within a git repository. The default is the
69 value of 'cvsexportcommit.cvsdir'.
648ee550 70
5e0306ad
ML
71-v::
72 Verbose.
73
325abb7b
TP
74CONFIGURATION
75-------------
76cvsexportcommit.cvsdir::
77 The default location of the CVS checkout to use for the export.
78
1506fc34
ML
79EXAMPLES
80--------
81
82Merge one patch into CVS::
83+
84------------
85$ export GIT_DIR=~/project/.git
86$ cd ~/project_cvs_checkout
87$ git-cvsexportcommit -v <commit-sha1>
562e35c3 88$ cvs commit -F .msg <files>
1506fc34
ML
89------------
90
648ee550
RR
91Merge one patch into CVS (-c and -w options). The working directory is within the Git Repo::
92+
93------------
94 $ git-cvsexportcommit -v -c -w ~/project_cvs_checkout <commit-sha1>
95------------
96
4c7100a9 97Merge pending patches into CVS automatically -- only if you really know what you are doing::
1506fc34
ML
98+
99------------
100$ export GIT_DIR=~/project/.git
101$ cd ~/project_cvs_checkout
102$ git-cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git-cvsexportcommit -c -p -v
103------------
104
5e0306ad
ML
105Author
106------
648ee550 107Written by Martin Langhoff <martin@catalyst.net.nz> and others.
5e0306ad
ML
108
109Documentation
110--------------
648ee550 111Documentation by Martin Langhoff <martin@catalyst.net.nz> and others.
5e0306ad
ML
112
113GIT
114---
5162e697 115Part of the linkgit:git[7] suite