Mercurial > hg
annotate README.rst @ 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 | c5912e35d06d |
children |
rev | line source |
---|---|
12857
a9f91c844a3b
README: add small introduction
Martin Geisler <mg@lazybytes.net>
parents:
12856
diff
changeset
|
1 Mercurial |
a9f91c844a3b
README: add small introduction
Martin Geisler <mg@lazybytes.net>
parents:
12856
diff
changeset
|
2 ========= |
a9f91c844a3b
README: add small introduction
Martin Geisler <mg@lazybytes.net>
parents:
12856
diff
changeset
|
3 |
a9f91c844a3b
README: add small introduction
Martin Geisler <mg@lazybytes.net>
parents:
12856
diff
changeset
|
4 Mercurial is a fast, easy to use, distributed revision control tool |
a9f91c844a3b
README: add small introduction
Martin Geisler <mg@lazybytes.net>
parents:
12856
diff
changeset
|
5 for software developers. |
a9f91c844a3b
README: add small introduction
Martin Geisler <mg@lazybytes.net>
parents:
12856
diff
changeset
|
6 |
33618
76b171209151
README: make paragraphs before example code end with "::" for reST syntax
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
26421
diff
changeset
|
7 Basic install:: |
0
9117c6561b0b
Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff
changeset
|
8 |
3935 | 9 $ make # see install targets |
10 $ make install # do a system-wide install | |
11 $ hg debuginstall # sanity-check setup | |
12 $ hg # see help | |
205
d255d99a7cbd
README: integrate some changes from Kevin Smith
mpm@selenic.com
parents:
204
diff
changeset
|
13 |
33618
76b171209151
README: make paragraphs before example code end with "::" for reST syntax
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
26421
diff
changeset
|
14 Running without installing:: |
16217
df5ecb813426
readme: mention how to run in-place
Ross Lagerwall <rosslagerwall@gmail.com>
parents:
12857
diff
changeset
|
15 |
df5ecb813426
readme: mention how to run in-place
Ross Lagerwall <rosslagerwall@gmail.com>
parents:
12857
diff
changeset
|
16 $ make local # build for inplace usage |
df5ecb813426
readme: mention how to run in-place
Ross Lagerwall <rosslagerwall@gmail.com>
parents:
12857
diff
changeset
|
17 $ ./hg --version # should show the latest version |
df5ecb813426
readme: mention how to run in-place
Ross Lagerwall <rosslagerwall@gmail.com>
parents:
12857
diff
changeset
|
18 |
26421
4b0fc75f9403
urls: bulk-change primary website URLs
Matt Mackall <mpm@selenic.com>
parents:
16217
diff
changeset
|
19 See https://mercurial-scm.org/ for detailed installation |
3935 | 20 instructions, platform-specific notes, and Mercurial user information. |
46756
c5912e35d06d
README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents:
34579
diff
changeset
|
21 |
c5912e35d06d
README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents:
34579
diff
changeset
|
22 Notes for packagers |
c5912e35d06d
README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents:
34579
diff
changeset
|
23 =================== |
c5912e35d06d
README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents:
34579
diff
changeset
|
24 |
c5912e35d06d
README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents:
34579
diff
changeset
|
25 Mercurial ships a copy of the python-zstandard sources. This is used to |
c5912e35d06d
README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents:
34579
diff
changeset
|
26 provide support for zstd compression and decompression functionality. The |
c5912e35d06d
README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents:
34579
diff
changeset
|
27 module is not intended to be replaced by the plain python-zstandard nor |
c5912e35d06d
README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents:
34579
diff
changeset
|
28 is it intended to use a system zstd library. Patches can result in hard |
c5912e35d06d
README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents:
34579
diff
changeset
|
29 to diagnose errors and are explicitly discouraged as unsupported |
c5912e35d06d
README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents:
34579
diff
changeset
|
30 configuration. |