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