chiark / gitweb /
Merge branch 'stable' into stable-master-merge
authorKarl Hasselström <kha@treskal.com>
Sun, 29 Jun 2008 22:47:50 +0000 (00:47 +0200)
committerKarl Hasselström <kha@treskal.com>
Sun, 29 Jun 2008 22:47:50 +0000 (00:47 +0200)
stgit/commands/sink.py
t/t1501-sink.sh [new file with mode: 0755]

index 2167d873ba422e62ca41c5813bc02112e515c6bb..d8f79b4ecf0b67fd0b8e6fd215a541d5b8263b27 100644 (file)
@@ -58,9 +58,13 @@ def func(parser, options, args):
     if len(args) > 0:
         patches = parse_patches(args, all)
     else:
-        patches = [ crt_series.get_current() ]
+        current = crt_series.get_current()
+        if not current:
+            raise CmdException('No patch applied')
+        patches = [current]
 
-    crt_series.pop_patch(options.to or oldapplied[0])
+    if oldapplied:
+        crt_series.pop_patch(options.to or oldapplied[0])
     push_patches(crt_series, patches)
 
     if not options.nopush:
diff --git a/t/t1501-sink.sh b/t/t1501-sink.sh
new file mode 100755 (executable)
index 0000000..6af45fe
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+test_description='Test "stg sink"'
+
+. ./test-lib.sh
+
+test_expect_success 'Initialize StGit stack' '
+    echo 000 >> x &&
+    git add x &&
+    git commit -m initial &&
+    echo 000 >> y &&
+    git add y &&
+    git commit -m y &&
+    stg init &&
+    stg uncommit &&
+    stg pop
+'
+
+test_expect_success 'sink without applied patches' '
+    ! stg sink
+'
+
+test_expect_success 'sink a specific patch without applied patches' '
+    stg sink y &&
+    test $(echo $(stg applied)) = "y"
+'
+
+test_done