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