Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 26 Feb 2021 15:34:22 +0530] rev 46550
patch: fix a formatting issue
Differential Revision: https://phab.mercurial-scm.org/D10079
Yuya Nishihara <yuya@tcha.org> [Tue, 02 Feb 2021 20:20:17 +0900] rev 46549
log: fix handling of root (or empty) path provided by matcher (
issue6478)
Since
27d6956d386b "match: use '' instead of '.' for root directory",
'.' should be translated to ''. We can't blame repo.file() about this because
an empty string is invalid as a file path, but I found at least two callers
(_makematcher() and revset.filelog()) would crash because of this path[0].
So let's make repo.file() accept an empty string. path[0] == b'/' wouldn't
work on Python 3 anyways.
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 25 Feb 2021 15:18:00 +0530] rev 46548
tests: accept output changes by
33350debb480
Differential Revision: https://phab.mercurial-scm.org/D10067
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Feb 2021 21:08:45 +0100] rev 46547
test-copies: remove revision number from log
Differential Revision: https://phab.mercurial-scm.org/D10048
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 14 Dec 2020 17:56:56 +0100] rev 46546
test-copies: add test chaining multiple merge
Right now, the copy tracing logic take the right decision for merges, but it
does not keep track of the right information about these decision and can fall
into later traps. We start with highlighting this possibility by adding new
tests, and we will fix them later.
Check the inline test documentation for details.
Differential Revision: https://phab.mercurial-scm.org/D9611
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 14 Dec 2020 17:56:30 +0100] rev 46545
test-copies: add test chaining multiple merges
Right now, the copy tracing logic take the right decision for merges, but it
does not keep track of the right information about these decision and can fall
into later traps. We start with highlighting this possibility by adding new
tests, and we will fix them later.
Check the inline test documentation for details.
Differential Revision: https://phab.mercurial-scm.org/D9610
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 15:43:54 +0100] rev 46544
test-copies: add test chaining multiple merges
Right now, the copy tracing logic take the right decision for merges, but it
does not keep track of the right information about these decision and can fall
into later traps. We start with highlighting this possibility by adding new
tests, and we will fix them later.
Check the inline test documentation for details.
Differential Revision: https://phab.mercurial-scm.org/D9609
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Feb 2021 13:49:55 +0100] rev 46543
test-copies: add subcase titles for various "conflicting" information variant
This make the transitions between case clearer.
Differential Revision: https://phab.mercurial-scm.org/D10047
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Feb 2021 12:45:16 +0100] rev 46542
test-copies: improve description of the B+F case
This will make its role clearer.
Differential Revision: https://phab.mercurial-scm.org/D10046
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 06:02:09 +0100] rev 46541
test-copies: improve description of the C+H case
This will make its role clearer.
Differential Revision: https://phab.mercurial-scm.org/D10045
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 05:58:22 +0100] rev 46540
test-copies: improve description of the B+C "revert/restore" case
This will make its role clearer.
Differential Revision: https://phab.mercurial-scm.org/D10044
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 05:54:55 +0100] rev 46539
test-copies: improve description of the G+C case
This will make its role clearer.
Differential Revision: https://phab.mercurial-scm.org/D10043
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 05:46:32 +0100] rev 46538
test-copies: improve description of the G+F case
This will make its role clearer.
Differential Revision: https://phab.mercurial-scm.org/D10042
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 05:39:22 +0100] rev 46537
test-copies: improve description of the D+G case
This will make its role clearer.
Differential Revision: https://phab.mercurial-scm.org/D10041
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 05:35:18 +0100] rev 46536
test-copies: improve description of the A+E case
This will make its role clearer.
Differential Revision: https://phab.mercurial-scm.org/D10040
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 05:32:20 +0100] rev 46535
test-copies: improve description of the B+D case
This will make its role clearer.
Differential Revision: https://phab.mercurial-scm.org/D10039
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 05:29:04 +0100] rev 46534
test-copies: improve description of the B+C case
This will make its role clearer.
Differential Revision: https://phab.mercurial-scm.org/D10038
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 05:26:46 +0100] rev 46533
test-copies: improve description of the A+B case
This will make its role clearer.
Differential Revision: https://phab.mercurial-scm.org/D10037
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 05:19:23 +0100] rev 46532
test-copies: use intermediate variable some commit descriptions
Right now, everything mostly says "simple merge", we want to use something a bit
more descriptive. Before doing any changes, we do most of the churn. This helps
the next sets of changesets to be clearer.
Differential Revision: https://phab.mercurial-scm.org/D10036
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 22 Feb 2021 18:48:45 +0100] rev 46531
Raphaël Gomès <rgomes@octobus.net> [Fri, 19 Feb 2021 17:52:04 +0100] rev 46530
narrow: fix flaky behavior described in
issue6150
This has been plaguing the CI for a good while, and it doesn't appear to have
an easy fix proposed yet. The solution in this change is to always do an
unambiguous (but expensive) lookup in case of comparison. This should always
be correct, albeit suboptimal.
Differential Revision: https://phab.mercurial-scm.org/D10034
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 16 Feb 2021 15:44:51 +0530] rev 46529
patch: make diff --git to differentiate b/w file is empty or doesn't exists
Before this patch, as we didn't differentiate the two cases of a file in a context:
1. File doesn't exists
2. File is empty
which causes the blob id to be same for both the cases.
Now we use `nullhex` for a file which doesn't exists in a context (aligning it with
the git diff format)
Changes in test file reflect the fixed behavior.
Differential Revision: https://phab.mercurial-scm.org/D10001
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 16 Feb 2021 15:37:19 +0530] rev 46528
tests: add a test to demonstrate a bug in `hg diff --git` (
issue6486)
Issue url: https://bz.mercurial-scm.org/show_bug.cgi?id=6486
This will be fixed in next patch.
Differential Revision: https://phab.mercurial-scm.org/D10000
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 10 Dec 2020 14:25:36 +0100] rev 46527
test-copies: reinstall initial identical (empty) files for chained copied
This effectively back out changeset
deeb215be337. Changeset
deeb215be33 does not
really include a justification for its change and make mes uncomfortable. I have
been thinking about it and they are two options:
- either having empty/full files does not make a difference, and
deeb215be337 is
a gratuitous changes.
- either having empty/full files do make a difference and
deeb215be33 silently
change the test coverage. In such situation if we want the "not empty" case to
be tested, we should add new cases to cover them
In practice, we know that the "file content did not change, but merge still need
to create a new filenode" case exists (for example if merging result in similar
content but both parent of the file need to be recorded), and that such case are
easy to miss/mess-up in the tests. Having all the file using the same (empty)
content was done on purpose to increase the coverage of such corner case.
As a result I am reinstalling the previous test situation. To
increase the coverage of some case involving content-merge in
test-copies-chain-merge.t, we will add a new, dedicated, cases later in this
series, once various cleanup and test improvement have been set in place.
This changeset starts with reinstalling the previous situation as (1) it is more
fragile, so I am more confided getting it back in the initial situation, (2) I
have specific test further down the line that are base on these one.
The next changeset will slightly alter the test to use non-empty files for these
tests (with identical content). It should help to make the initial intent "merge file with identical
content" clearer. I am still using a two steps (backout, then change content)
approach to facilitate careful validation of the output change.
Doing so has a large impact on the output of the "copy info in changeset extra" variant
added in
5e72827dae1e (2 changesets after
deeb215be33). It seems to highlight
various breakage when merge without content change are involved, this is a good
example of why we want to explicitly test theses cases. Because the different
-do- matters a lot.
Fixing the "copy info in changeset extra" is not a priority here. Because (1)
this changeset does not break anything, it only highlight that they were always
broken. (2) the only people using "copy info in changeset extra" do not have
merge.
Differential Revision: https://phab.mercurial-scm.org/D9587