@@ -17,6 +17,7 @@ Exports a commit from GIT to a CVS check to merge patches from a git repository into a CVS repository. Execute it from the root of the CVS working copy. GIT_DIR must be defined. +See examples below. It does its best to do the safe thing, it will check that the files are unchanged and up to date in the CVS checkout, and it will not autocommit
@@ -41,6 +42,26 @@ OPTIONS -v:: Verbose.+EXAMPLES+--------++Merge one patch into CVS::+++------------+$ export GIT_DIR=~/project/.git+$ cd ~/project_cvs_checkout+$ git-cvsexportcommit -v <commit-sha1>+$ cvs commit -F .mgs <files> +------------++Merge pending patches into CVS automatically -- only if you really know what you are doing ::+++------------+$ export GIT_DIR=~/project/.git+$ cd ~/project_cvs_checkout+$ git-cherry cvshead myhead | grep '^+' | sed 's/^+ //' | xargs -l1 git-cvsexportcommit -c -p -v+------------+ Author ------ Written by Martin Langhoff <martin@catalyst.net.nz>
From: Randal L. Schwartz <hidden> Date: 2016-06-15 22:42:17
quoted
quoted
quoted
quoted
"Martin" == Martin Langhoff [off-list ref] writes:
Martin> +$ git-cherry cvshead myhead | grep '^+' | sed 's/^+ //' | xargs -l1 git-cvsexportcommit -c -p -v
My idiom for that grep/sed would be:
... | sed -n 's/^+ //p' | ...
Then the grep is not needed, because you're printing only the ones
that you've also modified in a useful way.
Yes, I did a heckuva lot more shell programming long before Perl existed. :)
--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
[off-list ref] <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!
From: Martin Langhoff <hidden> Date: 2016-06-15 22:42:17
Updated with Randall Schwartz's suggestion.
Signed-off-by: Martin Langhoff <redacted>
---
Apologies! One of these days I'll get it right on the first try ;-)
Documentation/git-cvsexportcommit.txt | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 deletions(-)
69c980351a6d74d033a8d70fb37970c71ff8e855
@@ -17,6 +17,7 @@ Exports a commit from GIT to a CVS check to merge patches from a git repository into a CVS repository. Execute it from the root of the CVS working copy. GIT_DIR must be defined. +See examples below. It does its best to do the safe thing, it will check that the files are unchanged and up to date in the CVS checkout, and it will not autocommit
@@ -41,6 +42,26 @@ OPTIONS -v:: Verbose.+EXAMPLES+--------++Merge one patch into CVS::+++------------+$ export GIT_DIR=~/project/.git+$ cd ~/project_cvs_checkout+$ git-cvsexportcommit -v <commit-sha1>+$ cvs commit -F .mgs <files> +------------++Merge pending patches into CVS automatically -- only if you really know what you are doing ::+++------------+$ export GIT_DIR=~/project/.git+$ cd ~/project_cvs_checkout+$ git-cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git-cvsexportcommit -c -p -v+------------+ Author ------ Written by Martin Langhoff <martin@catalyst.net.nz>