From: Simon Hausmann Date: Thu, 7 Jun 2007 07:37:13 +0000 (+0200) Subject: Fix common path "calculation" from logs of multiple branches. X-Git-Tag: v1.5.3-rc0~65^2^2~20^2~12 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=583e170706f5d69770d0de220286f8f0f73667f3;p=git.git Fix common path "calculation" from logs of multiple branches. Need to use min instead of max for prev/cur to avoid out-of-bounds string access. Also treat "i" as index of the last match instead of a length because in case of a complete match of the two strings i was off by one. Signed-off-by: Simon Hausmann --- diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4 index e576f2dd9..ba34f0a61 100755 --- a/contrib/fast-import/git-p4 +++ b/contrib/fast-import/git-p4 @@ -1059,11 +1059,12 @@ class P4Sync(Command): else: paths = [] for (prev, cur) in zip(self.previousDepotPaths, depotPaths): - for i in range(0, max(len(cur), len(prev))): + for i in range(0, min(len(cur), len(prev))): if cur[i] <> prev[i]: + i = i - 1 break - paths.append (cur[:i]) + paths.append (cur[:i + 1]) self.previousDepotPaths = paths