Don't attempt to set the initialParent on multi-branch imports (useless).
[gitweb.git] / contrib / fast-import / git-p4
index 294c2ecfcaeb2feab7822d1f7a6d3a20416a4910..ff737d762cdddcbe80828e725911ab88c62bf48d 100755 (executable)
@@ -153,7 +153,10 @@ def extractSettingsGitLog(log):
 
             values[key] = val
 
-    values['depot-paths'] = values.get("depot-paths").split(',')
+    paths = values.get("depot-paths")
+    if not paths:
+        paths = values.get("depot-path")
+    values['depot-paths'] = paths.split(',')
     return values
 
 def gitBranchExists(branch):
@@ -697,7 +700,8 @@ class P4Sync(Command):
             stat = filedata[j]
             j += 1
             text = ''
-            while j < len(filedata) and filedata[j]['code'] == 'text':
+            while j < len(filedata) and filedata[j]['code'] in ('text',
+                                                                'binary'):
                 text += filedata[j]['data']
                 j += 1
 
@@ -773,7 +777,7 @@ class P4Sync(Command):
                 if self.isWindows and file["type"].endswith("text"):
                     data = data.replace("\r\n", "\n")
 
-                self.gitStream.write("M %s inline %s\n" % (mode, relPath))
+                self.gitStream.write("M %d inline %s\n" % (mode, relPath))
                 self.gitStream.write("data %s\n" % len(data))
                 self.gitStream.write(data)
                 self.gitStream.write("\n")
@@ -1055,18 +1059,20 @@ 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
 
             if p4Change > 0:
                 self.depotPaths = sorted(self.previousDepotPaths)
                 self.changeRange = "@%s,#head" % p4Change
-                self.initialParent = parseRevision(self.branch)
+                if not self.detectBranches:
+                    self.initialParent = parseRevision(self.branch)
                 if not self.silent and not self.detectBranches:
                     print "Performing incremental import into %s git branch" % self.branch