Sat, 07 Mar 2020 17:42:40 -0500 gitlog: fix embarassing bug that prevented log from showing correct parents
Augie Fackler <raf@durin42.com> [Sat, 07 Mar 2020 17:42:40 -0500] rev 44492
gitlog: fix embarassing bug that prevented log from showing correct parents We had the correct parents in the database, but the changelog was always returning p1 for all parents. Oops. Differential Revision: https://phab.mercurial-scm.org/D8263
Sat, 07 Mar 2020 16:51:21 -0500 git: add readfast() method to manifest
Augie Fackler <raf@durin42.com> [Sat, 07 Mar 2020 16:51:21 -0500] rev 44491
git: add readfast() method to manifest Mysteriously, on a different system a handful of things don't work without this, including log. This is especially odd to be because log works in the test. In any event, it's legal for readfast() to just return read(), so that's what we do. Differential Revision: https://phab.mercurial-scm.org/D8262
Fri, 06 Mar 2020 14:14:05 -0800 git: make {shortest()} return shortest *unique* prefix
Martin von Zweigbergk <martinvonz@google.com> [Fri, 06 Mar 2020 14:14:05 -0800] rev 44490
git: make {shortest()} return shortest *unique* prefix It used to return the prefix of the specified length as long as the full node was unique (i.e. always). Differential Revision: https://phab.mercurial-scm.org/D8256
Tue, 11 Feb 2020 00:44:59 -0500 git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com> [Tue, 11 Feb 2020 00:44:59 -0500] rev 44489
git: skeleton of a new extension to _directly_ operate on git repos This is based in part of work I did years ago in hgit, but it's mostly new code since I'm using pygit2 instead of dulwich and the hg storage interfaces have improved. Some cleanup of old hgit code by Pulkit, which I greatly appreciate. test-git-interop.t does not cover a whole lot of cases, but it passes. It includes status, diff, making a new commit, and `hg annotate` working on the git repository. This is _not_ (yet) production quality code: this is an experiment. Known technical debt lurking in this implementation: * Writing bookmarks just totally ignores transactions. * The way progress is threaded down into the gitstore is awful. * Ideally we'd find a way to incrementally reindex DAGs. I'm not sure how to do that efficiently, so we might need a "known only fast-forwards" mode on the DAG indexer for use on `hg commit` and friends. * We don't even _try_ to do anything reasonable for `hg pull` or `hg push`. * Mercurial need an interface for the changelog type. Tests currently require git 2.24 as far as I'm aware: `git status` has some changed output that I didn't try and handle in a compatible way. This patch has produced some interesting cleanups, most recently on the manifest type. I expect continuing down this road will produce other meritorious cleanups throughout our code. Differential Revision: https://phab.mercurial-scm.org/D6734
Mon, 09 Mar 2020 10:18:40 -0700 merge with stable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Mar 2020 10:18:40 -0700] rev 44488
merge with stable
Mon, 09 Mar 2020 05:19:02 +0100 tests: use native string type for parsed hghave log lines
Manuel Jacob <me@manueljacob.de> [Mon, 09 Mar 2020 05:19:02 +0100] rev 44487
tests: use native string type for parsed hghave log lines Before this change, on Python 2, the parsed messages were decoded to unicode, causing an implicit conversion from unicode to str later.
Fri, 06 Mar 2020 10:27:38 +0100 tests: avoid implicit bytes -> unicode -> bytes roundtrip on Python 2
Manuel Jacob <me@manueljacob.de> [Fri, 06 Mar 2020 10:27:38 +0100] rev 44486
tests: avoid implicit bytes -> unicode -> bytes roundtrip on Python 2 Before the change, there were two implicit conversions: * The format string was converted to unicode because the substituted values were unicode. * When printing the message in log(), the string was converted from unicode to str.
(0) -30000 -10000 -3000 -1000 -300 -100 -30 -10 -7 +7 +10 +30 +100 +300 +1000 +3000 tip