Updates for previous patch according to feedback from Pete Wyckoff (and
some help from Junio). I also tried to find more improvement
opportunities and included an extra small patch with two small fixes.
Please review and provide feedback.
Kind regards.
Vitor Antunes (3):
git-p4: Test changelists touching two branches
git-p4: Verify detection of "empty" branch creation
git-p4: Clean up branch test cases
t/t9801-git-p4-branch.sh | 110 ++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 107 insertions(+), 3 deletions(-)
--
1.7.7.rc2.14.g5e044.dirty
Correct submit description in one test and remove not required commands
from another.
Signed-off-by: Vitor Antunes <redacted>
---
t/t9801-git-p4-branch.sh | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
Current implementation of new branch parent detection works on the
principle that the new branch is a complete integration, with no
changes, of the original files.
This test shows this deficiency in the particular case when the new
branch is created from a subset of the original files.
Signed-off-by: Vitor Antunes <redacted>
---
t/t9801-git-p4-branch.sh | 54 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 54 insertions(+), 0 deletions(-)
@@ -358,6 +358,60 @@ test_expect_success 'git p4 sync changes to two branches in the same changelist')'+# Create a branch by integrating a single file+test_expect_success'git p4 file subset branch''+(+cd"$cli"&&+p4integrate//depot/branch1/file1//depot/branch6/file1&&+p4submit-d"Integrate file1 alone from branch1 to branch6"+)+'++# Check if git p4 creates a new branch containing a single file,+# instead of keeping the old files from the original branch+test_expect_failure'git p4 clone file subset branch''+test_when_finishedcleanup_git&&+test_create_repo"$git"&&+(+cd"$git"&&+gitconfiggit-p4.branchListbranch1:branch2&&+gitconfig--addgit-p4.branchListbranch1:branch3&&+gitconfig--addgit-p4.branchListbranch1:branch4&&+gitconfig--addgit-p4.branchListbranch1:branch5&&+gitconfig--addgit-p4.branchListbranch1:branch6&&+gitp4clone--dest=.--detect-branches//depot@all&&+gitlog--all--graph--decorate--stat&&+gitreset--hardp4/depot/branch1&&+test_path_is_filefile1&&+test_path_is_filefile2&&+test_path_is_filefile3&&+grepupdatefile2&&+gitreset--hardp4/depot/branch2&&+test_path_is_filefile1&&+test_path_is_filefile2&&+test_path_is_missingfile3&&+!grepupdatefile2&&+gitreset--hardp4/depot/branch3&&+test_path_is_filefile1&&+test_path_is_filefile2&&+test_path_is_missingfile3&&+grepupdatefile2&&+gitreset--hardp4/depot/branch4&&+test_path_is_filefile1&&+test_path_is_filefile2&&+test_path_is_filefile3&&+!grepupdatefile2&&+gitreset--hardp4/depot/branch5&&+test_path_is_filefile1&&+test_path_is_filefile2&&+test_path_is_filefile3&&+!grepupdatefile2&&+gitreset--hardp4/depot/branch6&&+test_path_is_filefile1&&+test_path_is_missingfile2&&+test_path_is_missingfile3+)+' test_expect_success'kill p4d''kill_p4d'
It is possible to modify two different branches in P4 in a single
changelist. git-p4 correctly detects this and commits the relevant
changes to the different branches separately. This test proves that and
avoid future regressions in this behavior.
Signed-off-by: Vitor Antunes <redacted>
---
t/t9801-git-p4-branch.sh | 52 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 52 insertions(+), 0 deletions(-)
@@ -306,6 +306,58 @@ test_expect_success 'git p4 clone complex branches' ')'+# Move branch3/file3 to branch4/file3 in a single changelist+test_expect_success'git p4 submit to two branches in a single changelist''+(+cd"$cli"&&+p4integrate//depot/branch3/file3//depot/branch4/file3&&+p4delete//depot/branch3/file3&&+p4submit-d"Move branch3/file3 to branch4/file3"+)+'++# Confirm that changes to two branches done in a single changelist+# are correctly imported by git p4+test_expect_success'git p4 sync changes to two branches in the same changelist''+test_when_finishedcleanup_git&&+test_create_repo"$git"&&+(+cd"$git"&&+gitconfiggit-p4.branchListbranch1:branch2&&+gitconfig--addgit-p4.branchListbranch1:branch3&&+gitconfig--addgit-p4.branchListbranch1:branch4&&+gitconfig--addgit-p4.branchListbranch1:branch5&&+gitp4clone--dest=.--detect-branches//depot@all&&+gitlog--all--graph--decorate--stat&&+gitreset--hardp4/depot/branch1&&+test_path_is_filefile1&&+test_path_is_filefile2&&+test_path_is_filefile3&&+grepupdatefile2&&+gitreset--hardp4/depot/branch2&&+test_path_is_filefile1&&+test_path_is_filefile2&&+test_path_is_missingfile3&&+!grepupdatefile2&&+gitreset--hardp4/depot/branch3&&+test_path_is_filefile1&&+test_path_is_filefile2&&+test_path_is_missingfile3&&+grepupdatefile2&&+gitreset--hardp4/depot/branch4&&+test_path_is_filefile1&&+test_path_is_filefile2&&+test_path_is_filefile3&&+!grepupdatefile2&&+gitreset--hardp4/depot/branch5&&+test_path_is_filefile1&&+test_path_is_filefile2&&+test_path_is_filefile3&&+!grepupdatefile2&&+test_path_is_missing.git/git-p4-tmp+)+'+ test_expect_success'kill p4d''kill_p4d'
From: Pete Wyckoff <hidden> Date: 2016-06-15 22:53:55
vitor.hda@gmail.com wrote on Sat, 26 May 2012 10:56 +0100:
Updates for previous patch according to feedback from Pete Wyckoff (and
some help from Junio). I also tried to find more improvement
opportunities and included an extra small patch with two small fixes.
Please review and provide feedback.
These all look great to me, including the new fixes.
Acked-by: Pete Wyckoff <redacted>
-- Pete