-
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.
git-svn: check_cherry_pick should exclude commits already in our history
The merge-base between @$parents and $merge_tip may have been reached through a merge commit. This means that some commits that are ancestors of @$parents will not be ancestors of $merge_base. The mergeinfo property will not list commits that are ancestors of @$parents, so we need to explicitly exclude them. [ew: squashed and cleaned up test case from Steven] Signed-off-by: Steven Walter <stevenrwalter@gmail.com> Acked-by: Eric Wong <normalperson@yhbt.net>
- Loading branch information
Steven Walter
authored and
Eric Wong
committed
Sep 24, 2010
1 parent
c9be27f
commit a3c7505
Showing
2 changed files
with
53 additions
and
1 deletion.
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,50 @@ | ||
#!/bin/sh | ||
# | ||
# Copyright (c) 2010 Steven Walter | ||
# | ||
|
||
test_description='git svn merge detection' | ||
. ./lib-git-svn.sh | ||
|
||
test_expect_success 'initialize source svn repo' ' | ||
svn_cmd mkdir -m x "$svnrepo"/trunk && | ||
svn_cmd mkdir -m x "$svnrepo"/branches && | ||
svn_cmd co "$svnrepo"/trunk "$SVN_TREE" && | ||
( | ||
cd "$SVN_TREE" && | ||
touch foo && | ||
svn add foo && | ||
svn commit -m "initial commit" && | ||
svn cp -m branch "$svnrepo"/trunk "$svnrepo"/branches/branch1 && | ||
touch bar && | ||
svn add bar && | ||
svn commit -m x && | ||
svn cp -m branch "$svnrepo"/trunk "$svnrepo"/branches/branch2 && | ||
svn switch "$svnrepo"/branches/branch1 && | ||
touch baz && | ||
svn add baz && | ||
svn commit -m x && | ||
svn switch "$svnrepo"/trunk && | ||
svn merge "$svnrepo"/branches/branch1 && | ||
svn commit -m "merge" && | ||
svn switch "$svnrepo"/branches/branch1 && | ||
svn commit -m x && | ||
svn switch "$svnrepo"/branches/branch2 && | ||
svn merge "$svnrepo"/branches/branch1 && | ||
svn commit -m "merge branch1" && | ||
svn switch "$svnrepo"/trunk && | ||
svn merge "$svnrepo"/branches/branch2 && | ||
svn resolved baz && | ||
svn commit -m "merge branch2" | ||
) && | ||
rm -rf "$SVN_TREE" | ||
' | ||
|
||
test_expect_success 'clone svn repo' ' | ||
git svn init -s "$svnrepo" && | ||
git svn fetch | ||
' | ||
|
||
test_expect_success 'verify merge commit' 'git rev-parse HEAD^2' | ||
|
||
test_done |