Skip to content
Snippets Groups Projects
Commit f5509998 authored by Manuel Jacob's avatar Manuel Jacob
Browse files

absorb: make it explicit if empty changeset was created

If the config rewrite.empty-successor=skip is set, a message "became empty and
was dropped" is shown if the changeset became empty. If the config
rewrite.empty-successor=keep is set, absorb may create changesets even if they
became empty. It’s probably a good idea to make that explicit. Therefore the
message is changed to be a combination of both: "became empty and became ...".

Repeating the word "became" is not very elegant. This results from the fact
that "became" was and is overloaded to indicate both the change from non-empty
to empty and the successor relation. In the combinated message, both meanings
are used in one sentence.
parent 3ee8e2d5
No related branches found
No related tags found
No related merge requests found
...@@ -783,11 +783,10 @@ ...@@ -783,11 +783,10 @@
# nothing changed, nothing commited # nothing changed, nothing commited
nextp1 = ctx nextp1 = ctx
continue continue
if ( willbecomenoop = ctx.files() and self._willbecomenoop(
self.skip_empty_successor memworkingcopy, ctx, nextp1
and ctx.files() )
and self._willbecomenoop(memworkingcopy, ctx, nextp1) if self.skip_empty_successor and willbecomenoop:
):
# changeset is no longer necessary # changeset is no longer necessary
self.replacemap[ctx.node()] = None self.replacemap[ctx.node()] = None
msg = _(b'became empty and was dropped') msg = _(b'became empty and was dropped')
...@@ -798,7 +797,14 @@ ...@@ -798,7 +797,14 @@
nextp1 = lastcommitted nextp1 = lastcommitted
self.replacemap[ctx.node()] = lastcommitted.node() self.replacemap[ctx.node()] = lastcommitted.node()
if memworkingcopy: if memworkingcopy:
msg = _(b'%d file(s) changed, became %s') % ( if willbecomenoop:
msg = _(
b'%d file(s) changed, became empty '
b'and became %s'
)
else:
msg = _(b'%d file(s) changed, became %s')
msg = msg % (
len(memworkingcopy), len(memworkingcopy),
self._ctx2str(lastcommitted), self._ctx2str(lastcommitted),
) )
......
...@@ -509,6 +509,7 @@ ...@@ -509,6 +509,7 @@
$ hg commit -m b3 $ hg commit -m b3
$ echo 4 >> b $ echo 4 >> b
$ hg commit -m b4 $ hg commit -m b4
$ hg commit -m empty --config ui.allowemptycommit=True
$ echo 1 > b $ echo 1 > b
$ echo 3 >> a $ echo 3 >> a
$ hg absorb -pn $ hg absorb -pn
...@@ -527,8 +528,9 @@ ...@@ -527,8 +528,9 @@
1154859 b12 1154859 b12
bfafb49 a12 bfafb49 a12
$ hg absorb -av --config rewrite.empty-successor=keep | grep became $ hg absorb -av --config rewrite.empty-successor=keep | grep became
0:bfafb49242db: 1 file(s) changed, became 4:1a2de97fc652 0:bfafb49242db: 1 file(s) changed, became 5:1a2de97fc652
1:115485984805: 2 file(s) changed, became 5:0c930dfab74c 1:115485984805: 2 file(s) changed, became 6:0c930dfab74c
2:30970dbf7b40: 2 file(s) changed, became 6:df6574ae635c 2:30970dbf7b40: 2 file(s) changed, became empty and became 7:df6574ae635c
3:a393a58b9a85: 2 file(s) changed, became 7:ad4bd3462c9e 3:a393a58b9a85: 2 file(s) changed, became empty and became 8:ad4bd3462c9e
4:1bb0e8cff87a: 2 file(s) changed, became 9:2dbed75af996
$ hg log -T '{rev} {desc}\n' -Gp $ hg log -T '{rev} {desc}\n' -Gp
...@@ -534,3 +536,5 @@ ...@@ -534,3 +536,5 @@
$ hg log -T '{rev} {desc}\n' -Gp $ hg log -T '{rev} {desc}\n' -Gp
@ 7 b4 @ 9 empty
|
o 8 b4
| |
...@@ -536,3 +540,3 @@ ...@@ -536,3 +540,3 @@
| |
o 6 b3 o 7 b3
| |
...@@ -538,5 +542,5 @@ ...@@ -538,5 +542,5 @@
| |
o 5 b12 o 6 b12
| diff --git a/b b/b | diff --git a/b b/b
| new file mode 100644 | new file mode 100644
| --- /dev/null | --- /dev/null
...@@ -544,7 +548,7 @@ ...@@ -544,7 +548,7 @@
| @@ -0,0 +1,1 @@ | @@ -0,0 +1,1 @@
| +1 | +1
| |
o 4 a12 o 5 a12
diff --git a/a b/a diff --git a/a b/a
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment