Mercurial > hg
annotate .editorconfig @ 46834:535de0e34a79
rebase: filter out descendants of divergence-causing commits earlier
`hg rebase` treats obsolete commits differently depending what has
happened to the commit:
1) Obsolete commit without non-obsolete successors: Skipped, and a
note is printed ("it has no successor").
2) Obsolete commit with a successor in the destination (ancestor of
it): Skipped, and a note is printed ("already in destination").
3) Obsolete commit with a successor in the rebase set: The commit and
its descendants are skipped, and a note is printed ("not rebasing
<commit> and its descendants as this would cause divergence"), unless
`allowdivergence` config set.
4) Obsolete commit with a successor elsewhere: Error ("this rebase
will cause divergences"), unless `allowdivergence` config set.
Before this patch, we did all those checks up front, except for (3),
which was checked later. The later check consisted of two parts: 1)
filtering out of descendants, and 2) conditionally printing message if
the `allowdivergence` config was not set. This patch makes it so we do
the filtering early.
A consequence of filtering out divergence-causing commits earlier is
that we rebase commits in slightly different order, which has some
impact on tests.
Differential Revision: https://phab.mercurial-scm.org/D10249
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 19 Mar 2021 22:52:59 -0700 |
parents | c25efc468a49 |
children |
rev | line source |
---|---|
28793 | 1 # See http://EditorConfig.org for the specification |
2 | |
3 root = true | |
4 | |
5 [*.py] | |
6 indent_size = 4 | |
7 indent_style = space | |
8 trim_trailing_whitespace = true | |
45392
c25efc468a49
mercurial: force LF endings for *.py, *.{c,h} and *.t in .editorconfig
Matt Harbison <matt_harbison@yahoo.com>
parents:
38281
diff
changeset
|
9 end_of_line = lf |
28793 | 10 |
11 [*.{c,h}] | |
12 indent_size = 8 | |
13 indent_style = tab | |
14 trim_trailing_whitespace = true | |
45392
c25efc468a49
mercurial: force LF endings for *.py, *.{c,h} and *.t in .editorconfig
Matt Harbison <matt_harbison@yahoo.com>
parents:
38281
diff
changeset
|
15 end_of_line = lf |
38281
1d6066336d7b
mercurial: add .t files to .editorconfig
Gregory Szorc <gregory.szorc@gmail.com>
parents:
28793
diff
changeset
|
16 |
1d6066336d7b
mercurial: add .t files to .editorconfig
Gregory Szorc <gregory.szorc@gmail.com>
parents:
28793
diff
changeset
|
17 [*.t] |
1d6066336d7b
mercurial: add .t files to .editorconfig
Gregory Szorc <gregory.szorc@gmail.com>
parents:
28793
diff
changeset
|
18 indent_size = 2 |
1d6066336d7b
mercurial: add .t files to .editorconfig
Gregory Szorc <gregory.szorc@gmail.com>
parents:
28793
diff
changeset
|
19 indent_style = space |
1d6066336d7b
mercurial: add .t files to .editorconfig
Gregory Szorc <gregory.szorc@gmail.com>
parents:
28793
diff
changeset
|
20 trim_trailing_whitespace = false |
45392
c25efc468a49
mercurial: force LF endings for *.py, *.{c,h} and *.t in .editorconfig
Matt Harbison <matt_harbison@yahoo.com>
parents:
38281
diff
changeset
|
21 end_of_line = lf |