Patchwork [09,of,11] test-revert: add case with untracked files with reverted content

login
register
mail settings
Submitter Pierre-Yves David
Date Aug. 12, 2014, 7:43 p.m.
Message ID <78002ff5ed4c3f223041.1407872629@marginatus.alto.octopoid.net>
Download mbox | patch
Permalink /patch/5364/
State Accepted
Headers show

Comments

Pierre-Yves David - Aug. 12, 2014, 7:43 p.m.
# HG changeset patch
# User Pierre-Yves David <pierre-yves.david@fb.com>
# 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.

Patch

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)