mirror of
https://github.com/git/git.git
synced 2024-11-23 18:05:29 +08:00
git-p4: unshelve into refs/remotes/p4-unshelved, not refs/remotes/p4/unshelved
The branch detection code looks for branches under refs/remotes/p4/... and can end up getting confused if there are unshelved changes in there as well. This happens in the function p4BranchesInGit(). Instead, put the unshelved changes into refs/remotes/p4-unshelved/<N>. Signed-off-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
0742b7c860
commit
088131273b
@ -174,7 +174,7 @@ $ git p4 submit --update-shelve 1234 --update-shelve 2345
|
||||
Unshelve
|
||||
~~~~~~~~
|
||||
Unshelving will take a shelved P4 changelist, and produce the equivalent git commit
|
||||
in the branch refs/remotes/p4/unshelved/<changelist>.
|
||||
in the branch refs/remotes/p4-unshelved/<changelist>.
|
||||
|
||||
The git commit is created relative to the current origin revision (HEAD by default).
|
||||
If the shelved changelist's parent revisions differ, git-p4 will refuse to unshelve;
|
||||
@ -182,13 +182,13 @@ you need to be unshelving onto an equivalent tree.
|
||||
|
||||
The origin revision can be changed with the "--origin" option.
|
||||
|
||||
If the target branch in refs/remotes/p4/unshelved already exists, the old one will
|
||||
If the target branch in refs/remotes/p4-unshelved already exists, the old one will
|
||||
be renamed.
|
||||
|
||||
----
|
||||
$ git p4 sync
|
||||
$ git p4 unshelve 12345
|
||||
$ git show refs/remotes/p4/unshelved/12345
|
||||
$ git show p4-unshelved/12345
|
||||
<submit more changes via p4 to the same files>
|
||||
$ git p4 unshelve 12345
|
||||
<refuses to unshelve until git is in sync with p4 again>
|
||||
|
@ -3956,7 +3956,8 @@ class P4Unshelve(Command):
|
||||
]
|
||||
self.verbose = False
|
||||
self.noCommit = False
|
||||
self.destbranch = "refs/remotes/p4/unshelved"
|
||||
self.destbranch = "refs/remotes/p4-unshelved"
|
||||
self.origin = "p4/master"
|
||||
|
||||
def renameBranch(self, branch_name):
|
||||
""" Rename the existing branch to branch_name.N
|
||||
|
@ -54,8 +54,8 @@ EOF
|
||||
cd "$git" &&
|
||||
change=$(last_shelved_change) &&
|
||||
git p4 unshelve $change &&
|
||||
git show refs/remotes/p4/unshelved/$change | grep -q "Further description" &&
|
||||
git cherry-pick refs/remotes/p4/unshelved/$change &&
|
||||
git show refs/remotes/p4-unshelved/$change | grep -q "Further description" &&
|
||||
git cherry-pick refs/remotes/p4-unshelved/$change &&
|
||||
test_path_is_file file2 &&
|
||||
test_cmp file1 "$cli"/file1 &&
|
||||
test_cmp file2 "$cli"/file2 &&
|
||||
@ -88,7 +88,7 @@ EOF
|
||||
cd "$git" &&
|
||||
change=$(last_shelved_change) &&
|
||||
git p4 unshelve $change &&
|
||||
git diff refs/remotes/p4/unshelved/$change.0 refs/remotes/p4/unshelved/$change | grep -q file3
|
||||
git diff refs/remotes/p4-unshelved/$change.0 refs/remotes/p4-unshelved/$change | grep -q file3
|
||||
)
|
||||
'
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user