-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
merge: loosen overcautious "working file will be lost" check.
The three-way merge complained unconditionally when a path that does not exist in the index is involved in a merge when it existed in the working tree. If we are merging an old version that had that path tracked, but the path is not tracked anymore, and if we are merging that old version in, the result will be that the path is not tracked. In that case we should not complain. Signed-off-by: Junio C Hamano <junkio@cox.net>
- Loading branch information
Junio C Hamano
committed
Oct 28, 2006
1 parent
887a612
commit ed93b44
Showing
3 changed files
with
69 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
#!/bin/sh | ||
|
||
test_description='read-tree -m -u checks working tree files' | ||
|
||
. ./test-lib.sh | ||
|
||
# two-tree test | ||
|
||
test_expect_success 'two-way setup' ' | ||
echo >file1 file one && | ||
echo >file2 file two && | ||
git update-index --add file1 file2 && | ||
git commit -m initial && | ||
git branch side && | ||
git tag -f branch-point && | ||
echo file2 is not tracked on the master anymore && | ||
rm -f file2 && | ||
git update-index --remove file2 && | ||
git commit -a -m "master removes file2" | ||
' | ||
|
||
test_expect_success 'two-way not clobbering' ' | ||
echo >file2 master creates untracked file2 && | ||
if err=`git read-tree -m -u master side 2>&1` | ||
then | ||
echo should have complained | ||
false | ||
else | ||
echo "happy to see $err" | ||
fi | ||
' | ||
|
||
# three-tree test | ||
|
||
test_expect_success 'three-way not complaining' ' | ||
rm -f file2 && | ||
git checkout side && | ||
echo >file3 file three && | ||
git update-index --add file3 && | ||
git commit -a -m "side adds file3" && | ||
git checkout master && | ||
echo >file2 file two is untracked on the master side && | ||
git-read-tree -m -u branch-point master side | ||
' | ||
|
||
test_done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters