##// END OF EJS Templates
copy-tracing: test case where we go across a changed/deleted merge...
marmoute -
r46032:4b582a93 default
parent child Browse files
Show More
@@ -853,3 +853,76 b' Note:'
853 853 |
854 854 o 0 i-0 initial commit: a b h
855 855
856
857
858 Comparing with merging with a deletion (and keeping the file)
859 -------------------------------------------------------------
860
861 Merge:
862 - one removing a file (d)
863 - one updating that file
864 - the merge keep the modified version of the file (canceling the delete)
865
866 In this case, the file keep on living after the merge. So we should not drop its
867 copy tracing chain.
868
869 $ hg up 'desc("c-1")'
870 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
871 $ hg merge 'desc("g-1")'
872 file 'd' was deleted in local [working copy] but was modified in other [merge rev].
873 You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved.
874 What do you want to do? u
875 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
876 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
877 [1]
878 $ hg resolve -t :other d
879 (no more unresolved files)
880 $ hg ci -m "mCGm-0"
881 created new head
882
883 $ hg up 'desc("g-1")'
884 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
885 $ hg merge 'desc("c-1")'
886 file 'd' was deleted in other [merge rev] but was modified in local [working copy].
887 You can use (c)hanged version, (d)elete, or leave (u)nresolved.
888 What do you want to do? u
889 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
890 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
891 [1]
892 $ hg resolve -t :local d
893 (no more unresolved files)
894 $ hg ci -m "mGCm-0"
895 created new head
896
897 $ hg log -G --rev '::(desc("mCGm")+desc("mGCm"))'
898 @ 31 mGCm-0
899 |\
900 +---o 30 mCGm-0
901 | |/
902 | o 25 g-1: update d
903 | |
904 o | 6 c-1 delete d
905 |/
906 o 2 i-2: c -move-> d
907 |
908 o 1 i-1: a -move-> c
909 |
910 o 0 i-0 initial commit: a b h
911
912
913 BROKEN: 'a' should be the the source of 'd' in the changeset centric algorithm too
914
915 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCGm-0")'
916 A d
917 a (filelog !)
918 R a
919 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mGCm-0")'
920 A d
921 a (filelog !)
922 R a
923 $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mCGm-0")'
924 A d
925 $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mGCm-0")'
926 A d
927 $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mCGm-0")'
928 $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mGCm-0")'
General Comments 0
You need to be logged in to leave comments. Login now