Merge branch 'stable'
[stgit] / t / t1300-uncommit.sh
CommitLineData
860d288d
CM
1#!/bin/sh
2#
3# Copyright (c) 2006 Catalin Marinas
4#
5
6test_description='Test the uncommit command.
7
8'
9
10. ./test-lib.sh
11
12test_expect_success \
13 'Initialize the StGIT repository' \
14 'stg init
15'
16
17test_expect_success \
18 'Create the first patch' \
19 '
20 stg new foo -m "Foo Patch" &&
21 echo foo > test &&
ea5b7bf3 22 git add test &&
860d288d
CM
23 stg refresh
24 '
25
26test_expect_success \
27 'Create the second patch' \
28 '
29 stg new bar -m "Bar Patch" &&
30 echo bar > test &&
ea5b7bf3 31 git add test &&
860d288d
CM
32 stg refresh
33 '
34
35test_expect_success \
36 'Commit the patches' \
37 '
980bde6a 38 stg commit --all
860d288d
CM
39 '
40
41test_expect_success \
42 'Uncommit the patches using names' \
43 '
44 stg uncommit bar foo &&
89f64744 45 [ "$(stg id foo//top)" = "$(stg id bar//bottom)" ] &&
980bde6a 46 stg commit --all
860d288d
CM
47 '
48
49test_expect_success \
50 'Uncommit the patches using prefix' \
51 '
52 stg uncommit --number=2 foobar &&
89f64744 53 [ "$(stg id foobar1//top)" = "$(stg id foobar2//bottom)" ] &&
980bde6a 54 stg commit --all
860d288d
CM
55 '
56
57test_expect_success \
58 'Uncommit the patches using auto names' \
59 '
60 stg uncommit --number=2 &&
89f64744 61 [ "$(stg id foo-patch//top)" = "$(stg id bar-patch//bottom)" ] &&
980bde6a 62 stg commit --all
860d288d
CM
63 '
64
65test_expect_success \
66 'Uncommit the patches one by one' \
67 '
68 stg uncommit &&
69 stg uncommit &&
89f64744 70 [ "$(stg id foo-patch//top)" = "$(stg id bar-patch//bottom)" ] &&
980bde6a 71 stg commit --all
860d288d 72 '
d2f50b5d
KH
73
74test_expect_success \
75 'Uncommit the patches with --to' '
76 stg uncommit --to HEAD^ &&
77 [ "$(stg id foo-patch//top)" = "$(stg id bar-patch//bottom)" ] &&
980bde6a 78 stg commit --all
d2f50b5d
KH
79'
80
4fe3436b 81test_expect_success 'Uncommit a commit with not precisely one parent' '
b9d9ba14
KH
82 stg uncommit -n 5 ; [ $? = 2 ] &&
83 [ "$(echo $(stg series))" = "" ]
84'
85
860d288d 86test_done