Mercurial > hg
view tests/test-status-rev.t @ 23264:e8235dd18a56 stable
Added tag 3.2.1 for changeset 643c58303fb0
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Tue, 11 Nov 2014 17:24:47 -0600 |
parents | eeaed3d2b004 |
children | daa73289dd2a |
line wrap: on
line source
Tests of 'hg status --rev <rev>' to make sure status between <rev> and '.' get combined correctly with the dirstate status. Sets up a history for a number of files where the filename describes the file's history. The first two letters of the filename describe the first two commits; the third letter describes the dirstate for the file. For example, a file called 'amr' was added in the first commit, modified in the second and then removed in the dirstate. These codes are used for commits: x: does not exist a: added c: clean m: modified r: removed These codes are used for dirstate: d: in dirstate, but deleted from disk f: removed from dirstate, but file exists (forgotten) r: removed from dirstate and disk q: added, but deleted from disk (q for q-rious?) u: not in dirstate, but file exists (unknown) $ hg init $ touch .hgignore $ hg add .hgignore $ hg commit -m initial First letter: first commit $ echo a >acc $ echo a >acd $ echo a >acf $ echo a >acm $ echo a >acr $ echo a >amc $ echo a >amd $ echo a >amf $ echo a >amm $ echo a >amr $ echo a >ara $ echo a >arq $ echo a >aru $ hg commit -Aqm first Second letter: second commit $ echo b >xad $ echo b >xaf $ echo b >xam $ echo b >xar $ echo b >amc $ echo b >amd $ echo b >amf $ echo b >amm $ echo b >amr $ hg rm ara $ hg rm arq $ hg rm aru $ hg commit -Aqm second Third letter: dirstate $ echo c >acm $ echo c >amm $ echo c >xam $ echo c >ara && hg add ara $ echo c >arq && hg add arq && rm arq $ echo c >aru $ hg rm amr $ hg rm acr $ hg rm xar $ rm acd $ rm amd $ rm xad $ hg forget acf $ hg forget amf $ hg forget xaf $ touch xxu Status compared to one revision back $ hg status -A --rev 1 acc C acc BROKEN: file appears twice; should be '!' $ hg status -A --rev 1 acd ! acd C acd $ hg status -A --rev 1 acf R acf $ hg status -A --rev 1 acm M acm $ hg status -A --rev 1 acr R acr $ hg status -A --rev 1 amc M amc BROKEN: file appears twice; should be '!' $ hg status -A --rev 1 amd ! amd C amd $ hg status -A --rev 1 amf R amf $ hg status -A --rev 1 amm M amm $ hg status -A --rev 1 amr R amr $ hg status -A --rev 1 ara M ara BROKEN: file appears twice; should be '!' $ hg status -A --rev 1 arq R arq ! arq $ hg status -A --rev 1 aru R aru $ hg status -A --rev 1 xad ! xad $ hg status -A --rev 1 xaf $ hg status -A --rev 1 xam A xam $ hg status -A --rev 1 xar $ hg status -A --rev 1 xxu ? xxu Status compared to two revisions back $ hg status -A --rev 0 acc A acc $ hg status -A --rev 0 acd ! acd BROKEN: file exists, so should be listed (as '?') $ hg status -A --rev 0 acf $ hg status -A --rev 0 acm A acm $ hg status -A --rev 0 acr $ hg status -A --rev 0 amc A amc $ hg status -A --rev 0 amd ! amd BROKEN: file exists, so should be listed (as '?') $ hg status -A --rev 0 amf $ hg status -A --rev 0 amm A amm $ hg status -A --rev 0 amr $ hg status -A --rev 0 ara A ara $ hg status -A --rev 0 arq ! arq $ hg status -A --rev 0 aru ? aru $ hg status -A --rev 0 xad ! xad BROKEN: file exists, so should be listed (as '?') $ hg status -A --rev 0 xaf $ hg status -A --rev 0 xam A xam $ hg status -A --rev 0 xar