From: Junio C Hamano Date: Tue, 30 Nov 2010 01:52:35 +0000 (-0800) Subject: Merge branch 'en/merge-recursive' X-Git-Tag: v1.7.4-rc0~101 X-Git-Url: https://repo.or.cz/w/git/jnareb-git.git/commitdiff_plain/5acb623b72bde9ec96c48a8bb8f50e61371705ee Merge branch 'en/merge-recursive' * 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 --- 5acb623b72bde9ec96c48a8bb8f50e61371705ee diff --cc t/t6020-merge-df.sh index 5d91d056d2,b129f1dbd5..eec8f4e3ed --- a/t/t6020-merge-df.sh +++ b/t/t6020-merge-df.sh @@@ -6,22 -6,25 +6,25 @@@ 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/t6036-recursive-corner-cases.sh index 004c365ad6,a2e5c5c08f..871577d90c --- a/t/t6036-recursive-corner-cases.sh +++ b/t/t6036-recursive-corner-cases.sh @@@ -14,8 -14,8 +14,8 @@@ test_description='recursive merge corne # 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