summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 18c8ff4)
raw | patch | inline | side by side (parent: 18c8ff4)
author | Christian Couder <chriscool@tuxfamily.org> | |
Mon, 14 Jun 2010 05:29:38 +0000 (00:29 -0500) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Fri, 25 Jun 2010 15:55:48 +0000 (08:55 -0700) |
This can be useful to do something like:
git rev-list --reverse master -- README | git cherry-pick -n --stdin
without using xargs.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git rev-list --reverse master -- README | git cherry-pick -n --stdin
without using xargs.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-cherry-pick.txt | patch | blob | history | |
builtin/revert.c | patch | blob | history | |
t/t3508-cherry-pick-many-commits.sh | patch | blob | history |
index bcb4c758b748b53b7a990455bf4ef9d89f901079..ca485dbac19da231eca045bcf55c6b5df87e8dec 100644 (file)
are in next but not HEAD to the current branch, creating a new
commit for each new change.
+git rev-list --reverse master \-- README | git cherry-pick -n --stdin::
+
+ Apply the changes introduced by all commits on the master
+ branch that touched README to the working tree and index,
+ so the result can be inspected and made into a single new
+ commit if suitable.
+
Author
------
Written by Junio C Hamano <gitster@pobox.com>
diff --git a/builtin/revert.c b/builtin/revert.c
index 853e9e406c7fe258c39fa7e5c53f15f739a935b1..3f4a20edd0a5cd3a6a9668f0222d2cf813b969ef 100644 (file)
--- a/builtin/revert.c
+++ b/builtin/revert.c
die("program error");
}
- commit_argc = parse_options(argc, argv, NULL, options, usage_str, 0);
+ commit_argc = parse_options(argc, argv, NULL, options, usage_str,
+ PARSE_OPT_KEEP_UNKNOWN);
if (commit_argc < 1)
usage_with_options(usage_str, options);
index 26a873032d7942f6696f9dbef3c14299d5186bac..93d7189fbc3c1089fe729d8a144ea15d15e7de33 100755 (executable)
test "$(git rev-parse --verify HEAD)" != "$(git rev-parse --verify fourth)"
'
+test_expect_success 'cherry-pick --stdin works' '
+ git checkout -f master &&
+ git reset --hard first &&
+ test_tick &&
+ git rev-list --reverse first..fourth | git cherry-pick --stdin &&
+ git diff --quiet other &&
+ git diff --quiet HEAD other &&
+ test "$(git rev-parse --verify HEAD)" != "$(git rev-parse --verify fourth)"
+'
+
test_done