EOF
test_expect_success 'Run status on empty' '
stg status > output.txt &&
- diff -u expected.txt output.txt
+ test_cmp expected.txt output.txt
'
cat > expected.txt <<EOF
test_expect_success 'Status with an untracked file' '
touch foo &&
stg status > output.txt &&
- diff -u expected.txt output.txt
+ test_cmp expected.txt output.txt
'
rm -f foo
test_expect_success 'Status with an empty directory' '
mkdir foo &&
stg status > output.txt &&
- diff -u expected.txt output.txt
+ test_cmp expected.txt output.txt
'
cat > expected.txt <<EOF
test_expect_success 'Status with an untracked file in a subdir' '
touch foo/bar &&
stg status > output.txt &&
- diff -u expected.txt output.txt
+ test_cmp expected.txt output.txt
'
cat > expected.txt <<EOF
test_expect_success 'Status with an added file' '
git add foo &&
stg status > output.txt &&
- diff -u expected.txt output.txt
+ test_cmp expected.txt output.txt
'
cat > expected.txt <<EOF
EOF
test_expect_success 'Status with an added file and -n option' '
stg status -n > output.txt &&
- diff -u expected.txt output.txt
+ test_cmp expected.txt output.txt
'
cat > expected.txt <<EOF
stg new -m "first patch" &&
stg refresh &&
stg status > output.txt &&
- diff -u expected.txt output.txt
+ test_cmp expected.txt output.txt
'
cat > expected.txt <<EOF
test_expect_success 'Status after modification' '
echo "wee" >> foo/bar &&
stg status > output.txt &&
- diff -u expected.txt output.txt
+ test_cmp expected.txt output.txt
'
cat > expected.txt <<EOF
test_expect_success 'Status after refresh' '
stg new -m "second patch" && stg refresh &&
stg status > output.txt &&
- diff -u expected.txt output.txt
+ test_cmp expected.txt output.txt
'
test_expect_success 'Add another file' '
'
cat > expected.txt <<EOF
-? foo/bar.ancestor
-? foo/bar.current
-? foo/bar.patched
A fie
C foo/bar
EOF
test_expect_success 'Status after conflicting push' '
- ! stg push &&
+ conflict stg push &&
stg status > output.txt &&
- diff -u expected.txt output.txt
+ test_cmp expected.txt output.txt
'
cat > expected.txt <<EOF
EOF
test_expect_success 'Status of file' '
stg status foo/bar > output.txt &&
- diff -u expected.txt output.txt
+ test_cmp expected.txt output.txt
'
cat > expected.txt <<EOF
EOF
test_expect_success 'Status of dir' '
stg status foo > output.txt &&
- diff -u expected.txt output.txt
+ test_cmp expected.txt output.txt
'
cat > expected.txt <<EOF
EOF
test_expect_success 'Status of other file' '
stg status fie > output.txt &&
- diff -u expected.txt output.txt
+ test_cmp expected.txt output.txt
'
cat > expected.txt <<EOF
M foo/bar
EOF
test_expect_success 'Status after resolving the push' '
- stg resolved -a &&
+ git add --update &&
stg status > output.txt &&
- diff -u expected.txt output.txt
+ test_cmp expected.txt output.txt
'
cat > expected.txt <<EOF
test_expect_success 'Status after deleting a file' '
rm foo/bar &&
stg status > output.txt &&
- diff -u expected.txt output.txt
+ test_cmp expected.txt output.txt
'
cat > expected.txt <<EOF
git add foo/bar &&
rm foo/bar &&
stg status > output.txt &&
- diff -u expected.txt output.txt
+ test_cmp expected.txt output.txt
+'
+
+cat > expected.txt <<EOF
+A fay
+D fie
+EOF
+test_expect_success 'Status after renaming a file' '
+ git rm foo/bar &&
+ git mv fie fay &&
+ stg status > output.txt &&
+ test_cmp expected.txt output.txt
+'
+
+test_expect_success 'Status after renaming a file (with rename detection)' '
+ git config stgit.diff-opts -M &&
+ stg status > output.txt &&
+ test_cmp expected.txt output.txt
'
test_done