Mercurial > hg-stable
diff tests/test-journal.t @ 29502:8361131b4768
journal: add dirstate tracking
Note that now the default action for `hg journal` is to list the working copy
history, not all bookmarks. In its place is the `--all` switch which lists all
name changes recorded, including the name for which the change was recorded on
each line.
Locking is switched to using a dedicated lock to avoid issues with the dirstate
being written during wlock unlocking (you can't re-lock during that process).
author | Martijn Pieters <mjpieters@fb.com> |
---|---|
date | Mon, 11 Jul 2016 13:39:24 +0100 |
parents | cf092a3d202a |
children | 7503d8874617 |
line wrap: on
line diff
--- a/tests/test-journal.t Mon Jul 11 08:54:13 2016 -0500 +++ b/tests/test-journal.t Mon Jul 11 13:39:24 2016 +0100 @@ -32,22 +32,37 @@ $ hg init repo $ cd repo - $ echo a > a - $ hg commit -Aqm a - $ echo b > a - $ hg commit -Aqm b - $ hg up 0 - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved Test empty journal $ hg journal - previous locations of all bookmarks: + previous locations of '.': no recorded locations $ hg journal foo previous locations of 'foo': no recorded locations +Test that working copy changes are tracked + + $ echo a > a + $ hg commit -Aqm a + $ hg journal + previous locations of '.': + cb9a9f314b8b commit -Aqm a + $ echo b > a + $ hg commit -Aqm b + $ hg journal + previous locations of '.': + 1e6c11564562 commit -Aqm b + cb9a9f314b8b commit -Aqm a + $ hg up 0 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg journal + previous locations of '.': + cb9a9f314b8b up 0 + 1e6c11564562 commit -Aqm b + cb9a9f314b8b commit -Aqm a + Test that bookmarks are tracked $ hg book -r tip bar @@ -68,22 +83,32 @@ cb9a9f314b8b book -f bar 1e6c11564562 book -r tip bar -Test that you can list all bookmarks as well as limit the list or filter on them +Test that bookmarks and working copy tracking is not mixed + + $ hg journal + previous locations of '.': + 1e6c11564562 up + cb9a9f314b8b up 0 + 1e6c11564562 commit -Aqm b + cb9a9f314b8b commit -Aqm a + +Test that you can list all entries as well as limit the list or filter on them $ hg book -r tip baz - $ hg journal - previous locations of all bookmarks: - 1e6c11564562 book -r tip baz - 1e6c11564562 up - cb9a9f314b8b book -f bar - 1e6c11564562 book -r tip bar + $ hg journal --all + previous locations of the working copy and bookmarks: + 1e6c11564562 baz book -r tip baz + 1e6c11564562 bar up + 1e6c11564562 . up + cb9a9f314b8b bar book -f bar + 1e6c11564562 bar book -r tip bar + cb9a9f314b8b . up 0 + 1e6c11564562 . commit -Aqm b + cb9a9f314b8b . commit -Aqm a $ hg journal --limit 2 - previous locations of all bookmarks: - 1e6c11564562 book -r tip baz + previous locations of '.': 1e6c11564562 up - $ hg journal baz - previous locations of 'baz': - 1e6c11564562 book -r tip baz + cb9a9f314b8b up 0 $ hg journal bar previous locations of 'bar': 1e6c11564562 up @@ -92,26 +117,62 @@ $ hg journal foo previous locations of 'foo': no recorded locations + $ hg journal . + previous locations of '.': + 1e6c11564562 up + cb9a9f314b8b up 0 + 1e6c11564562 commit -Aqm b + cb9a9f314b8b commit -Aqm a -Test that verbose and commit output work +Test that verbose, JSON and commit output work - $ hg journal --verbose - previous locations of all bookmarks: - 000000000000 -> 1e6c11564562 foobar 1970-01-01 00:00 +0000 book -r tip baz - cb9a9f314b8b -> 1e6c11564562 foobar 1970-01-01 00:00 +0000 up - 1e6c11564562 -> cb9a9f314b8b foobar 1970-01-01 00:00 +0000 book -f bar - 000000000000 -> 1e6c11564562 foobar 1970-01-01 00:00 +0000 book -r tip bar + $ hg journal --verbose --all + previous locations of the working copy and bookmarks: + 000000000000 -> 1e6c11564562 foobar baz 1970-01-01 00:00 +0000 book -r tip baz + cb9a9f314b8b -> 1e6c11564562 foobar bar 1970-01-01 00:00 +0000 up + cb9a9f314b8b -> 1e6c11564562 foobar . 1970-01-01 00:00 +0000 up + 1e6c11564562 -> cb9a9f314b8b foobar bar 1970-01-01 00:00 +0000 book -f bar + 000000000000 -> 1e6c11564562 foobar bar 1970-01-01 00:00 +0000 book -r tip bar + 1e6c11564562 -> cb9a9f314b8b foobar . 1970-01-01 00:00 +0000 up 0 + cb9a9f314b8b -> 1e6c11564562 foobar . 1970-01-01 00:00 +0000 commit -Aqm b + 000000000000 -> cb9a9f314b8b foobar . 1970-01-01 00:00 +0000 commit -Aqm a + $ hg journal --verbose -Tjson + [ + { + "command": "up", + "date": "1970-01-01 00:00 +0000", + "name": ".", + "newhashes": "1e6c11564562", + "oldhashes": "cb9a9f314b8b", + "user": "foobar" + }, + { + "command": "up 0", + "date": "1970-01-01 00:00 +0000", + "name": ".", + "newhashes": "cb9a9f314b8b", + "oldhashes": "1e6c11564562", + "user": "foobar" + }, + { + "command": "commit -Aqm b", + "date": "1970-01-01 00:00 +0000", + "name": ".", + "newhashes": "1e6c11564562", + "oldhashes": "cb9a9f314b8b", + "user": "foobar" + }, + { + "command": "commit -Aqm a", + "date": "1970-01-01 00:00 +0000", + "name": ".", + "newhashes": "cb9a9f314b8b", + "oldhashes": "000000000000", + "user": "foobar" + } + ] $ hg journal --commit - previous locations of all bookmarks: - 1e6c11564562 book -r tip baz - changeset: 1:1e6c11564562 - bookmark: bar - bookmark: baz - tag: tip - user: test - date: Thu Jan 01 00:00:00 1970 +0000 - summary: b - + previous locations of '.': 1e6c11564562 up changeset: 1:1e6c11564562 bookmark: bar @@ -121,13 +182,13 @@ date: Thu Jan 01 00:00:00 1970 +0000 summary: b - cb9a9f314b8b book -f bar + cb9a9f314b8b up 0 changeset: 0:cb9a9f314b8b user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: a - 1e6c11564562 book -r tip bar + 1e6c11564562 commit -Aqm b changeset: 1:1e6c11564562 bookmark: bar bookmark: baz @@ -136,12 +197,18 @@ date: Thu Jan 01 00:00:00 1970 +0000 summary: b + cb9a9f314b8b commit -Aqm a + changeset: 0:cb9a9f314b8b + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: a + Test for behaviour on unexpected storage version information $ printf '42\0' > .hg/journal $ hg journal - previous locations of all bookmarks: + previous locations of '.': abort: unknown journal file version '42' [255] $ hg book -r tip doomed