Pulkit Goyal <7895pulkit@gmail.com> [Sun, 11 Feb 2018 17:04:21 +0530] rev 36021
py3: replace file() with open() in test-mq-qimport.t
file() is not present in Python 3.
Differential Revision: https://phab.mercurial-scm.org/D2120
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 11 Feb 2018 17:03:50 +0530] rev 36020
py3: replace file() with open() in test-patch-offset.t
file() is not present in Python 3.
Differential Revision: https://phab.mercurial-scm.org/D2119
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 11 Feb 2018 17:03:17 +0530] rev 36019
py3: replace file() with open() in test-relink.t
file() is not present in Python 3.
This patch also adds a b'' prefix to make sure we write bytes in Python 3.
Differential Revision: https://phab.mercurial-scm.org/D2118
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 11 Feb 2018 17:02:14 +0530] rev 36018
py3: replace file() with open() in test-subrepo-missing.t
file() is not present in Python 3.
This patch also adds a b'' prefix to make sure we write bytes in Python 3.
Differential Revision: https://phab.mercurial-scm.org/D2117
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 11 Feb 2018 17:01:25 +0530] rev 36017
py3: replace file() with open() in test-tag.t
file() is not present in Python 3.
Differential Revision: https://phab.mercurial-scm.org/D2116
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 11 Feb 2018 17:00:21 +0530] rev 36016
py3: replace file() with open() in test-transplant.t
file() is not present in Python 3.
This patch also adds a b'' prefix to make sure we write bytes in Python 3.
Differential Revision: https://phab.mercurial-scm.org/D2115
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 11 Feb 2018 16:59:35 +0530] rev 36015
py3: replace file() with open() in test-walk.t
file() is not present in Python 3.
This patch also adds a b'' prefix to make sure we write bytes in Python 3.
Differential Revision: https://phab.mercurial-scm.org/D2114
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 11 Feb 2018 16:58:22 +0530] rev 36014
py3: replace file() with open() in test-win32text.t
This patch also adds b'' prefix to make sure we write bytes on Python 3.
Differential Revision: https://phab.mercurial-scm.org/D2113
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 11 Feb 2018 16:56:47 +0530] rev 36013
py3: replace file() with open() in test-convert-p4-filetypes.t
file() is not present in Python 3. While I was here, I added b'' prefix to make
sure we write things correctly in Python 3.
Differential Revision: https://phab.mercurial-scm.org/D2112
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 11 Feb 2018 17:30:42 +0530] rev 36012
py3: replace file() with open() in test-convert-mtn.t
While I was here, I added b'' prefixes to make sure we write things correctly in
bytes mode on Python 3.
Differential Revision: https://phab.mercurial-scm.org/D2111
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 11 Feb 2018 17:30:21 +0530] rev 36011
py3: replace file() with open() in test-clone.t
While I was here, I made sure we write things correctly in bytes mode.
Differential Revision: https://phab.mercurial-scm.org/D2110
Yuya Nishihara <yuya@tcha.org> [Tue, 06 Feb 2018 22:55:02 +0900] rev 36010
merge: cut import cycle at merge -> extensions
This seems less bad because checking fsmonitor looks like a temporary hack,
and cmdutil -> mergemod should be a valid dependency.
Yuya Nishihara <yuya@tcha.org> [Tue, 06 Feb 2018 22:36:38 +0900] rev 36009
subrepo: split non-core functions to new module
Resolves import cycle caused by subrepo -> cmdutil. Still we have another
cycle, cmdutil -> context -> subrepo, but where I think importing context
is wrong. Perhaps we'll need repo.makememctx().
Yuya Nishihara <yuya@tcha.org> [Wed, 07 Feb 2018 23:22:53 +0900] rev 36008
diff: remove fp.write() wrapper which drops label argument
It's no longer needed since we've split labeled write() from file-like
write().
Yuya Nishihara <yuya@tcha.org> [Sun, 21 Jan 2018 15:54:18 +0900] rev 36007
log: pack filematcher and hunksfilter into changesetdiffer object
This is just a way of getting rid of clumsy makefilematcher/makehunksfilter
arguments. There might be a better abstraction, but I don't think this is bad.
This makes filematcher and hunksfilter available by default, but that should
be fine.
Yuya Nishihara <yuya@tcha.org> [Sun, 21 Jan 2018 15:50:24 +0900] rev 36006
log: drop dead code to concatenate --line-range patterns and pats
It's disabled since
2e45bbd3db7b, and the current implementation is unlikely
to be reused.
Yuya Nishihara <yuya@tcha.org> [Sun, 21 Jan 2018 15:34:37 +0900] rev 36005
logcmdutil: create hunksfilter and filematcher even if no diff option given
It's okay since
5fe6f946f111, "log: allow matchfn to be non-null even if both
--patch/--stat are off."
Yuya Nishihara <yuya@tcha.org> [Sun, 21 Jan 2018 14:37:04 +0900] rev 36004
logcmdutil: unindent diff generator of changesetprinter
Prepares for the next few patches which will make matchfn and hunksfilterfn
always available.
Yuya Nishihara <yuya@tcha.org> [Sun, 21 Jan 2018 14:07:52 +0900] rev 36003
logcmdutil: hold makefilematcher/makehunksfilter() by changesetpriner (API)
This merges self.matchfn and self.show(matchfn) into self._makefilematcher,
and does the same for hunksfilter. Because changesetprinter seems to have
too many optional arguments, makefilematcher() and makehunksfilter() will
be packed into one object by later patch.
Yuya Nishihara <yuya@tcha.org> [Sun, 21 Jan 2018 13:40:31 +0900] rev 36002
log: pass ctx to makefilematcher() and makehunksfilter() functions
This isn't important, but seems more consistent as changesetprinter.show()
takes a ctx, not a revision number.
Anton Shestakov <av6@dwimlabs.net> [Tue, 13 Feb 2018 18:12:26 +0800] rev 36001
tests: allow age to go up to triple digits in test-shelve.t
We started to glob the age of shelved changes in
51934fc796c0, which says that
sometimes tests run slow and `hg shelve --list` says "2s" instead of "1s".
However in some instances, like [1], tests run so slow that the age goes up to
double digits ("13s" in that case). When that happens, `hg shelve --list`
output has less white spaces after the age, so let's glob the spaces too. We
probably won't ever need to handle triple digits there, but I went ahead and
left only 2 required white spaces in total.
[1]: https://buildd.debian.org/status/fetch.php?pkg=mercurial&arch=sparc64&ver=4.5-1&stamp=
1518360804&raw=0
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Jan 2018 19:02:33 -0500] rev 36000
lfs: teach the 'lfs()' fileset to handle removed files
The callstatus setting is required to notice the removal of 'lfs.test' in rev 6
in the tests, even though this isn't directly calling mctx.status(). However,
it's not needed to get the results in the tests for `hg status`, so I'm probably
missing something.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Jan 2018 19:22:15 -0500] rev 35999
lfs: teach '{lfs_files}' to handle removed files
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Jan 2018 18:56:24 -0500] rev 35998
lfs: allow a pointer to be extracted from a context that removes the file
This is needed to let 'set:lfs()' and '{lfs_files}' work normally on removed
files.
Yuya suggested returning a null pointer for removed files, instead of the
pointer from the parent. The first attempt at this was to return None for a non
LFS file, and a (pointer, ctx) tuple to hold the pointer and context (or parent
pointer and context for a removed file). But this complicated the callers, even
the ones that didn't care about removed files.
Instead, let's use {} to represent a removed pointer. This has the added
convenience of being a useful representation in the template language, and only
affects the callers that care about removed files (and only slightly). Since
pointers are explicitly serialized with a call to a member function, there is no
danger of writing these to disk.
Denis Laxalde <denis@laxalde.org> [Sat, 10 Feb 2018 19:33:19 +0100] rev 35997
rebase: make "successors" a set in _computeobsoletenotrebased()
There's no apparent reason for this variable to be a list and this
avoids converting it to a set when needed.
Yuya Nishihara <yuya@tcha.org> [Sat, 10 Feb 2018 21:14:41 +0900] rev 35996
merge with stable
Denis Laxalde <denis@laxalde.org> [Fri, 09 Feb 2018 22:49:20 +0100] rev 35995
rebase: do not consider extincts for divergence detection (
issue5782)
Extinct obsolete changesets cannot cause divergence upon rebase. We
compute these obsoletes without a non-obsolete successor (extincts) in
_computeobsoletenotrebased() and then filter them out from the set of
obsolete revisions to rebase before getting into _checkobsrebase() to
check for divergence candidates.
Denis Laxalde <denis@laxalde.org> [Fri, 09 Feb 2018 21:45:16 +0100] rev 35994
rebase: eliminate node from successors early in _computeobsoletenotrebased()
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 07 Feb 2018 12:06:13 +0100] rev 35993
rebase: add a test case for
issue5782
Issue 5782 reports that rebase incorrectly aborts when trying to rebase
an extinct revision (an obsolete revision with only obsolete successor).
We add a test to demonstrate this: the first "hg rebase" command aborts
with the divergence warning while, when allowing divergence, the rebase
completes and does not actually produce any divergence.
Boris Feld <boris.feld@octobus.net> [Fri, 09 Feb 2018 13:18:17 +0100] rev 35992
test: glob the temporary directory out of temporary file path
The temporary directory used by python might be outside of '/tmp/' (eg:
/dev/shm/) so we glob that part out.
Boris Feld <boris.feld@octobus.net> [Fri, 09 Feb 2018 12:48:12 +0100] rev 35991
tests: raise a better error when patterns are wrongly formatted
It is fairly easy to make mistakes when merging conflict in the pattern file.
A common mistake is to forget adding an extra trailing comma changing the
length of the tuple.
We now detect such error and raise a better error message that helps to find
it.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Jan 2018 17:58:19 -0500] rev 35990
lfs: add a fileset for detecting lfs files
This currently has the same limitation as {lfs_files}, namely it doesn't report
removed files.
We may want a dedicated 'lfs()' revset for efficiency, but combining this with
the 'contains()' revset should be equivalent for now. Combining with
'set:added()' or 'set:modified()' inside 'files()' should be equivalent to a
hypothetical lfs_adds() and lfs_modifies(). I wonder if there's a way to tweak
the filesets to evaluate lazily, to close the efficiency gap.
It would also be interesting to come up with a template filter for '{files}'
that looked at the pattern to 'files()', and filtered appropriately. While
passing a fileset as the pattern to `hg log` does filter '{files}', the set is
evaluated against the working directory, so there's no way to list all non-lfs
files above a certain size in all revisions, for example.