git-p4: Ensure the working directory and the index are clean before "git-p4 rebase"
authorSimon Hausmann <simon@lst.de>
Mon, 7 Jan 2008 13:21:45 +0000 (14:21 +0100)
committerSimon Hausmann <simon@lst.de>
Sun, 3 Feb 2008 18:19:16 +0000 (19:19 +0100)
Signed-off-by: Simon Hausmann <simon@lst.de>
contrib/fast-import/git-p4

index a74aabdb280b2d16f2ab25be41f67e4d20adcd47..e5fe5f6d3d5746111cfc19b4cb8787e9518ff013 100755 (executable)
@@ -1611,6 +1611,11 @@ class P4Rebase(Command):
         return self.rebase()
 
     def rebase(self):
+        if os.system("git update-index --refresh") != 0:
+            die("Some files in your working directory are modified and different than what is in your index. You can use git update-index <filename> to bring the index up-to-date or stash away all your changes with git stash.");
+        if len(read_pipe("git diff-index HEAD --")) > 0:
+            die("You have uncommited changes. Please commit them before rebasing or stash them away with git stash.");
+
         [upstream, settings] = findUpstreamBranchPoint()
         if len(upstream) == 0:
             die("Cannot find upstream branchpoint for rebase")