From cbc692425cb8824b603da90929909ee8f4a8e0e0 Mon Sep 17 00:00:00 2001 From: Sam Hocevar Date: Sat, 19 Dec 2015 09:39:39 +0000 Subject: 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 Signed-off-by: Luke Diamand Signed-off-by: Junio C Hamano --- git-p4.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'git-p4.py') 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: -- cgit v1.2.3