]>
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 | -------- | |
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 | ||
16 | DESCRIPTION | |
17 | ----------- | |
48a8c26c | 18 | Exports a commit from Git to a CVS checkout, making it easier |
2de9b711 | 19 | to merge patches from a Git repository into a CVS repository. |
5e0306ad | 20 | |
648ee550 RR |
21 | Specify the name of a CVS checkout using the -w switch or execute it |
22 | from the root of the CVS working copy. In the latter case GIT_DIR must | |
23 | be defined. See examples below. | |
5e0306ad | 24 | |
a6080a0a JH |
25 | It does its best to do the safe thing, it will check that the files are |
26 | unchanged and up to date in the CVS checkout, and it will not autocommit | |
5e0306ad ML |
27 | by default. |
28 | ||
29 | Supports file additions, removals, and commits that affect binary files. | |
30 | ||
0b444cdb | 31 | If the commit is a merge commit, you must tell 'git cvsexportcommit' what |
483bc4f0 | 32 | parent the changeset should be done against. |
5e0306ad ML |
33 | |
34 | OPTIONS | |
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 |
85 | CONFIGURATION |
86 | ------------- | |
87 | cvsexportcommit.cvsdir:: | |
88 | The default location of the CVS checkout to use for the export. | |
89 | ||
1506fc34 ML |
90 | EXAMPLES |
91 | -------- | |
92 | ||
93 | Merge 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 |
102 | Merge 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 | 108 | Merge 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 |
116 | GIT |
117 | --- | |
9e1f0a85 | 118 | Part of the linkgit:git[1] suite |