##// END OF EJS Templates
split: add test demonstrating issue with empty splits adjusting phases...
Kyle Lippincott -
r47684:17368844 default
parent child Browse files
Show More
@@ -1046,3 +1046,117 b" Test that color codes don't end up in th"
1046 [ ui.warning|rollback completed]
1046 [ ui.warning|rollback completed]
1047 [ ui.error|abort: empty commit message]
1047 [ ui.error|abort: empty commit message]
1048 [10]
1048 [10]
1049
1050 Test that creating an empty split or "no-op"
1051 (identical to original) commit doesn't cause chaos
1052 --------------------------------------------------
1053
1054 $ hg init $TESTTMP/noop
1055 $ cd $TESTTMP/noop
1056 $ echo r0 > r0
1057 $ hg ci -qAm r0
1058 $ hg phase -p
1059 $ echo foo > foo
1060 $ hg ci -qAm foo
1061 $ hg log -G -T'{phase} {rev}:{node|short} {desc}'
1062 @ draft 1:ae694b2901bb foo
1063 |
1064 o public 0:222799e2f90b r0
1065
1066 FIXME: This should not show "So far it has been split into"
1067 $ printf 'd\na\n' | HGEDITOR=cat hg split || true
1068 diff --git a/foo b/foo
1069 new file mode 100644
1070 examine changes to 'foo'?
1071 (enter ? for help) [Ynesfdaq?] d
1072
1073 no changes to record
1074 diff --git a/foo b/foo
1075 new file mode 100644
1076 examine changes to 'foo'?
1077 (enter ? for help) [Ynesfdaq?] a
1078
1079 HG: Splitting ae694b2901bb. So far it has been split into:
1080 HG: - 0:222799e2f90b "r0"
1081 HG: Write commit message for the next split changeset.
1082 foo
1083
1084
1085 HG: Enter commit message. Lines beginning with 'HG:' are removed.
1086 HG: Leave message empty to abort commit.
1087 HG: --
1088 HG: user: test
1089 HG: branch 'default'
1090 HG: added foo
1091 warning: commit already existed in the repository!
1092 saved backup bundle to $TESTTMP/noop/.hg/strip-backup/ae694b2901bb-28e0b457-split.hg (obsstore-off !)
1093 transaction abort! (obsstore-on !)
1094 rollback completed (obsstore-on !)
1095 abort: changeset ae694b2901bb cannot obsolete itself (obsstore-on !)
1096 FIXME: this should not have stripped the commit we just no-op split
1097 (obsstore-off only), or made r0 draft.
1098 $ hg log -G -T'{phase} {rev}:{node|short} {desc}'
1099 warning: ignoring unknown working parent ae694b2901bb! (obsstore-off !)
1100 @ draft 1:ae694b2901bb foo (obsstore-on !)
1101 | (obsstore-on !)
1102 o public 0:222799e2f90b r0 (obsstore-on !)
1103 o draft 0:222799e2f90b r0 (obsstore-off !)
1104
1105
1106 Now try the same thing but modifying the message so we don't trigger the
1107 identical changeset failures
1108
1109 $ hg init $TESTTMP/noop2
1110 $ cd $TESTTMP/noop2
1111 $ echo r0 > r0
1112 $ hg ci -qAm r0
1113 $ hg phase -p
1114 $ echo foo > foo
1115 $ hg ci -qAm foo
1116 $ hg log -G -T'{phase} {rev}:{node|short} {desc}'
1117 @ draft 1:ae694b2901bb foo
1118 |
1119 o public 0:222799e2f90b r0
1120
1121 $ cat > $TESTTMP/messages <<EOF
1122 > message1
1123 > EOF
1124 FIXME: This should not show "So far it has been split into"
1125 $ printf 'd\na\n' | HGEDITOR="\"$PYTHON\" $TESTTMP/editor.py" hg split
1126 diff --git a/foo b/foo
1127 new file mode 100644
1128 examine changes to 'foo'?
1129 (enter ? for help) [Ynesfdaq?] d
1130
1131 no changes to record
1132 diff --git a/foo b/foo
1133 new file mode 100644
1134 examine changes to 'foo'?
1135 (enter ? for help) [Ynesfdaq?] a
1136
1137 EDITOR: HG: Splitting ae694b2901bb. So far it has been split into:
1138 EDITOR: HG: - 0:222799e2f90b "r0"
1139 EDITOR: HG: Write commit message for the next split changeset.
1140 EDITOR: foo
1141 EDITOR:
1142 EDITOR:
1143 EDITOR: HG: Enter commit message. Lines beginning with 'HG:' are removed.
1144 EDITOR: HG: Leave message empty to abort commit.
1145 EDITOR: HG: --
1146 EDITOR: HG: user: test
1147 EDITOR: HG: branch 'default'
1148 EDITOR: HG: added foo
1149 created new head
1150 saved backup bundle to $TESTTMP/noop2/.hg/strip-backup/ae694b2901bb-28e0b457-split.hg (obsstore-off !)
1151 FIXME: this should not have made r0 draft
1152 $ hg log -G -T'{phase} {rev}:{node|short} {desc}'
1153 @ draft 1:de675559d3f9 message1 (obsstore-off !)
1154 @ draft 2:de675559d3f9 message1 (obsstore-on !)
1155 |
1156 o draft 0:222799e2f90b r0
1157
1158 #if obsstore-on
1159 FIXME: this should not have marked 222799e (r0) as a precursor of anything.
1160 $ hg debugobsolete
1161 ae694b2901bb8b0f8c4b5e075ddec0d63468d57a 222799e2f90be09ccbe49f519c4615d8375a9242 de675559d3f93ffc822c6eb7490e5c73033f17c7 0 * (glob)
1162 #endif
General Comments 0
You need to be logged in to leave comments. Login now