1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
|
#!/bin/sh
test_description='Simple test cases for "stg reset"'
. ./test-lib.sh
# Ignore our own output files.
cat >> .git/info/exclude <<EOF
/expected.txt
EOF
test_expect_success 'Initialize StGit stack with three patches' '
stg init &&
echo 000 >> a &&
stg add a &&
git commit -m a &&
echo 111 >> a &&
git commit -a -m p1 &&
echo 222 >> a &&
git commit -a -m p2 &&
echo 333 >> a &&
git commit -a -m p3 &&
stg uncommit -n 3 &&
stg pop
'
cat > expected.txt <<EOF
000
111
EOF
test_expect_success 'Pop one patch ...' '
stg pop &&
test "$(echo $(stg series --all))" = "> p1 - p2 - p3" &&
test_cmp expected.txt a
'
cat > expected.txt <<EOF
000
111
222
EOF
test_expect_success '... and undo it' '
stg reset master.stgit^~1 &&
test "$(echo $(stg series --all))" = "+ p1 > p2 - p3" &&
test_cmp expected.txt a
'
cat > expected.txt <<EOF
000
111
222
333
EOF
test_expect_success 'Push one patch ...' '
stg push &&
test "$(echo $(stg series --all))" = "+ p1 + p2 > p3" &&
test_cmp expected.txt a
'
cat > expected.txt <<EOF
000
111
222
EOF
test_expect_success '... and undo it' '
stg reset master.stgit^~1 &&
test "$(echo $(stg series --all))" = "+ p1 > p2 - p3" &&
test_cmp expected.txt a
'
test_expect_success 'Commit one patch ...' '
stg commit &&
test "$(echo $(stg series --all))" = "> p2 - p3"
'
test_expect_success '... and undo it' '
stg reset master.stgit^~1 &&
test "$(echo $(stg series --all))" = "+ p1 > p2 - p3"
'
test_expect_success 'Hide a patch ...' '
stg hide p3 &&
test "$(echo $(stg series --all))" = "+ p1 > p2 ! p3"
'
test_expect_success '... undo the hiding ...' '
stg reset master.stgit^~1 &&
test "$(echo $(stg series --all))" = "+ p1 > p2 - p3"
'
test_expect_success '... unhide the patch ...' '
stg hide p3 && stg unhide p3 &&
test "$(echo $(stg series --all))" = "+ p1 > p2 - p3"
'
test_expect_success '... and undo the unhiding' '
stg reset master.stgit^~1 &&
test "$(echo $(stg series --all))" = "+ p1 > p2 ! p3" &&
stg unhide p3
'
cat > expected.txt <<EOF
000
111
EOF
test_expect_success 'Delete two patches ...' '
stg delete p2 p3 &&
test "$(echo $(stg series --all))" = "> p1" &&
test_cmp expected.txt a
'
test_expect_success '... and undo one of the deletions ...' '
stg reset master.stgit^~1 p3 &&
test "$(echo $(stg series --all))" = "> p1 - p3" &&
test_cmp expected.txt a
'
test_expect_success '... then undo the first undo ...' '
stg reset master.stgit^~1 &&
test "$(echo $(stg series --all))" = "> p1" &&
test_cmp expected.txt a
'
cat > expected.txt <<EOF
000
111
222
EOF
test_expect_success '... and undo the other deletion' '
stg reset master.stgit^~3 p2 &&
stg push p2 &&
test "$(echo $(stg series --all))" = "+ p1 > p2" &&
test_cmp expected.txt a
'
cat > expected.txt <<EOF
000
111
222
ggg
EOF
test_expect_success 'Refresh a patch ...' '
echo ggg >> a &&
stg refresh &&
test "$(echo $(stg series --all))" = "+ p1 > p2" &&
test_cmp expected.txt a
'
cat > expected.txt <<EOF
000
111
222
EOF
test_expect_success '... and undo the refresh' '
stg reset master.stgit^~2 &&
test "$(echo $(stg series --all))" = "+ p1 > p2" &&
test_cmp expected.txt a
'
test_done
|