author | Junio C Hamano <gitster@pobox.com> | |
Tue, 30 Nov 2010 01:52:35 +0000 (17:52 -0800) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Tue, 30 Nov 2010 01:52:35 +0000 (17:52 -0800) |
* en/merge-recursive: (41 commits)
t6022: Use -eq not = to test output of wc -l
merge-recursive:make_room_for_directories - work around dumb compilers
merge-recursive: Remove redundant path clearing for D/F conflicts
merge-recursive: Make room for directories in D/F conflicts
handle_delete_modify(): Check whether D/F conflicts are still present
merge_content(): Check whether D/F conflicts are still present
conflict_rename_rename_1to2(): Fix checks for presence of D/F conflicts
conflict_rename_delete(): Check whether D/F conflicts are still present
merge-recursive: Delay modify/delete conflicts if D/F conflict present
merge-recursive: Delay content merging for renames
merge-recursive: Delay handling of rename/delete conflicts
merge-recursive: Move handling of double rename of one file to other file
merge-recursive: Move handling of double rename of one file to two
merge-recursive: Avoid doubly merging rename/add conflict contents
merge-recursive: Update merge_content() call signature
merge-recursive: Update conflict_rename_rename_1to2() call signature
merge-recursive: Structure process_df_entry() to handle more cases
merge-recursive: Have process_entry() skip D/F or rename entries
merge-recursive: New function to assist resolving renames in-core only
merge-recursive: New data structures for deferring of D/F conflicts
...
Conflicts:
t/t6020-merge-df.sh
t/t6036-recursive-corner-cases.sh
t6022: Use -eq not = to test output of wc -l
merge-recursive:make_room_for_directories - work around dumb compilers
merge-recursive: Remove redundant path clearing for D/F conflicts
merge-recursive: Make room for directories in D/F conflicts
handle_delete_modify(): Check whether D/F conflicts are still present
merge_content(): Check whether D/F conflicts are still present
conflict_rename_rename_1to2(): Fix checks for presence of D/F conflicts
conflict_rename_delete(): Check whether D/F conflicts are still present
merge-recursive: Delay modify/delete conflicts if D/F conflict present
merge-recursive: Delay content merging for renames
merge-recursive: Delay handling of rename/delete conflicts
merge-recursive: Move handling of double rename of one file to other file
merge-recursive: Move handling of double rename of one file to two
merge-recursive: Avoid doubly merging rename/add conflict contents
merge-recursive: Update merge_content() call signature
merge-recursive: Update conflict_rename_rename_1to2() call signature
merge-recursive: Structure process_df_entry() to handle more cases
merge-recursive: Have process_entry() skip D/F or rename entries
merge-recursive: New function to assist resolving renames in-core only
merge-recursive: New data structures for deferring of D/F conflicts
...
Conflicts:
t/t6020-merge-df.sh
t/t6036-recursive-corner-cases.sh
1 | 2 | |||
---|---|---|---|---|
merge-recursive.c | patch | | diff1 | | diff2 | | blob | history |
t/t3030-merge-recursive.sh | patch | | diff1 | | diff2 | | blob | history |
t/t6020-merge-df.sh | patch | | diff1 | | diff2 | | blob | history |
t/t6022-merge-rename.sh | patch | | diff1 | | diff2 | | blob | history |
t/t6036-recursive-corner-cases.sh | patch | | diff1 | | diff2 | | blob | history |
diff --cc merge-recursive.c
Simple merge
diff --cc t/t3030-merge-recursive.sh
Simple merge
diff --cc t/t6020-merge-df.sh
index 5d91d056d2ff97bb4253671cde8ac9a207bd6bd9,b129f1dbd5a5ffe4413ea359f3e893e935117115..eec8f4e3edd85e350f5b8d8c86415317cce2aba1
--- 1/t/t6020-merge-df.sh
--- 2/t/t6020-merge-df.sh
+++ b/t/t6020-merge-df.sh
test_description='Test merge with directory/file conflicts'
. ./test-lib.sh
- test_expect_success 'prepare repository' \
- 'echo "Hello" > init &&
- git add init &&
- git commit -m "Initial commit" &&
- git branch B &&
- mkdir dir &&
- echo "foo" > dir/foo &&
- git add dir/foo &&
- git commit -m "File: dir/foo" &&
- git checkout B &&
- echo "file dir" > dir &&
- git add dir &&
- git commit -m "File: dir"'
+ test_expect_success 'prepare repository' '
+ echo Hello >init &&
+ git add init &&
+ git commit -m initial &&
+
+ git branch B &&
+ mkdir dir &&
+ echo foo >dir/foo &&
+ git add dir/foo &&
+ git commit -m "File: dir/foo" &&
+
+ git checkout B &&
+ echo file dir >dir &&
+ git add dir &&
+ git commit -m "File: dir"
+ '
test_expect_success 'Merge with d/f conflicts' '
- test_must_fail git merge master
+ test_expect_code 1 git merge "merge msg" B master
'
test_expect_success 'F/D conflict' '
diff --cc t/t6022-merge-rename.sh
Simple merge
diff --cc t/t6036-recursive-corner-cases.sh
index 004c365ad6b32fff16c3c96ef2b6a173157b02a8,a2e5c5c08fdacbc50e8d9e464665f0e9c1bcfccf..871577d90cc2817ffcc0cfe1ecf76aab6be61723
# R1 R2
#
- test_expect_success setup '
+ test_expect_success 'setup basic criss-cross + rename with no modifications' '
- ten="0 1 2 3 4 5 6 7 8 9"
+ ten="0 1 2 3 4 5 6 7 8 9" &&
for i in $ten
do
echo line $i in a sample file