diff --git a/tests/test-status b/tests/test-status new file mode 100755 --- /dev/null +++ b/tests/test-status @@ -0,0 +1,34 @@ +#!/bin/sh + +hg init repo1 +cd repo1 +mkdir a b a/1 b/1 b/2 +touch in_root a/in_a b/in_b a/1/in_a_1 b/1/in_b_1 b/2/in_b_2 +echo "hg status in repo root:" +hg status +echo "hg status . in repo root:" +hg status . +for dir in a b a/1 b/1 b/2; do + echo "hg status in $dir:" + hg status --cwd "$dir" + echo "hg status . in $dir:" + hg status --cwd "$dir" . + echo "hg status .. in $dir:" + hg status --cwd "$dir" .. +done +cd .. + +hg init repo2 +cd repo2 +touch modified removed deleted ignored +echo "ignored" > .hgignore +hg ci -A -m 'initial checkin' -d "0 0" +sleep 1 # make sure mtime is changed +touch modified added unknown ignored +hg add added +hg remove removed +rm deleted +echo "hg status:" +hg status +echo "hg status modified added removed deleted unknown never-existed ignored:" +hg status modified added removed deleted unknown never-existed ignored diff --git a/tests/test-status.out b/tests/test-status.out new file mode 100644 --- /dev/null +++ b/tests/test-status.out @@ -0,0 +1,103 @@ +hg status in repo root: +? a/1/in_a_1 +? a/in_a +? b/1/in_b_1 +? b/2/in_b_2 +? b/in_b +? in_root +hg status . in repo root: +? a/1/in_a_1 +? a/in_a +? b/1/in_b_1 +? b/2/in_b_2 +? b/in_b +? in_root +hg status in a: +? a/1/in_a_1 +? a/in_a +? b/1/in_b_1 +? b/2/in_b_2 +? b/in_b +? in_root +hg status . in a: +? 1/in_a_1 +? in_a +hg status .. in a: +? 1/in_a_1 +? in_a +? ../b/1/in_b_1 +? ../b/2/in_b_2 +? ../b/in_b +? ../in_root +hg status in b: +? a/1/in_a_1 +? a/in_a +? b/1/in_b_1 +? b/2/in_b_2 +? b/in_b +? in_root +hg status . in b: +? 1/in_b_1 +? 2/in_b_2 +? in_b +hg status .. in b: +? ../a/1/in_a_1 +? ../a/in_a +? 1/in_b_1 +? 2/in_b_2 +? in_b +? ../in_root +hg status in a/1: +? a/1/in_a_1 +? a/in_a +? b/1/in_b_1 +? b/2/in_b_2 +? b/in_b +? in_root +hg status . in a/1: +? in_a_1 +hg status .. in a/1: +? in_a_1 +? ../in_a +hg status in b/1: +? a/1/in_a_1 +? a/in_a +? b/1/in_b_1 +? b/2/in_b_2 +? b/in_b +? in_root +hg status . in b/1: +? in_b_1 +hg status .. in b/1: +? in_b_1 +? ../2/in_b_2 +? ../in_b +hg status in b/2: +? a/1/in_a_1 +? a/in_a +? b/1/in_b_1 +? b/2/in_b_2 +? b/in_b +? in_root +hg status . in b/2: +? in_b_2 +hg status .. in b/2: +? ../1/in_b_1 +? in_b_2 +? ../in_b +adding .hgignore +adding deleted +adding modified +adding removed +hg status: +A added +R removed +! deleted +? unknown +hg status modified added removed deleted unknown never-existed ignored: +never-existed: No such file or directory +A added +R removed +! deleted +? ignored +? unknown