First (untested) attempt at migrating p4-git-sync into the final git-p4 script
[gitweb.git] / contrib / fast-import / p4-git-sync.py
index 4f020798956ddf0ccf3968fb3f925578acb9b44b..5a3bf90485ddecc28fd9b19b393969a65d35c455 100755 (executable)
@@ -37,9 +37,14 @@ def die(msg):
     sys.stderr.write(msg + "\n")
     sys.exit(1)
 
+def tryGitDir(path):
+    if os.path.exists(path + "/HEAD") and os.path.exists(path + "/refs") and os.path.exists(path + "/objects"):
+        return True;
+    return False
+
 try:
     opts, args = getopt.getopt(sys.argv[1:], "", [ "continue", "git-dir=", "origin=", "reset", "master=",
-                                                   "submit-log-subst=", "log-substitutions=", "interactive",
+                                                   "submit-log-subst=", "log-substitutions=", "noninteractive",
                                                    "dry-run" ])
 except getopt.GetoptError:
     print "fixme, syntax error"
@@ -53,7 +58,7 @@ def die(msg):
 master = ""
 firstTime = True
 reset = False
-interactive = False
+interactive = True
 dryRun = False
 
 for o, a in opts:
@@ -76,8 +81,8 @@ def die(msg):
         for line in open(a, "r").readlines():
             tokens = line[:-1].split("=")
             logSubstitutions[tokens[0]] = tokens[1]
-    elif o == "--interactive":
-        interactive = True
+    elif o == "--noninteractive":
+        interactive = False
     elif o == "--dry-run":
         dryRun = True
 
@@ -86,6 +91,14 @@ def die(msg):
 else:
     os.environ["GIT_DIR"] = gitdir
 
+if not tryGitDir(gitdir):
+    if tryGitDir(gitdir + "/.git"):
+        gitdir += "/.git"
+        os.environ["GIT_DIR"] = gitdir
+    else:
+        die("fatal: %s seems not to be a git repository." % gitdir)
+
+
 configFile = gitdir + "/p4-git-sync.cfg"
 
 origin = "origin"
@@ -276,8 +289,8 @@ def apply(id):
         print "Deleting temporary p4-sync branch and going back to %s" % master
         system("git checkout %s" % master)
         system("git branch -D p4-sync")
-        print "Cleaning out your perforce checkout by doing p4 edit ... ; p4 revert -a ..."
-        system("p4 edit ...")
-        system("p4 revert -a ...")
+        print "Cleaning out your perforce checkout by doing p4 edit ... ; p4 revert ..."
+        system("p4 edit ... >/dev/null")
+        system("p4 revert ... >/dev/null")
     os.remove(configFile)