summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: f5b49ea)
raw | patch | inline | side by side (parent: f5b49ea)
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | |
Mon, 22 Dec 2008 21:16:51 +0000 (22:16 +0100) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Wed, 24 Dec 2008 08:14:08 +0000 (00:14 -0800) |
The result is easier to review this way, and the merge resolution has to be
done inside the work tree, not by adjusting "the patch" anyway.
done inside the work tree, not by adjusting "the patch" anyway.
git-rebase--interactive.sh | patch | blob | history | |
t/t3409-rebase-preserve-merges.sh | patch | blob | history |
index 89c39ebc9df58a85011219dff21ffac9dd6a53ab..c8b0861c085035c85002f6e2fe969369ea32016f 100755 (executable)
}
make_patch () {
- parent_sha1=$(git rev-parse --verify "$1"^) ||
- die "Cannot get patch for $1^"
- git diff-tree -p "$parent_sha1".."$1" > "$DOTEST"/patch
+ sha1_and_parents="$(git rev-list --parents -1 "$1")"
+ case "$sha1_and_parents" in
+ ?*' '?*' '?*)
+ git diff --cc $sha1_and_parents
+ ;;
+ ?*' '?*)
+ git diff-tree -p "$1^!"
+ ;;
+ *)
+ echo "Root commit"
+ ;;
+ esac > "$DOTEST"/patch
test -f "$DOTEST"/message ||
git cat-file commit "$1" | sed "1,/^$/d" > "$DOTEST"/message
test -f "$DOTEST"/author-script ||
index 820e0105d23f97830d7c2c69a32203ed050ea3d8..e6c832780fbe00afe5c513f0f5e4c87d7020e2a4 100755 (executable)
test 2 = $(git ls-files B | wc -l) &&
echo Resolved again > B &&
test_must_fail git rebase --continue &&
+ grep "^@@@ " .git/rebase-merge/patch &&
git add B &&
git rebase --continue &&
test 1 = $(git rev-list --all --pretty=oneline | grep "Modify A" | wc -l) &&