]>
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 | -------- | |
d775734c | 11 | 'git-cvsexportcommit' [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d cvsroot] [-w cvsworkdir] [-W] [-f] [-m msgprefix] [PARENTCOMMIT] COMMITID |
5e0306ad ML |
12 | |
13 | ||
14 | DESCRIPTION | |
15 | ----------- | |
16 | Exports a commit from GIT to a CVS checkout, making it easier | |
a6080a0a | 17 | to merge patches from a git repository into a CVS repository. |
5e0306ad | 18 | |
648ee550 RR |
19 | Specify the name of a CVS checkout using the -w switch or execute it |
20 | from the root of the CVS working copy. In the latter case GIT_DIR must | |
21 | be defined. See examples below. | |
5e0306ad | 22 | |
a6080a0a JH |
23 | It does its best to do the safe thing, it will check that the files are |
24 | unchanged and up to date in the CVS checkout, and it will not autocommit | |
5e0306ad ML |
25 | by default. |
26 | ||
27 | Supports file additions, removals, and commits that affect binary files. | |
28 | ||
604d7a1a | 29 | If the commit is a merge commit, you must tell git-cvsexportcommit what parent |
a6080a0a | 30 | should the changeset be done against. |
5e0306ad ML |
31 | |
32 | OPTIONS | |
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 | |
d775734c JS |
71 | -W:: |
72 | Tell cvsexportcommit that the current working directory is not only | |
73 | a Git checkout, but also the CVS checkout. Therefore, Git will | |
74 | reset the working directory to the parent commit before proceeding. | |
75 | ||
5e0306ad ML |
76 | -v:: |
77 | Verbose. | |
78 | ||
325abb7b TP |
79 | CONFIGURATION |
80 | ------------- | |
81 | cvsexportcommit.cvsdir:: | |
82 | The default location of the CVS checkout to use for the export. | |
83 | ||
1506fc34 ML |
84 | EXAMPLES |
85 | -------- | |
86 | ||
87 | Merge one patch into CVS:: | |
88 | + | |
89 | ------------ | |
90 | $ export GIT_DIR=~/project/.git | |
91 | $ cd ~/project_cvs_checkout | |
92 | $ git-cvsexportcommit -v <commit-sha1> | |
562e35c3 | 93 | $ cvs commit -F .msg <files> |
1506fc34 ML |
94 | ------------ |
95 | ||
648ee550 RR |
96 | Merge one patch into CVS (-c and -w options). The working directory is within the Git Repo:: |
97 | + | |
98 | ------------ | |
99 | $ git-cvsexportcommit -v -c -w ~/project_cvs_checkout <commit-sha1> | |
100 | ------------ | |
101 | ||
4c7100a9 | 102 | Merge pending patches into CVS automatically -- only if you really know what you are doing:: |
1506fc34 ML |
103 | + |
104 | ------------ | |
105 | $ export GIT_DIR=~/project/.git | |
106 | $ cd ~/project_cvs_checkout | |
107 | $ git-cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git-cvsexportcommit -c -p -v | |
108 | ------------ | |
109 | ||
5e0306ad ML |
110 | Author |
111 | ------ | |
648ee550 | 112 | Written by Martin Langhoff <martin@catalyst.net.nz> and others. |
5e0306ad ML |
113 | |
114 | Documentation | |
115 | -------------- | |
648ee550 | 116 | Documentation by Martin Langhoff <martin@catalyst.net.nz> and others. |
5e0306ad ML |
117 | |
118 | GIT | |
119 | --- | |
5162e697 | 120 | Part of the linkgit:git[7] suite |