Re: [PATCH 1/2] git-p4: support multiple depot paths in p4 submit
- From
Lars Schneider <larsxschneider@gmail.com>
- Date
- Dec 6, 2015, 11:56 UTC
- Message-ID
- <F328D5D9-754A-41CC-A7B2-993B9315ED33@gmail.com>
- In-Reply-To
- <20151205112203.GA15745@hocevar.net>
Thanks for the patch! Do you see a way to demonstrate the bug in a test case similar to t9821 [1]?
Cheers, Lars
[1] https://github.com/git/git/blob/master/t/t9821-git-p4-path-variations.sh
Show 43 quoted lines
> On 05 Dec 2015, at 12:22, Sam Hocevar <sam@hocevar.net> wrote:
>
> 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>
> ---
> git-p4.py | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/git-p4.py b/git-p4.py
> index a79b6d8..210f100 100755
> --- a/git-p4.py
> +++ b/git-p4.py
> @@ -1253,6 +1253,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']):
> @@ -1265,8 +1267,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:
> --
> 2.6.2