Pulkit Goyal <7895pulkit@gmail.com> [Thu, 10 Sep 2020 16:51:40 +0530] rev 45444
tests: update lockdelay.py to handle the `wait` argument
Spotted by a future change.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 03 Sep 2020 14:14:04 +0530] rev 45443
commit: pass mergestate into _filecommit() instead of re-reading it
mergestate reading although cheap is not free. Let's read mergestate once on top
and pass it into `_filecommit()`.
In upcoming patches, we will be reading mergestate more in `_filecommit()`.
Differential Revision: https://phab.mercurial-scm.org/D8984
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 11 Sep 2020 13:04:05 +0530] rev 45442
py3: fix bytes and str mixup in run-tests
Differential Revision: https://phab.mercurial-scm.org/D9009
Antoine Cezar <antoine.cezar@octobus.net> [Mon, 17 Aug 2020 10:59:30 +0200] rev 45441
hg-core: fix some `clippy` warnings
Differential Revision: https://phab.mercurial-scm.org/D8957
Antoine Cezar <antoine.cezar@octobus.net> [Mon, 17 Aug 2020 16:55:43 +0200] rev 45440
rhg: print error message when argument parsing fails
Differential Revision: https://phab.mercurial-scm.org/D8956
Antoine Cezar <antoine.cezar@octobus.net> [Thu, 13 Aug 2020 16:36:42 +0200] rev 45439
rhg: fix `clippy` warnings
Differential Revision: https://phab.mercurial-scm.org/D8955
Antoine Cezar <antoine.cezar@octobus.net> [Tue, 04 Aug 2020 16:11:23 +0200] rev 45438
rhg: pass `ui` to `Command` `run`
Allow implementation of `From<clap::ArgMatches> for Command`
Differential Revision: https://phab.mercurial-scm.org/D8954
Antoine Cezar <antoine.cezar@octobus.net> [Mon, 03 Aug 2020 11:55:59 +0200] rev 45437
rhg: add harness tests for rhg files
Differential Revision: https://phab.mercurial-scm.org/D8873
Raphaël Gomès <rgomes@octobus.net> [Thu, 30 Jul 2020 16:55:44 +0200] rev 45436
rhg: make output of `files` relative to the current directory and the root
This matches the behavior of `hg files`.
The util is added in `hg-core` instead of `rhg` because this operation could
be useful for other external tools. (this was definitely not prompted by rust
issue #50784, I swear)
Differential Revision: https://phab.mercurial-scm.org/D8872
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 08 Sep 2020 19:36:40 +0530] rev 45435
tags: take lock instead of wlock before writing hgtagsfnodes1 cache
This cache is shared across stores and hence we should take store lock before
writing to it. Otherwise there will be race where one share with wlock is
writing to this cache and other share with wlock is trying to read it
simultaneously.
Differential Revision: https://phab.mercurial-scm.org/D9001
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 10 Sep 2020 13:37:35 +0530] rev 45434
statichttprepo: use LockUnavailable() instead of Abort() for lock (API)
If we try to get a lock on statichttprepo, we get `error.Abort()` instead of
subclass of `error.LockError()`. The callers which catches `error.LockError`
fails to catch this case as the correct error is not raised.
Raising `error.LockUnavaible()` is same as what is done for wlock also.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 08 Sep 2020 18:46:01 +0530] rev 45433
localrepo: warn if we are writing to cache without a lock
From quite sometime we have two types of cache, `cache` and `wcache`. The later
one is a working copy cache and the first one is a store cache.
Let's add a check for warning if we are missing store lock while writing to
these caches.
This is inspired from some tag cache breakage which is observed when multiple
shares are in play.
The interesting part is that although we are still taking wlock to write store
caches at many places, but still the test pases.
Differential Revision: https://phab.mercurial-scm.org/D9000
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 03 Sep 2020 14:14:40 +0530] rev 45432
commit: fix a wrong argument name in documentation
Differential Revision: https://phab.mercurial-scm.org/D8985
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 10 Sep 2020 17:03:38 +0530] rev 45431
git: remove unrequired assignment of listignored and listunknown
Caught by test-check-pyflakes.t
Yuya Nishihara <yuya@tcha.org> [Wed, 09 Sep 2020 11:41:18 +0900] rev 45430
grep: fix hash(linestate) to not include linenum
linestate.__eq__() just compares the line values whereas __hash__() does
hash both self.line and self.linenum, which violates the rule. __hash__()
was added at
fb502719c75c, "python 2.6 compatibility: add __hash__ to
classes that have __eq__" with no additional remarks, so this would probably
be a simple mistake.
The test output changed because difflib.SequenceMatcher() internally uses
a dict. As you can see, the line "export" is unchanged at the revision 2,
so the new output is correct.
Yuya Nishihara <yuya@tcha.org> [Tue, 08 Sep 2020 21:38:10 +0900] rev 45429
test-grep: document that trivially moved lines might not be detected
I'm not going to fix this. I just learned "grep --diff" does clever thing
than a simple grep(patch.diff(context=0)), and I think it's better to
document how things work.
Yuya Nishihara <yuya@tcha.org> [Wed, 09 Sep 2020 11:51:51 +0900] rev 45428
revset: remove indirect indexing of status tuple
Just use the attribute name.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 25 Aug 2020 23:18:42 -0400] rev 45427
rewriteutil: relax the sha1 hash references to handle future hash types
Per discussion with nbjoerg in IRC.
Differential Revision: https://phab.mercurial-scm.org/D8951
Matt Harbison <matt_harbison@yahoo.com> [Mon, 24 Aug 2020 18:51:25 -0400] rev 45426
phabricator: update the hashes in commit messages as they get submitted
Due to the sequence of actions (posting, amending the local commit, and then
updating the Differential properties), the message in the commit is updated on
the initial send but the message displayed in Phabricator is not. It should get
updated there if the review is reposted. The data in the Commits tab is
accurate for the first `phabsend`.
Differential Revision: https://phab.mercurial-scm.org/D8950
Matt Harbison <matt_harbison@yahoo.com> [Mon, 24 Aug 2020 18:44:15 -0400] rev 45425
rewriteutil: also consider pending obsoletes when updating hashes in messages
Phabricator builds up the replacement commits and mapping in a single
transaction, and then finalizes everything once the commits have been rewritten.
That's too late when trying to update the messages for those commits.
I'm a little concerned that this isn't a generic enough interface, since it
doesn't mimic the list of list return of `obsutil.successorssets()`. But this
is the type of mapping that phabricator maintains, and I don't think the methods
that would be interested in calling this need to worry about split and
divergence. We can fix that later if the need arises.
Differential Revision: https://phab.mercurial-scm.org/D8949
Matt Harbison <matt_harbison@yahoo.com> [Mon, 24 Aug 2020 12:43:53 -0400] rev 45424
rewriteutil: extract evolve code used to replace obsolete hashes in commits
The evolve command uses it, but there are core things like `phabsend` and
`rebase` that would also benefit.
Differential Revision: https://phab.mercurial-scm.org/D8948
Augie Fackler <raf@durin42.com> [Mon, 07 Sep 2020 17:16:16 -0400] rev 45423
git: fix index handling of removed files during commit (
issue6398)
Other changes in this series also changed the behavior here in
positive ways, but this was the final step that actually fixed things.
Differential Revision: https://phab.mercurial-scm.org/D8999
Augie Fackler <raf@durin42.com> [Mon, 07 Sep 2020 17:14:59 -0400] rev 45422
git: make dirstate actually support listclean parameter
As far as I can tell listignored and listunknown should already
work. I'm vexed that there doesn't seem to be a way to get clean files
out of the pygit2 status method, but this at least makes things work
better.
Differential Revision: https://phab.mercurial-scm.org/D8998
Augie Fackler <raf@durin42.com> [Mon, 07 Sep 2020 17:13:45 -0400] rev 45421
git: make dirstate status() respect matcher
As with other changes in this stack, we appear to have been getting
lucky in the past. An upcoming change behaved _very_ oddly without
this fix.
Differential Revision: https://phab.mercurial-scm.org/D8997
Augie Fackler <raf@durin42.com> [Mon, 07 Sep 2020 17:12:29 -0400] rev 45420
git: fix up dirstate use of index
This was super-broken before, and somehow none of the existing
attempts to use this code tripped on the defects here. Sigh.
Differential Revision: https://phab.mercurial-scm.org/D8996
Augie Fackler <raf@durin42.com> [Mon, 07 Sep 2020 16:27:12 -0400] rev 45419
git: correctly handle "nothing changed" commits
I guess localrepo.commit() actually returns an Optional[node], which
is a bit of a surprise to me.
Differential Revision: https://phab.mercurial-scm.org/D8995
Augie Fackler <raf@durin42.com> [Mon, 07 Sep 2020 16:25:16 -0400] rev 45418
localrepo: use functools.wraps() in unfilteredmethod decorator
This makes it easier to figure out what function you're holding on to
when doing printf-style debugging.
Differential Revision: https://phab.mercurial-scm.org/D8994
Augie Fackler <raf@durin42.com> [Mon, 07 Sep 2020 16:13:10 -0400] rev 45417
git: actually copy treemanifest instances in .copy() (
issue6398)
The implementation here is so simple I honestly have no idea why I
didn't do it at the time. Hopefully there's not some nuance past-me
forgot to write down.
Differential Revision: https://phab.mercurial-scm.org/D8993
Yuya Nishihara <yuya@tcha.org> [Fri, 11 Sep 2020 14:41:05 +0900] rev 45416
log: fix crash and bad filematcher lookup by -fr'wdir()' PATH
"-fr'wdir()' ADDED-PATH" is still wrong, which will be fixed in default
branch.
Augie Fackler <augie@google.com> [Wed, 09 Sep 2020 14:48:55 -0400] rev 45415
hgdemandimport: bypass demandimport for _ast module (
issue6407)
This is broken on Python 3.9rc1, and while it sounds like there may be
a fix in Python, we probably also should have this workaround in place
in hg. See the bug for more details (including on bugs at redhat and
b.p.o).
Differential Revision: https://phab.mercurial-scm.org/D9004