summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Sam Hocevar <sam@hocevar.net>2015-12-19 09:39:39 +0000
committerLibravatar Junio C Hamano <gitster@pobox.com>2015-12-21 11:26:36 -0800
commitcbc692425cb8824b603da90929909ee8f4a8e0e0 (patch)
tree1fb5cd6957a9e4e676d694d0383634a08e836b64
parentgit-p4: failing test case for skipping changes with multiple depots (diff)
downloadtgif-cbc692425cb8824b603da90929909ee8f4a8e0e0.tar.xz
git-p4: support multiple depot paths in p4 submit
When submitting from a repository that was cloned using a client spec, use the full list of paths when ruling out files that are outside the view. This fixes a bug where only files pertaining to the first path would be included in the p4 submit. Signed-off-by: Sam Hocevar <sam@hocevar.net> Signed-off-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xgit-p4.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/git-p4.py b/git-p4.py
index 13f124061f..2f10f01d34 100755
--- a/git-p4.py
+++ b/git-p4.py
@@ -1458,6 +1458,8 @@ class P4Submit(Command, P4UserMap):
Remove lines in the Files section that show changes to files
outside the depot path we're committing into."""
+ [upstream, settings] = findUpstreamBranchPoint()
+
template = ""
inFilesSection = False
for line in p4_read_pipe_lines(['change', '-o']):
@@ -1470,8 +1472,13 @@ class P4Submit(Command, P4UserMap):
lastTab = path.rfind("\t")
if lastTab != -1:
path = path[:lastTab]
- if not p4PathStartsWith(path, self.depotPath):
- continue
+ if settings.has_key('depot-paths'):
+ if not [p for p in settings['depot-paths']
+ if p4PathStartsWith(path, p)]:
+ continue
+ else:
+ if not p4PathStartsWith(path, self.depotPath):
+ continue
else:
inFilesSection = False
else: