summaryrefslogtreecommitdiff
path: root/git-svn.perl
diff options
context:
space:
mode:
authorLibravatar Luke Diamand <luke@diamand.org>2018-10-15 12:14:08 +0100
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-10-16 13:28:49 +0900
commit89143ac28a61578487af7324c653a9efa5e40034 (patch)
tree149cba5b6bfcef8adef542d19814ca433b069b3a /git-svn.perl
parentgit-p4: unshelve into refs/remotes/p4-unshelved, not refs/remotes/p4/unshelved (diff)
downloadtgif-89143ac28a61578487af7324c653a9efa5e40034.tar.xz
git-p4: fully support unshelving changelists
The previous git-p4 unshelve support would check for changes in Perforce to the files being unshelved since the original shelve, and would complain if any were found. This was to ensure that the user wouldn't end up with both the shelved change delta, and some deltas from other changes in their git commit. e.g. given fileA: the quick brown fox change1: s/the/The/ <- p4 shelve this change change2: s/fox/Fox/ <- p4 submit this change git p4 unshelve 1 <- FAIL This change teaches the P4Unshelve class to always create a parent commit which matches the P4 tree (for the files being unshelved) at the point prior to the P4 shelve being created (which is reported in the p4 description for a shelved changelist). That then means git-p4 can always create a git commit matching the P4 shelve that was originally created, without any extra deltas. The user might still need to use the --origin option though - there is no way for git-p4 to work out the versions of all of the other *unchanged* files in the shelve, since this information is not recorded by Perforce. Additionally this fixes handling of shelved 'move' operations. Signed-off-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-svn.perl')
0 files changed, 0 insertions, 0 deletions