From: Gary Gibbons <ggibbons@xxxxxxxxxxxx> Correct view sorting to support the Perforce order, where client views are ordered and later views override earlier view mappings. [pw: one test now succeeds] Signed-off-by: Gary Gibbons <ggibbons@xxxxxxxxxxxx> Signed-off-by: Pete Wyckoff <pw@xxxxxxxx> --- contrib/fast-import/git-p4 | 11 +++++++++-- t/t9809-git-p4-client-view.sh | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4 index c144c89..2fd4d3b 100755 --- a/contrib/fast-import/git-p4 +++ b/contrib/fast-import/git-p4 @@ -1924,10 +1924,17 @@ class P4Sync(Command, P4UserMap): else: include = len(v) - temp[v] = (include, cv) + # store the View #number for sorting + # and the View string itself (this last for documentation) + temp[v] = (include, cv, int(k[4:]),k) self.clientSpecDirs = temp.items() - self.clientSpecDirs.sort( lambda x, y: abs( y[1][0] ) - abs( x[1][0] ) ) + # Perforce ViewNN with higher #numbers override those with lower + # reverse sort on the View #number + self.clientSpecDirs.sort( lambda x, y: y[1][2] - x[1][2] ) + if self.verbose: + for val in self.clientSpecDirs: + print "clientSpecDirs: %s %s" % (val[0],val[1]) def run(self, args): self.depotPaths = [] diff --git a/t/t9809-git-p4-client-view.sh b/t/t9809-git-p4-client-view.sh index cbf2213..06652cb 100755 --- a/t/t9809-git-p4-client-view.sh +++ b/t/t9809-git-p4-client-view.sh @@ -133,7 +133,7 @@ test_expect_failure 'single file map' ' git_verify $files ' -test_expect_failure 'later mapping takes precedence (entire repo)' ' +test_expect_success 'later mapping takes precedence (entire repo)' ' client_view "//depot/dir1/... //client/cli1/..." \ "//depot/... //client/cli2/..." && files="cli2/dir1/file11 cli2/dir1/file12 -- 1.7.8.1.407.gd70cb -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html