# HG changeset patch
# User Adrian Buehlmann <adrian@cadifra.com>
# Date 2010-09-03 21:34:37
# Node ID ee41be2bbf5afd310f038ef63365ea045c6b9b32
# Parent  9e40ea08c2abb6fac1dcdcdecbe35f656b01c939

tests: unify test-issue*

diff --git a/tests/test-issue1089.out b/tests/test-issue1089.out
deleted file mode 100644
--- a/tests/test-issue1089.out
+++ /dev/null
@@ -1,4 +0,0 @@
-adding a/b
-removing a/b
-adding a/b
-removing a/b
diff --git a/tests/test-issue1089 b/tests/test-issue1089.t
old mode 100755
new mode 100644
rename from tests/test-issue1089
rename to tests/test-issue1089.t
--- a/tests/test-issue1089
+++ b/tests/test-issue1089.t
@@ -1,17 +1,25 @@
-#!/bin/sh
+# http://mercurial.selenic.com/bts/issue1089
+
+  $ hg init
+  $ mkdir a
+  $ echo a > a/b
+  $ hg ci -Am m
+  adding a/b
+
+  $ hg rm a
+  removing a/b
+  $ hg ci -m m a
 
-hg init a
-cd a
-mkdir a
-echo a > a/b
-hg ci -Am m
-hg rm a
-hg ci -m m a
+  $ mkdir a b
+  $ echo a > a/b
+  $ hg ci -Am m
+  adding a/b
 
-mkdir a b
-echo a > a/b
-hg ci -Am m
-hg rm a
-cd b
-# relative delete
-hg ci -m m ../a
+  $ hg rm a
+  removing a/b
+  $ cd b
+
+Relative delete:
+
+  $ hg ci -m m ../a
+
diff --git a/tests/test-issue1175.out b/tests/test-issue1175.out
deleted file mode 100644
--- a/tests/test-issue1175.out
+++ /dev/null
@@ -1,25 +0,0 @@
-adding a
-1 files updated, 0 files merged, 1 files removed, 0 files unresolved
-warning: detected divergent renames of a to:
- a2
- a1
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-adding a
-b
- b: searching for copy revision for a
- b: copy a:b80de5d138758541c5f05265ad144ab9fa86d1db
-committed changeset 5:89e8e4be0de296fa3d6dd7825ccc44d7dc0f1f3b
-checking changesets
-checking manifests
-crosschecking files in changesets and manifests
-checking files
-4 files, 6 changesets, 4 total revisions
-# HG changeset patch
-# User test
-# Date 0 0
-# Node ID 89e8e4be0de296fa3d6dd7825ccc44d7dc0f1f3b
-# Parent  7fc86ba705e717a721dbc361bf8c9bc05a18ca2f
-5
-
-diff --git a/b b/b
-new file mode 100644
diff --git a/tests/test-issue1175 b/tests/test-issue1175.t
old mode 100755
new mode 100644
rename from tests/test-issue1175
rename to tests/test-issue1175.t
--- a/tests/test-issue1175
+++ b/tests/test-issue1175.t
@@ -1,20 +1,53 @@
-#!/bin/sh
-rm -rf a
-hg init a
-cd a
-touch a
-hg ci -Am0
-hg mv a a1
-hg ci -m1
-hg co 0
-hg mv a a2
-hg up
-hg ci -m2
+# http://mercurial.selenic.com/bts/issue1175
+
+  $ hg init
+  $ touch a
+  $ hg ci -Am0
+  adding a
+
+  $ hg mv a a1
+  $ hg ci -m1
+
+  $ hg co 0
+  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+
+  $ hg mv a a2
+  $ hg up
+  warning: detected divergent renames of a to:
+   a2
+   a1
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+  $ hg ci -m2
+
+  $ touch a
+  $ hg ci -Am3
+  adding a
 
-touch a
-hg ci -Am3
-hg mv a b
-hg ci -Am4 a
-hg ci --debug --traceback -Am5 b
-hg verify
-hg export --git tip
+  $ hg mv a b
+  $ hg ci -Am4 a
+
+  $ hg ci --debug --traceback -Am5 b
+  b
+   b: searching for copy revision for a
+   b: copy a:b80de5d138758541c5f05265ad144ab9fa86d1db
+  committed changeset 5:89e8e4be0de296fa3d6dd7825ccc44d7dc0f1f3b
+
+  $ hg verify
+  checking changesets
+  checking manifests
+  crosschecking files in changesets and manifests
+  checking files
+  4 files, 6 changesets, 4 total revisions
+
+  $ hg export --git tip
+  # HG changeset patch
+  # User test
+  # Date 0 0
+  # Node ID 89e8e4be0de296fa3d6dd7825ccc44d7dc0f1f3b
+  # Parent  7fc86ba705e717a721dbc361bf8c9bc05a18ca2f
+  5
+  
+  diff --git a/b b/b
+  new file mode 100644
+
diff --git a/tests/test-issue1306.out b/tests/test-issue1306.out
deleted file mode 100644
--- a/tests/test-issue1306.out
+++ /dev/null
@@ -1,64 +0,0 @@
-% initialize remote repo with branches
-adding a
-marked working directory as branch br
-adding c
-changeset:   2:1630aed6ed2b
-branch:      br
-tag:         tip
-user:        test
-date:        Thu Jan 01 00:00:00 1970 +0000
-summary:     c
-
-changeset:   1:234f53e6c5ff
-branch:      br
-user:        test
-date:        Thu Jan 01 00:00:00 1970 +0000
-summary:     b
-
-changeset:   0:cb9a9f314b8b
-user:        test
-date:        Thu Jan 01 00:00:00 1970 +0000
-summary:     a
-
-% try cloning -r branch
-requesting all changes
-adding changesets
-adding manifests
-adding file changes
-added 3 changesets with 2 changes to 2 files
-updating to branch br
-2 files updated, 0 files merged, 0 files removed, 0 files unresolved
-changeset:   2:1630aed6ed2b
-branch:      br
-tag:         tip
-user:        test
-date:        Thu Jan 01 00:00:00 1970 +0000
-summary:     c
-
-% try cloning -rother clone#branch
-requesting all changes
-adding changesets
-adding manifests
-adding file changes
-added 3 changesets with 2 changes to 2 files
-updating to branch default
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-changeset:   0:cb9a9f314b8b
-user:        test
-date:        Thu Jan 01 00:00:00 1970 +0000
-summary:     a
-
-% try cloning -r1 clone#branch
-requesting all changes
-adding changesets
-adding manifests
-adding file changes
-added 3 changesets with 2 changes to 2 files
-updating to branch br
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-changeset:   1:234f53e6c5ff
-branch:      br
-user:        test
-date:        Thu Jan 01 00:00:00 1970 +0000
-summary:     b
-
diff --git a/tests/test-issue1306 b/tests/test-issue1306.t
old mode 100755
new mode 100644
rename from tests/test-issue1306
rename to tests/test-issue1306.t
--- a/tests/test-issue1306
+++ b/tests/test-issue1306.t
@@ -1,25 +1,98 @@
-#!/bin/sh
+# http://mercurial.selenic.com/bts/issue1306
+
+Initialize remote repo with branches:
+
+  $ hg init remote
+  $ cd remote
+
+  $ echo a > a
+  $ hg ci -Ama
+  adding a
+
+  $ hg branch br
+  marked working directory as branch br
+  $ hg ci -Amb
+
+  $ echo c > c
+  $ hg ci -Amc
+  adding c
 
-echo % initialize remote repo with branches
-hg init remote
-cd remote
-echo a > a
-hg ci -Ama
-hg branch br
-hg ci -Amb
-echo c > c
-hg ci -Amc
-hg log
+  $ hg log
+  changeset:   2:1630aed6ed2b
+  branch:      br
+  tag:         tip
+  user:        test
+  date:        Thu Jan 01 00:00:00 1970 +0000
+  summary:     c
+  
+  changeset:   1:234f53e6c5ff
+  branch:      br
+  user:        test
+  date:        Thu Jan 01 00:00:00 1970 +0000
+  summary:     b
+  
+  changeset:   0:cb9a9f314b8b
+  user:        test
+  date:        Thu Jan 01 00:00:00 1970 +0000
+  summary:     a
+  
+
+  $ cd ..
+
+Try cloning -r branch:
 
-cd ..
-echo % try cloning -r branch
-hg clone -rbr remote local1
-hg -R local1 parents
+  $ hg clone -rbr remote local1
+  requesting all changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 3 changesets with 2 changes to 2 files
+  updating to branch br
+  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+  $ hg -R local1 parents
+  changeset:   2:1630aed6ed2b
+  branch:      br
+  tag:         tip
+  user:        test
+  date:        Thu Jan 01 00:00:00 1970 +0000
+  summary:     c
+  
+
+Try cloning -rother clone#branch:
 
-echo % try cloning -rother clone#branch
-hg clone -r0 remote#br local2
-hg -R local2 parents
+  $ hg clone -r0 remote#br local2
+  requesting all changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 3 changesets with 2 changes to 2 files
+  updating to branch default
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+  $ hg -R local2 parents
+  changeset:   0:cb9a9f314b8b
+  user:        test
+  date:        Thu Jan 01 00:00:00 1970 +0000
+  summary:     a
+  
+
+Try cloning -r1 clone#branch:
 
-echo % try cloning -r1 clone#branch
-hg clone -r1 remote#br local3
-hg -R local3 parents
+  $ hg clone -r1 remote#br local3
+  requesting all changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 3 changesets with 2 changes to 2 files
+  updating to branch br
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+  $ hg -R local3 parents
+  changeset:   1:234f53e6c5ff
+  branch:      br
+  user:        test
+  date:        Thu Jan 01 00:00:00 1970 +0000
+  summary:     b
+  
+
diff --git a/tests/test-issue322.out b/tests/test-issue322.out
deleted file mode 100644
--- a/tests/test-issue322.out
+++ /dev/null
@@ -1,12 +0,0 @@
-% file replaced with directory
-adding a
-% should fail - would corrupt dirstate
-abort: file 'a' in dirstate clashes with 'a/a'
-% directory replaced with file
-adding a/a
-% should fail - would corrupt dirstate
-abort: directory 'a' already in dirstate
-% directory replaced with file
-adding b/c/d
-% should fail - would corrupt dirstate
-abort: directory 'b' already in dirstate
diff --git a/tests/test-issue322 b/tests/test-issue322.t
old mode 100755
new mode 100644
rename from tests/test-issue322
rename to tests/test-issue322.t
--- a/tests/test-issue322
+++ b/tests/test-issue322.t
@@ -1,49 +1,58 @@
-#!/bin/sh
 # http://mercurial.selenic.com/bts/issue322
 
-echo % file replaced with directory
+File replaced with directory:
 
-hg init a
-cd a
-echo a > a
-hg commit -Ama
-rm a
-mkdir a
-echo a > a/a
+  $ hg init a
+  $ cd a
+  $ echo a > a
+  $ hg commit -Ama
+  adding a
+  $ rm a
+  $ mkdir a
+  $ echo a > a/a
+
+Should fail - would corrupt dirstate:
 
-echo % should fail - would corrupt dirstate
-hg add a/a
+  $ hg add a/a
+  abort: file 'a' in dirstate clashes with 'a/a'
 
-cd ..
+  $ cd ..
+
+Directory replaced with file:
 
-echo % directory replaced with file
-
-hg init c
-cd c
-mkdir a
-echo a > a/a
-hg commit -Ama
+  $ hg init c
+  $ cd c
+  $ mkdir a
+  $ echo a > a/a
+  $ hg commit -Ama
+  adding a/a
 
-rm -r a
-echo a > a
+  $ rm -r a
+  $ echo a > a
+
+Should fail - would corrupt dirstate:
 
-echo % should fail - would corrupt dirstate
-hg add a
+  $ hg add a
+  abort: directory 'a' already in dirstate
 
-cd ..
+  $ cd ..
 
-echo % directory replaced with file
+Directory replaced with file:
 
-hg init d
-cd d
-mkdir b
-mkdir b/c
-echo a > b/c/d
-hg commit -Ama
-rm -r b
-echo a > b
+  $ hg init d
+  $ cd d
+  $ mkdir b
+  $ mkdir b/c
+  $ echo a > b/c/d
+  $ hg commit -Ama
+  adding b/c/d
+  $ rm -r b
+  $ echo a > b
 
-echo % should fail - would corrupt dirstate
-hg add b
+Should fail - would corrupt dirstate:
 
-exit 0
+  $ hg add b
+  abort: directory 'b' already in dirstate
+
+  $ exit 0
+
diff --git a/tests/test-issue433.out b/tests/test-issue433.out
deleted file mode 100644
--- a/tests/test-issue433.out
+++ /dev/null
@@ -1,2 +0,0 @@
-adding a
-abort: 'doesnotexist' not found in manifest!
diff --git a/tests/test-issue433 b/tests/test-issue433.t
old mode 100755
new mode 100644
rename from tests/test-issue433
rename to tests/test-issue433.t
--- a/tests/test-issue433
+++ b/tests/test-issue433.t
@@ -1,10 +1,12 @@
-#!/bin/sh
 # http://mercurial.selenic.com/bts/issue433
 
-hg init a
-cd a
-echo a > a
-hg commit -Ama
+  $ hg init
+  $ echo a > a
+  $ hg commit -Ama
+  adding a
 
-hg parents -r 0 doesnotexist
-true
+  $ hg parents -r 0 doesnotexist
+  abort: 'doesnotexist' not found in manifest!
+
+  $ true
+
diff --git a/tests/test-issue436 b/tests/test-issue436.t
old mode 100755
new mode 100644
rename from tests/test-issue436
rename to tests/test-issue436.t
--- a/tests/test-issue436
+++ b/tests/test-issue436.t
@@ -1,7 +1,6 @@
-#!/bin/sh
+# http://mercurial.selenic.com/bts/issue436
 
-hg init a
-cd a
-hg -v log -v
-hg -v log -v x
-true
+  $ hg init
+  $ hg -v log -v
+  $ hg -v log -v x
+
diff --git a/tests/test-issue522.out b/tests/test-issue522.out
deleted file mode 100644
--- a/tests/test-issue522.out
+++ /dev/null
@@ -1,21 +0,0 @@
-reverting foo
-changeset 2:4d9e78aaceee backs out changeset 1:b515023e500e
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  searching for copies back to rev 1
-  unmatched files in local:
-   bar
-resolving manifests
- overwrite None partial False
- ancestor bbd179dfa0a7 local 71766447bdbb+ remote 4d9e78aaceee
- foo: remote is newer -> g
-updating: foo 1/1 files (100.00%)
-getting foo
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-(branch merge, don't forget to commit)
-n   0         -2 unset               foo
-M foo
-c6fc755d7e68f49f880599da29f15add41f42f5a 644   foo
-   rev    offset  length   base linkrev nodeid       p1           p2
-     0         0       5      0       0 2ed2a3912a0b 000000000000 000000000000
-     1         5       9      1       1 6f4310b00b9a 2ed2a3912a0b 000000000000
-     2        14       5      2       2 c6fc755d7e68 6f4310b00b9a 000000000000
diff --git a/tests/test-issue522 b/tests/test-issue522.t
old mode 100755
new mode 100644
rename from tests/test-issue522
rename to tests/test-issue522.t
--- a/tests/test-issue522
+++ b/tests/test-issue522.t
@@ -1,4 +1,4 @@
-#!/bin/sh
+# http://mercurial.selenic.com/bts/issue522
 
 # In the merge below, the file "foo" has the same contents in both
 # parents, but if we look at the file-level history, we'll notice that
@@ -6,26 +6,51 @@
 # makes sure that we'll use the version from p2 in the manifest of the
 # merge revision.
 
-hg init repo
-cd repo
+  $ hg init
+
+  $ echo foo > foo
+  $ hg ci -qAm 'add foo'
+
+  $ echo bar >> foo
+  $ hg ci -m 'change foo'
 
-echo foo > foo
-hg ci -qAm 'add foo'
+  $ hg backout -r tip -m 'backout changed foo'
+  reverting foo
+  changeset 2:4d9e78aaceee backs out changeset 1:b515023e500e
 
-echo bar >> foo
-hg ci -m 'change foo'
+  $ hg up -C 0
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
-hg backout -r tip -m 'backout changed foo'
+  $ touch bar
+  $ hg ci -qAm 'add bar'
 
-hg up -C 0
-touch bar
-hg ci -qAm 'add bar'
+  $ hg merge --debug
+    searching for copies back to rev 1
+    unmatched files in local:
+     bar
+  resolving manifests
+   overwrite None partial False
+   ancestor bbd179dfa0a7 local 71766447bdbb+ remote 4d9e78aaceee
+   foo: remote is newer -> g
+  updating: foo 1/1 files (100.00%)
+  getting foo
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
 
-hg merge --debug
-hg debugstate | grep foo
-hg st -A foo
-hg ci -m 'merge'
+  $ hg debugstate | grep foo
+  n   0         -2 unset               foo
+
+  $ hg st -A foo
+  M foo
+
+  $ hg ci -m 'merge'
 
-hg manifest --debug | grep foo
-hg debugindex .hg/store/data/foo.i
+  $ hg manifest --debug | grep foo
+  c6fc755d7e68f49f880599da29f15add41f42f5a 644   foo
 
+  $ hg debugindex .hg/store/data/foo.i
+     rev    offset  length   base linkrev nodeid       p1           p2
+       0         0       5      0       0 2ed2a3912a0b 000000000000 000000000000
+       1         5       9      1       1 6f4310b00b9a 2ed2a3912a0b 000000000000
+       2        14       5      2       2 c6fc755d7e68 6f4310b00b9a 000000000000
+
diff --git a/tests/test-issue612.out b/tests/test-issue612.out
deleted file mode 100644
--- a/tests/test-issue612.out
+++ /dev/null
@@ -1,11 +0,0 @@
-adding src/a.c
-moving src/a.c to source/a.c
-1 files updated, 0 files merged, 1 files removed, 0 files unresolved
-created new head
-? src/a.o
-merging src/a.c and source/a.c to source/a.c
-1 files updated, 1 files merged, 0 files removed, 0 files unresolved
-(branch merge, don't forget to commit)
-M source/a.c
-R src/a.c
-? source/a.o
diff --git a/tests/test-issue612 b/tests/test-issue612.t
old mode 100755
new mode 100644
rename from tests/test-issue612
rename to tests/test-issue612.t
--- a/tests/test-issue612
+++ b/tests/test-issue612.t
@@ -1,24 +1,34 @@
-#!/bin/sh
+# http://mercurial.selenic.com/bts/issue612
 
-mkdir t
-cd t
+  $ hg init
+  $ mkdir src
+  $ echo a > src/a.c
+  $ hg ci -Ama
+  adding src/a.c
 
-hg init
-mkdir src
-echo a > src/a.c
-hg ci -Ama
+  $ hg mv src source
+  moving src/a.c to source/a.c
+
+  $ hg ci -Ammove
+
+  $ hg co -C 0
+  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
 
-hg mv src source
-hg ci -Ammove
+  $ echo new > src/a.c
+  $ echo compiled > src/a.o
+  $ hg ci -mupdate
+  created new head
+
+  $ hg status
+  ? src/a.o
 
-hg co -C 0
-echo new > src/a.c
-echo compiled > src/a.o
-hg ci -mupdate
+  $ hg merge
+  merging src/a.c and source/a.c to source/a.c
+  1 files updated, 1 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
 
-hg st
+  $ hg status
+  M source/a.c
+  R src/a.c
+  ? source/a.o
 
-hg merge
-
-hg st
-
diff --git a/tests/test-issue619.out b/tests/test-issue619.out
deleted file mode 100644
--- a/tests/test-issue619.out
+++ /dev/null
@@ -1,10 +0,0 @@
-adding a
-marked working directory as branch b
-adding b
-0 files updated, 0 files merged, 1 files removed, 0 files unresolved
-fast-forward
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-(branch merge, don't forget to commit)
-bogus fast-forward should fail
-abort: merging with a working directory ancestor has no effect
-done
diff --git a/tests/test-issue619 b/tests/test-issue619.t
old mode 100755
new mode 100644
rename from tests/test-issue619
rename to tests/test-issue619.t
--- a/tests/test-issue619
+++ b/tests/test-issue619.t
@@ -1,20 +1,30 @@
-#!/bin/sh
+# http://mercurial.selenic.com/bts/issue619
+
+  $ hg init
+  $ echo a > a
+  $ hg ci -Ama
+  adding a
+
+  $ echo b > b
+  $ hg branch b
+  marked working directory as branch b
+  $ hg ci -Amb
+  adding b
 
-mkdir t
-cd t
-hg init
-echo a > a
-hg ci -Ama
-echo b > b
-hg branch b
-hg ci -Amb
-hg co -C 0
+  $ hg co -C 0
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+
+Fast-forward:
 
-echo fast-forward
-hg merge b
-hg ci -Ammerge
+  $ hg merge b
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+  $ hg ci -Ammerge
 
-echo bogus fast-forward should fail
-hg merge b
+Bogus fast-forward should fail:
 
-echo done
+  $ hg merge b
+  abort: merging with a working directory ancestor has no effect
+
+  $ true
+
diff --git a/tests/test-issue660.out b/tests/test-issue660.out
deleted file mode 100644
--- a/tests/test-issue660.out
+++ /dev/null
@@ -1,49 +0,0 @@
-adding a
-adding b/b
-% file replaced with directory
-% should fail - would corrupt dirstate
-abort: file 'a' in dirstate clashes with 'a/a'
-% removing shadow
-% should succeed - shadow removed
-% directory replaced with file
-% should fail - would corrupt dirstate
-abort: directory 'b' already in dirstate
-% removing shadow
-% should succeed - shadow removed
-% look what we got
-A a/a
-A b
-R a
-R b/b
-% revert reintroducing shadow - should fail
-abort: file 'b' in dirstate clashes with 'b/b'
-% revert all - should succeed
-undeleting a
-forgetting a/a
-forgetting b
-undeleting b/b
-% addremove
-removing a
-adding a/a
-adding b
-removing b/b
-A a/a
-A b
-R a
-R b/b
-% commit
-C a/a
-C b
-% long directory replaced with file
-adding d/d/d
-% should fail - would corrupt dirstate
-abort: directory 'd' already in dirstate
-% removing shadow
-% should succeed - shadow removed
-% update should work at least with clean workdir
-2 files updated, 0 files merged, 0 files removed, 0 files unresolved
-C a
-C b/b
-2 files updated, 0 files merged, 0 files removed, 0 files unresolved
-C a/a
-C b
diff --git a/tests/test-issue660 b/tests/test-issue660.t
old mode 100755
new mode 100644
rename from tests/test-issue660
rename to tests/test-issue660.t
--- a/tests/test-issue660
+++ b/tests/test-issue660.t
@@ -1,94 +1,140 @@
-#!/bin/sh
 # http://mercurial.selenic.com/bts/issue660
 
+  $ hg init
+  $ echo a > a
+  $ mkdir b
+  $ echo b > b/b
+  $ hg commit -A -m "a is file, b is dir"
+  adding a
+  adding b/b
 
-hg init a
-cd a
-echo a > a
-mkdir b
-echo b > b/b
-hg commit -A -m "a is file, b is dir"
+File replaced with directory:
 
-echo % file replaced with directory
+  $ rm a
+  $ mkdir a
+  $ echo a > a/a
+
+Should fail - would corrupt dirstate:
 
-rm a
-mkdir a
-echo a > a/a
+  $ hg add a/a
+  abort: file 'a' in dirstate clashes with 'a/a'
+
+Removing shadow:
+
+  $ hg rm --after a
+
+Should succeed - shadow removed:
 
-echo % should fail - would corrupt dirstate
-hg add a/a
+  $ hg add a/a
+
+Directory replaced with file:
 
-echo % removing shadow
-hg rm --after a
+  $ rm -r b
+  $ echo b > b
+
+Should fail - would corrupt dirstate:
 
-echo % should succeed - shadow removed
-hg add a/a
+  $ hg add b
+  abort: directory 'b' already in dirstate
 
-echo % directory replaced with file
+Removing shadow:
 
-rm -r b
-echo b > b
+  $ hg rm --after b/b
+
+Should succeed - shadow removed:
 
-echo % should fail - would corrupt dirstate
-hg add b
+  $ hg add b
+
+Look what we got:
 
-echo % removing shadow
-hg rm --after b/b
+  $ hg st
+  A a/a
+  A b
+  R a
+  R b/b
 
-echo % should succeed - shadow removed
-hg add b
+Revert reintroducing shadow - should fail:
 
-echo % look what we got
-hg st
+  $ rm -r a b
+  $ hg revert b/b
+  abort: file 'b' in dirstate clashes with 'b/b'
+
+Revert all - should succeed:
 
-echo % revert reintroducing shadow - should fail
-rm -r a b
-hg revert b/b
+  $ hg revert --all
+  undeleting a
+  forgetting a/a
+  forgetting b
+  undeleting b/b
+
+  $ hg st
 
-echo % revert all - should succeed
-hg revert --all
-hg st
+addremove:
 
-echo % addremove
+  $ rm -r a b
+  $ mkdir a
+  $ echo a > a/a
+  $ echo b > b
+
+  $ hg addremove -s 0
+  removing a
+  adding a/a
+  adding b
+  removing b/b
 
-rm -r a b
-mkdir a
-echo a > a/a
-echo b > b
+  $ hg st
+  A a/a
+  A b
+  R a
+  R b/b
+
+commit:
 
-hg addremove -s 0
-hg st
+  $ hg ci -A -m "a is dir, b is file"
+  $ hg st --all
+  C a/a
+  C b
 
-echo % commit
-hg ci -A -m "a is dir, b is file"
-hg st --all
+Long directory replaced with file:
 
-echo % long directory replaced with file
+  $ mkdir d
+  $ mkdir d/d
+  $ echo d > d/d/d
+  $ hg commit -A -m "d is long directory"
+  adding d/d/d
 
-mkdir d
-mkdir d/d
-echo d > d/d/d
-hg commit -A -m "d is long directory"
-rm -r d
-echo d > d
+  $ rm -r d
+  $ echo d > d
+
+Should fail - would corrupt dirstate:
+
+  $ hg add d
+  abort: directory 'd' already in dirstate
 
-echo % should fail - would corrupt dirstate
-hg add d
+Removing shadow:
+
+  $ hg rm --after d/d/d
 
-echo % removing shadow
-hg rm --after d/d/d
+Should succeed - shadow removed:
+
+  $ hg add d
+  $ hg ci -md
 
-echo % should succeed - shadow removed
-hg add d
-hg ci -md
+Update should work at least with clean working directory:
 
-echo % update should work at least with clean workdir
+  $ rm -r a b d
+  $ hg up -r 0
+  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
-rm -r a b d
-hg up -r 0
-hg st --all
-rm -r a b
-hg up -r 1
-hg st --all
+  $ hg st --all
+  C a
+  C b/b
 
-exit 0
+  $ rm -r a b
+  $ hg up -r 1
+  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+  $ hg st --all
+  C a/a
+  C b
+
diff --git a/tests/test-issue672.out b/tests/test-issue672.out
deleted file mode 100644
--- a/tests/test-issue672.out
+++ /dev/null
@@ -1,62 +0,0 @@
-adding 1
-adding 2
-1 files updated, 0 files merged, 1 files removed, 0 files unresolved
-created new head
-  searching for copies back to rev 1
-  unmatched files in other:
-   1a
-  all copies found (* = to merge, ! = divergent):
-   1a -> 1 
-  checking for directory renames
-resolving manifests
- overwrite None partial False
- ancestor 81f4b099af3d local c64f439569a9+ remote c12dcd37c90a
- 1: other deleted -> r
- 1a: remote created -> g
-updating: 1 1/2 files (50.00%)
-removing 1
-updating: 1a 2/2 files (100.00%)
-getting 1a
-1 files updated, 0 files merged, 1 files removed, 0 files unresolved
-(branch merge, don't forget to commit)
-1 files updated, 0 files merged, 1 files removed, 0 files unresolved
-created new head
-1 files updated, 0 files merged, 1 files removed, 0 files unresolved
-  searching for copies back to rev 1
-  unmatched files in local:
-   1a
-  all copies found (* = to merge, ! = divergent):
-   1a -> 1 *
-  checking for directory renames
-resolving manifests
- overwrite None partial False
- ancestor c64f439569a9 local e327dca35ac8+ remote 746e9549ea96
- 1a: local copied/moved to 1 -> m
-preserving 1a for resolve of 1a
-updating: 1a 1/1 files (100.00%)
-picked tool 'internal:merge' for 1a (binary False symlink False)
-merging 1a and 1 to 1a
-my 1a@e327dca35ac8+ other 1@746e9549ea96 ancestor 1@81f4b099af3d
- premerge successful
-0 files updated, 1 files merged, 0 files removed, 0 files unresolved
-(branch merge, don't forget to commit)
-1 files updated, 0 files merged, 1 files removed, 0 files unresolved
-  searching for copies back to rev 1
-  unmatched files in other:
-   1a
-  all copies found (* = to merge, ! = divergent):
-   1a -> 1 *
-  checking for directory renames
-resolving manifests
- overwrite None partial False
- ancestor c64f439569a9 local 746e9549ea96+ remote e327dca35ac8
- 1: remote moved to 1a -> m
-preserving 1 for resolve of 1a
-removing 1
-updating: 1 1/1 files (100.00%)
-picked tool 'internal:merge' for 1a (binary False symlink False)
-merging 1 and 1a to 1a
-my 1a@746e9549ea96+ other 1a@e327dca35ac8 ancestor 1@81f4b099af3d
- premerge successful
-0 files updated, 1 files merged, 0 files removed, 0 files unresolved
-(branch merge, don't forget to commit)
diff --git a/tests/test-issue672 b/tests/test-issue672.t
old mode 100755
new mode 100644
rename from tests/test-issue672
rename to tests/test-issue672.t
--- a/tests/test-issue672
+++ b/tests/test-issue672.t
@@ -1,4 +1,4 @@
-#!/bin/sh
+# http://mercurial.selenic.com/bts/issue672
 
 # 0-2-4
 #  \ \ \
@@ -6,30 +6,96 @@
 #
 # rename in #1, content change in #4.
 
-hg init t
-cd t
+  $ hg init
+
+  $ touch 1
+  $ touch 2
+  $ hg commit -Am init  # 0
+  adding 1
+  adding 2
 
-touch 1
-touch 2
-hg commit -Am init  # 0
+  $ hg rename 1 1a
+  $ hg commit -m rename # 1
+
+  $ hg co -C 0
+  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+
+  $ echo unrelated >> 2
+  $ hg ci -m unrelated1 # 2
+  created new head
 
-hg rename 1 1a
-hg commit -m rename # 1
+  $ hg merge --debug 1
+    searching for copies back to rev 1
+    unmatched files in other:
+     1a
+    all copies found (* = to merge, ! = divergent):
+     1a -> 1 
+    checking for directory renames
+  resolving manifests
+   overwrite None partial False
+   ancestor 81f4b099af3d local c64f439569a9+ remote c12dcd37c90a
+   1: other deleted -> r
+   1a: remote created -> g
+  updating: 1 1/2 files (50.00%)
+  removing 1
+  updating: 1a 2/2 files (100.00%)
+  getting 1a
+  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
 
-hg co -C 0
-echo unrelated >> 2
-hg ci -m unrelated1 # 2
+  $ hg ci -m merge1 # 3
+
+  $ hg co -C 2
+  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+
+  $ echo hello >> 1
+  $ hg ci -m unrelated2 # 4
+  created new head
 
-hg merge --debug 1
-hg ci -m merge1 # 3
+  $ hg co -C 3
+  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
 
-hg co -C 2
-echo hello >> 1
-hg ci -m unrelated2 # 4
+  $ hg merge -y --debug 4
+    searching for copies back to rev 1
+    unmatched files in local:
+     1a
+    all copies found (* = to merge, ! = divergent):
+     1a -> 1 *
+    checking for directory renames
+  resolving manifests
+   overwrite None partial False
+   ancestor c64f439569a9 local e327dca35ac8+ remote 746e9549ea96
+   1a: local copied/moved to 1 -> m
+  preserving 1a for resolve of 1a
+  updating: 1a 1/1 files (100.00%)
+  picked tool 'internal:merge' for 1a (binary False symlink False)
+  merging 1a and 1 to 1a
+  my 1a@e327dca35ac8+ other 1@746e9549ea96 ancestor 1@81f4b099af3d
+   premerge successful
+  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
 
-hg co -C 3
-hg merge -y --debug 4
+  $ hg co -C 4
+  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
 
-hg co -C 4
-hg merge -y --debug 3
+  $ hg merge -y --debug 3
+    searching for copies back to rev 1
+    unmatched files in other:
+     1a
+    all copies found (* = to merge, ! = divergent):
+     1a -> 1 *
+    checking for directory renames
+  resolving manifests
+   overwrite None partial False
+   ancestor c64f439569a9 local 746e9549ea96+ remote e327dca35ac8
+   1: remote moved to 1a -> m
+  preserving 1 for resolve of 1a
+  removing 1
+  updating: 1 1/1 files (100.00%)
+  picked tool 'internal:merge' for 1a (binary False symlink False)
+  merging 1 and 1a to 1a
+  my 1a@746e9549ea96+ other 1a@e327dca35ac8 ancestor 1@81f4b099af3d
+   premerge successful
+  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
 
diff --git a/tests/test-issue842.out b/tests/test-issue842.out
deleted file mode 100644
--- a/tests/test-issue842.out
+++ /dev/null
@@ -1,10 +0,0 @@
-adding a
-0 files updated, 0 files merged, 1 files removed, 0 files unresolved
-% should issue warning
-adding a
-created new head
-0 files updated, 0 files merged, 1 files removed, 0 files unresolved
-% should not issue warning
-0 files updated, 0 files merged, 1 files removed, 0 files unresolved
-marked working directory as branch testing
-% should not issue warning
diff --git a/tests/test-issue842 b/tests/test-issue842.t
old mode 100755
new mode 100644
rename from tests/test-issue842
rename to tests/test-issue842.t
--- a/tests/test-issue842
+++ b/tests/test-issue842.t
@@ -1,22 +1,38 @@
-#!/bin/sh
+# http://mercurial.selenic.com/bts/issue842
+
+  $ hg init
+  $ echo foo > a
+  $ hg ci -Ama
+  adding a
 
-hg init test
-cd test
-echo foo > a
-hg ci -Ama
+  $ hg up -r0000
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+
+  $ echo bar > a
+
+Should issue new head warning:
+
+  $ hg ci -Amb
+  adding a
+  created new head
 
-hg up -r0000
-echo bar > a
-echo % should issue warning
-hg ci -Amb
+  $ hg up -r0000
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+
+  $ echo stuffy > a
+
+Should not issue new head warning:
+
+  $ hg ci -q -Amc
 
-hg up -r0000
-echo stuffy > a
-echo % should not issue warning
-hg ci -q -Amc
+  $ hg up -r0000
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
 
-hg up -r0000
-echo crap > a
-hg branch testing
-echo % should not issue warning
-hg ci -q -Amd
+  $ echo crap > a
+  $ hg branch testing
+  marked working directory as branch testing
+
+Should not issue warning:
+
+  $ hg ci -q -Amd
+