From patchwork Tue Aug 12 19:43:49 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [09, of, 11] test-revert: add case with untracked files with reverted content From: Pierre-Yves David X-Patchwork-Id: 5364 Message-Id: <78002ff5ed4c3f223041.1407872629@marginatus.alto.octopoid.net> To: mercurial-devel@selenic.com Cc: Pierre-Yves David Date: Tue, 12 Aug 2014 12:43:49 -0700 # HG changeset patch # User Pierre-Yves David # Date 1403886225 -7200 # Fri Jun 27 18:23:45 2014 +0200 # Node ID 78002ff5ed4c3f223041f989c98d80b0c8fd05c8 # Parent 201b9354ad2805bf8e16e71e1eca4ca6d4c733e7 test-revert: add case with untracked files with reverted content This tests highlights similar misbehaviors that its parent changesets. diff --git a/tests/test-revert.t b/tests/test-revert.t --- a/tests/test-revert.t +++ b/tests/test-revert.t @@ -458,10 +458,11 @@ Write the python script to disk > # removed: file is missing and marked as untracked > 'removed': lambda cc: None, > } > # untracked-X is a version of X where the file is not tracked (? unknown) > wccontent['untracked-clean'] = wccontent['clean'] + > wccontent['untracked-revert'] = wccontent['revert'] > > # build the combination of possible state > combination = [] > for ctxkey in ctxcontent: > for wckey in wccontent: @@ -505,30 +506,35 @@ check list of planned files $ python gen-revert-cases.py filelist added_clean added_removed added_revert added_untracked-clean + added_untracked-revert added_wc clean_clean clean_removed clean_revert clean_untracked-clean + clean_untracked-revert clean_wc missing_clean missing_removed missing_revert missing_untracked-clean + missing_untracked-revert missing_wc modified_clean modified_removed modified_revert modified_untracked-clean + modified_untracked-revert modified_wc removed_clean removed_removed removed_revert removed_untracked-clean + removed_untracked-revert removed_wc Script to make a simple text version of the content --------------------------------------------------- @@ -556,36 +562,42 @@ Generate base changeset $ hg addremove --similarity 0 adding clean_clean adding clean_removed adding clean_revert adding clean_untracked-clean + adding clean_untracked-revert adding clean_wc adding modified_clean adding modified_removed adding modified_revert adding modified_untracked-clean + adding modified_untracked-revert adding modified_wc adding removed_clean adding removed_removed adding removed_revert adding removed_untracked-clean + adding removed_untracked-revert adding removed_wc $ hg status A clean_clean A clean_removed A clean_revert A clean_untracked-clean + A clean_untracked-revert A clean_wc A modified_clean A modified_removed A modified_revert A modified_untracked-clean + A modified_untracked-revert A modified_wc A removed_clean A removed_removed A removed_revert A removed_untracked-clean + A removed_untracked-revert A removed_wc $ hg commit -m 'base' (create a simple text version of the content) @@ -593,51 +605,59 @@ Generate base changeset $ cat ../content-base.txt base clean_clean base clean_removed base clean_revert base clean_untracked-clean + base clean_untracked-revert base clean_wc base modified_clean base modified_removed base modified_revert base modified_untracked-clean + base modified_untracked-revert base modified_wc base removed_clean base removed_removed base removed_revert base removed_untracked-clean + base removed_untracked-revert base removed_wc Create parent changeset $ python ../gen-revert-cases.py parent $ hg addremove --similarity 0 adding added_clean adding added_removed adding added_revert adding added_untracked-clean + adding added_untracked-revert adding added_wc removing removed_clean removing removed_removed removing removed_revert removing removed_untracked-clean + removing removed_untracked-revert removing removed_wc $ hg status M modified_clean M modified_removed M modified_revert M modified_untracked-clean + M modified_untracked-revert M modified_wc A added_clean A added_removed A added_revert A added_untracked-clean + A added_untracked-revert A added_wc R removed_clean R removed_removed R removed_revert R removed_untracked-clean + R removed_untracked-revert R removed_wc $ hg commit -m 'parent' (create a simple text version of the content) @@ -645,32 +665,37 @@ Create parent changeset $ cat ../content-parent.txt parent added_clean parent added_removed parent added_revert parent added_untracked-clean + parent added_untracked-revert parent added_wc base clean_clean base clean_removed base clean_revert base clean_untracked-clean + base clean_untracked-revert base clean_wc parent modified_clean parent modified_removed parent modified_revert parent modified_untracked-clean + parent modified_untracked-revert parent modified_wc Setup working directory $ python ../gen-revert-cases.py wc | cat $ hg addremove --similarity 0 removing added_removed removing added_revert + removing added_untracked-revert removing clean_removed adding missing_wc removing modified_removed adding removed_revert + adding removed_untracked-revert adding removed_wc $ hg forget *untracked* $ hg status M added_wc M clean_wc @@ -680,14 +705,18 @@ Setup working directory A removed_revert A removed_wc R added_removed R added_revert R added_untracked-clean + R added_untracked-revert R clean_removed R clean_untracked-clean + R clean_untracked-revert R modified_removed R modified_untracked-clean + R modified_untracked-revert + ? removed_untracked-revert $ hg status --rev 'desc("base")' M clean_wc M modified_clean M modified_wc @@ -695,15 +724,18 @@ Setup working directory A added_clean A added_wc A missing_wc R clean_removed R clean_untracked-clean + R clean_untracked-revert R modified_removed R modified_untracked-clean + R modified_untracked-revert R removed_clean R removed_removed R removed_untracked-clean + R removed_untracked-revert (create a simple text version of the content) $ python ../dircontent.py > ../content-wc.txt $ cat ../content-wc.txt @@ -711,17 +743,20 @@ Setup working directory parent added_untracked-clean wc added_wc base clean_clean base clean_revert base clean_untracked-clean + base clean_untracked-revert wc clean_wc wc missing_wc parent modified_clean base modified_revert parent modified_untracked-clean + base modified_untracked-revert wc modified_wc base removed_revert + base removed_untracked-revert wc removed_wc $ cd .. Test revert --all to parent content @@ -736,18 +771,21 @@ check revert output $ hg revert --all undeleting added_removed undeleting added_revert undeleting added_untracked-clean + undeleting added_untracked-revert reverting added_wc undeleting clean_removed undeleting clean_untracked-clean + undeleting clean_untracked-revert reverting clean_wc forgetting missing_wc undeleting modified_removed reverting modified_revert undeleting modified_untracked-clean + undeleting modified_untracked-revert reverting modified_wc forgetting removed_revert forgetting removed_wc Compare resulting directory with revert target. @@ -760,12 +798,14 @@ additional `.orig` backup file when appl $ diff -U 0 -- content-parent.txt content-parent-all.txt | grep _ +wc added_wc.orig +wc clean_wc.orig +wc missing_wc +base modified_revert.orig + +base modified_untracked-revert.orig +wc modified_wc.orig +base removed_revert + +base removed_untracked-revert +wc removed_wc Test revert --all to "base" content ----------------------------------- @@ -786,21 +826,24 @@ Misbehavior: $ hg revert --all --rev 'desc(base)' removing added_clean removing added_wc undeleting clean_removed undeleting clean_untracked-clean + undeleting clean_untracked-revert reverting clean_wc forgetting missing_wc reverting modified_clean undeleting modified_removed reverting modified_revert undeleting modified_untracked-clean + undeleting modified_untracked-revert reverting modified_wc adding removed_clean adding removed_removed reverting removed_revert adding removed_untracked-clean + adding removed_untracked-revert reverting removed_wc Compare resulting directory with revert target. The diff is filtered to include change only. The only difference should be @@ -844,10 +887,12 @@ revert all files individually and check ### revert for: added_revert ### revert for: added_untracked-clean + ### revert for: added_untracked-revert + ### revert for: added_wc ### revert for: clean_clean no changes needed to clean_clean @@ -856,10 +901,12 @@ revert all files individually and check ### revert for: clean_revert no changes needed to clean_revert ### revert for: clean_untracked-clean + ### revert for: clean_untracked-revert + ### revert for: clean_wc ### revert for: missing_clean missing_clean: no such file in rev * (glob) @@ -870,10 +917,13 @@ revert all files individually and check missing_revert: no such file in rev * (glob) ### revert for: missing_untracked-clean missing_untracked-clean: no such file in rev * (glob) + ### revert for: missing_untracked-revert + missing_untracked-revert: no such file in rev * (glob) + ### revert for: missing_wc ### revert for: modified_clean no changes needed to modified_clean @@ -881,10 +931,12 @@ revert all files individually and check ### revert for: modified_revert ### revert for: modified_untracked-clean + ### revert for: modified_untracked-revert + ### revert for: modified_wc ### revert for: removed_clean removed_clean: no such file in rev * (glob) @@ -894,10 +946,13 @@ revert all files individually and check ### revert for: removed_revert ### revert for: removed_untracked-clean removed_untracked-clean: no such file in rev * (glob) + ### revert for: removed_untracked-revert + file not managed: removed_untracked-revert + ### revert for: removed_wc check resulting directory againt the --all run (There should be no difference) @@ -927,10 +982,11 @@ Misbehavior: | - clean_revert | - modified_revert | - removed_revert | - added_removed | - added_untracked-clean +| - added_untracked-revert $ for file in `python ../gen-revert-cases.py filelist`; do > echo '### revert for:' $file; > hg revert $file --rev 'desc(base)'; > echo @@ -941,20 +997,24 @@ Misbehavior: ### revert for: added_revert ### revert for: added_untracked-clean + ### revert for: added_untracked-revert + ### revert for: added_wc ### revert for: clean_clean ### revert for: clean_removed ### revert for: clean_revert ### revert for: clean_untracked-clean + ### revert for: clean_untracked-revert + ### revert for: clean_wc ### revert for: missing_clean missing_clean: no such file in rev * (glob) @@ -965,30 +1025,37 @@ Misbehavior: missing_revert: no such file in rev * (glob) ### revert for: missing_untracked-clean missing_untracked-clean: no such file in rev * (glob) + ### revert for: missing_untracked-revert + missing_untracked-revert: no such file in rev * (glob) + ### revert for: missing_wc ### revert for: modified_clean ### revert for: modified_removed ### revert for: modified_revert ### revert for: modified_untracked-clean + ### revert for: modified_untracked-revert + ### revert for: modified_wc ### revert for: removed_clean ### revert for: removed_removed ### revert for: removed_revert ### revert for: removed_untracked-clean + ### revert for: removed_untracked-revert + ### revert for: removed_wc check resulting directory againt the --all run (There should be no difference)