Anton Shestakov <av6@dwimlabs.net> [Thu, 05 May 2016 18:13:25 +0800] rev 29079
crecord: remove skipfolded keyword argument from patchnode.previtem()
It wasn't used, it wasn't implemented. Probably was a copy-paste bonus from
patchnode.nextitem()
Anton Shestakov <av6@dwimlabs.net> [Thu, 05 May 2016 15:19:37 +0800] rev 29078
crecord: update a copy-pasted comment in downarrowshiftevent()
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 05 May 2016 16:38:24 +0200] rev 29077
crecord: drop the version condition for amend
The UI is now shipped in core, amend feature is always available.
Anton Shestakov <av6@dwimlabs.net> [Thu, 05 May 2016 11:19:52 +0800] rev 29076
crecord: add/remove blank lines (coding style)
Augie Fackler <augie@google.com> [Wed, 04 May 2016 21:02:03 -0400] rev 29075
localrepo: jettison parents() method per deprecation policy (API)
Yuya Nishihara <yuya@tcha.org> [Sun, 17 Apr 2016 13:06:44 +0900] rev 29074
revset: define _parsealias() in _aliasrules class
It's short. It doesn't make sense to define _parsealias() outside of the
class.
Yuya Nishihara <yuya@tcha.org> [Sun, 17 Apr 2016 13:03:23 +0900] rev 29073
revset: factor out common parsing function
Yuya Nishihara <yuya@tcha.org> [Sun, 17 Apr 2016 12:57:27 +0900] rev 29072
revset: inline _tokenizealias() into _parsealias()
This helps factoring out common part between _parsealias() and parse().
timeless <timeless@mozdev.org> [Sun, 10 Apr 2016 07:28:26 +0000] rev 29071
store: treat range as a generator instead of a list for py3 compat
Jun Wu <quark@fb.com> [Wed, 04 May 2016 18:18:24 +0100] rev 29070
ui: add new config option for help text width
Before this patch, when printing help text using `hg help`, or `hg log -h`,
the output will wrap at 78 chars even if the user has a bigger terminal width
and there is no config option to change it, making the experience different
from the commonly used `man` tool.
This patch introduces a new config option `ui.textwidth`, which replaces the
hardcoded number. It's set to 78 by default to maintain compatibility. When
set to 0, `hg help` will behave more like `man`.
timeless <timeless@mozdev.org> [Tue, 03 May 2016 15:26:51 +0000] rev 29069
tests: test histedit base command plan help
liscju <piotr.listkiewicz@gmail.com> [Tue, 03 May 2016 23:48:31 +0200] rev 29068
largefiles: makes verify batching stat calls to remote
Instead of sending stat calls for each files separately, it sends
one batch call with stat invocations for all files.
liscju <piotr.listkiewicz@gmail.com> [Tue, 03 May 2016 23:31:32 +0200] rev 29067
largefiles: change basestore._verifyfile to take list of files to check
Makes it easier to use batch stat calls in remotestore to decrease
number of round trips.
Augie Fackler <augie@google.com> [Wed, 04 May 2016 22:44:30 -0400] rev 29066
bookmarks: properly invalidate volatile sets when writing bookmarks
This corrects a regression introduced during the 3.7 cycle, but which
went undetected due to the surviving-but-deprecated write() method on
bmstore.
Augie Fackler <augie@google.com> [Thu, 05 May 2016 15:41:37 +0200] rev 29065
test-obsolete: update extension in test to actually work
This hasn't been testing anything since partway through the 3.7 cycle
due to unrelated refactoring. Sadly, the behavior it was trying to
prevent reemerged in the codebase at that time. A fix is in the next
patch, because proving that the fix was actually correct ended up
being trickier than I expected.
Mike Hommey <mh@glandium.org> [Thu, 05 May 2016 20:57:38 +0900] rev 29064
bundle2: properly request phases during getbundle
getbundle was requesting the "phase" namespace instead of the "phases"
namespace, which led to the client still requesting the phases
separately after getbundle finished.
timeless <timeless@mozdev.org> [Mon, 11 Apr 2016 21:33:07 +0000] rev 29063
rebase: handle successor targets (
issue5198)
When a parent has a successor (indicated by revprecursor in state),
we need to use it.
Mike Hommey <mh@glandium.org> [Wed, 04 May 2016 06:44:44 +0900] rev 29062
debugbundle: add tests for debugbundle output with bundle2
Nathan Goldbaum <ngoldbau@illinois.edu> [Wed, 04 May 2016 10:46:27 -0500] rev 29061
revert: mention ui.origbackuppath in the command help
Sean Farley <sean@farley.io> [Sat, 30 Apr 2016 18:40:34 -0700] rev 29060
help: wrap ".orig" in rst quotes
Apparently, .orig. is a macro for man pages so we need to wrap it in quotes to
silence lintian warnings.
Yuya Nishihara <yuya@tcha.org> [Sun, 17 Apr 2016 12:31:06 +0900] rev 29059
parser: shorten prefix of alias parsing errors
These messages seemed to be a bit long. We should try making them fit to
80-col console.
Yuya Nishihara <yuya@tcha.org> [Sun, 17 Apr 2016 12:20:57 +0900] rev 29058
parser: rephrase "'$' not for alias arguments" message
Say which symbol caused the error. The word "alias" is removed since these
messages are prefixed by "failed to parse ... revset alias "...":".
Mike Hommey <mh@glandium.org> [Mon, 18 Apr 2016 17:54:02 +0900] rev 29057
debugbundle: handle the --all option for bundle2
Tony Tung <tonytung@merly.org> [Mon, 02 May 2016 15:22:16 -0700] rev 29056
manifest: improve filesnotin performance by using lazymanifest diff
lazymanifests can compute diffs significantly faster than taking the set
of two manifests and calculating the delta.
when running hg diff --git -c . on Facebook's big repo, this reduces the
run time from 2.1s to 1.5s.
Christian Ebert <blacktrash@gmx.net> [Tue, 19 Apr 2016 11:00:15 +0100] rev 29055
keyword: replace use of _filerev with _filenode
To be independent of rev numbers.
Analogous to
ba8257cb53e8.
Matt Mackall <mpm@selenic.com> [Tue, 03 May 2016 10:41:17 -0500] rev 29054
merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 01 May 2016 14:36:12 -0500] rev 29053
Added signature for changeset
a56296f55a5e
Matt Mackall <mpm@selenic.com> [Sun, 01 May 2016 14:36:11 -0500] rev 29052
Added tag 3.8.1 for changeset
a56296f55a5e
Blake Burkhart <bburky@bburky.com> [Wed, 06 Apr 2016 22:57:46 -0500] rev 29051
convert: pass absolute paths to git (SEC)
Fixes CVE-2016-3105 (1/1).
Previously, it was possible for the repository path passed to git-ls-remote
to be misinterpreted as a URL.
Always passing an absolute path to git is a simple way to avoid this.
Matt Mackall <mpm@selenic.com> [Sun, 01 May 2016 13:52:26 -0500] rev 29050
Added signature for changeset
f85de28eae32
Matt Mackall <mpm@selenic.com> [Sun, 01 May 2016 13:52:25 -0500] rev 29049
Added tag 3.8 for changeset
f85de28eae32
Sean Farley <sean@farley.io> [Sat, 30 Apr 2016 21:21:17 -0700] rev 29048
debian: alphabetize build deps
Sean Farley <sean@farley.io> [Sat, 30 Apr 2016 17:26:48 -0700] rev 29047
debian: fix lintian warning about debhelper
It seems this is correct but does it work on older distros? I ran the
docker-jessie rule and didn't get any warnings.
Sean Farley <sean@farley.io> [Sat, 30 Apr 2016 17:29:12 -0700] rev 29046
builddeb: remove chmod as lintian tells us
It turns out we just need debian/rules to be executable, so we do just that.
Sean Farley <sean@farley.io> [Sat, 30 Apr 2016 11:51:45 -0700] rev 29045
builddeb: use codename in version
Apparently, this is needed to allow ppas to be built for multiple distros.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 30 Apr 2016 18:39:39 +0200] rev 29044
rebase: restrict rebase destination to the pulled set (
issue5214)
Before this patch, `hg pull --rebase` would be a strict sequence of `hg pull`
followed by `hg rebase` if anything was pulled.
Now that rebase pick his default destination the same way than merge, than
`hg rebase` step would abort in the case the repo already had multiple anonymous
heads (because of the ambiguity). (changed in
fac3a24be50e)
The intend of the user with `hg pull --rebase` is clearly to rebase on pulled
content. This used to be (mostly) enforced by the former default destination for
rebase, "tipmost changeset of the branch" as the tipmost would likely a
changeset that just got pulled. But this intended was no longer enforced with
the new defaul destination (unified with merge).
This changeset makes use of the '_destspace' mechanism introduced in the previous
changeset to enforce this.
This partially fixes
issue5214 as no change at all have been made to the new
handling of the case with bookmark (unified with merge).
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 30 Apr 2016 18:41:08 +0200] rev 29043
destutil: add the ability to specify a search space for rebase destination
In the 'hg pull --rebase', we don't want to pick a rebase destination unrelated
to the pull, we lay down basic infrastructure to allow such restriction on
stable (before 3.8 release) in this case. See issue 5214 for details.
Actual usage and test will be in the next patch.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 30 Apr 2016 09:26:47 -0700] rev 29042
sslutil: restore old behavior not requiring a hostname argument (
issue5210)
This effectively backs out changeset
1fde84d42f9c.
The http library behind ui.http2=true isn't specifying the hostname.
It is the day before the expected 3.8 release and we don't want to ship
a regression.
I'll try to restore this requirement in the 3.9 release cycle as part
of planned improvements to Mercurial's SSL/TLS interactions.
Matt Mackall <mpm@selenic.com> [Thu, 28 Apr 2016 16:38:15 -0500] rev 29041
tests: test a variety of cache invariants
We've historically had a problem maintaining the expected invariants
on our caches, especially when introducing new caches. This tests
documents the invariants and exercises them across most of our
existing cache files.
Matt Mackall <mpm@selenic.com> [Thu, 28 Apr 2016 16:26:18 -0500] rev 29040
repoview: ignore unwritable hidden cache
The atomictemp.close() file attempts to do a rename, which can fail.
Moving the close inside the exception handler fixes it.
This doesn't fit well with the with: pattern, as it's the finalizer
that's failing.
Matt Mackall <mpm@selenic.com> [Thu, 28 Apr 2016 15:40:43 -0500] rev 29039
tags: silence hgtagsfnodes reading failures
tryread() doesn't handle "is a directory" errors and presumably
others. We might not want to globally swallow such tryread errors, so
we replace with our own try/except handling.
An upcoming test will use directories as a portable stand-in for
various bizarre circumstances that cache read/write code should be
robust to.
Matt Mackall <mpm@selenic.com> [Thu, 28 Apr 2016 15:35:54 -0500] rev 29038
tags: silence cache parsing errors
Follow our standard STFU cache-handling pattern
Wagner Bruna <wbruna@yahoo.com> [Sun, 01 May 2016 00:12:56 -0300] rev 29037
i18n-pt_BR: synchronized with
18c1b107898e
Sean Farley <sean@farley.io> [Wed, 27 Apr 2016 01:07:40 -0700] rev 29036
ubuntu-xenial-ppa: add makefile rule
Sean Farley <sean@farley.io> [Wed, 27 Apr 2016 01:02:56 -0700] rev 29035
ubuntu-wily-ppa: add makefile rule
Sean Farley <sean@farley.io> [Wed, 27 Apr 2016 00:27:10 -0700] rev 29034
ubuntu-trusty-ppa: add makefile rule
Sean Farley <sean@farley.io> [Wed, 27 Apr 2016 00:18:18 -0700] rev 29033
ubuntu-xenial: add makefile rule to build deb
Sean Farley <sean@farley.io> [Wed, 27 Apr 2016 00:10:49 -0700] rev 29032
ubuntu-wily: add makefile rule to build deb
Sean Farley <sean@farley.io> [Tue, 26 Apr 2016 23:33:17 -0700] rev 29031
make: turn ubuntu docker into template
This allows us to easily add more ubuntu docker targets (which following
patches will do).
Also, we no longer need the mkdir command.
Sean Farley <sean@farley.io> [Wed, 27 Apr 2016 14:02:18 -0700] rev 29030
revsets: add docs for '%' operator
Adam Simpkins <simpkins@fb.com> [Wed, 27 Apr 2016 19:24:31 -0700] rev 29029
graft: fix printing of --continue command
Properly shell quote arguments, to avoid printing commands that won't work when
run literally. For example, a date string with timestamp needs to be quoted:
--date '
1456953053 28800'
Kevin Bullock <kbullock+mercurial@ringworld.org> [Fri, 29 Apr 2016 14:14:00 -0500] rev 29028
hghave: remove unused check for bdist_mpkg
Kevin Bullock <kbullock+mercurial@ringworld.org> [Wed, 27 Apr 2016 10:20:36 -0500] rev 29027
osx: create a modern package including manpages
Instead of using bdist_mpkg, we use the modern Apple-provided tools to
build an OS X Installer package directly. This has several advantages:
* Avoids bdist_mpkg which seems to be barely maintained and is hard to
use.
* Creates a single unified .pkg instead of a .mpkg.
* The package we produce is in the modern, single-file format instead of
a directory bundle that we have to zip up for download.
In addition, this way of building the package now correctly:
* Installs the manpages, bringing the `make osx`-generated package in
line with the official Mac packages we publish on the website.
* Installs files with the correct permissions instead of encoding the
UID of the user who happened to build the package.
Thanks to Augie for updating the test expectations.
Augie Fackler <augie@google.com> [Wed, 27 Apr 2016 11:45:55 -0400] rev 29026
hghave: add check for OS X packaging tools
Augie Fackler <augie@google.com> [Mon, 18 Apr 2016 23:59:55 -0400] rev 29025
tests: add test for Mac OS X package construction
Augie Fackler <augie@google.com> [Mon, 18 Apr 2016 23:59:28 -0400] rev 29024
osx: add support for keeping mpkgs
This is a bit of a hack, but I don't really want to mount a dmg during
a test, and I don't see an option with hdiutil to take a dmg and spit
out a folder, so this is what we've got for now.
Augie Fackler <augie@google.com> [Mon, 18 Apr 2016 23:57:22 -0400] rev 29023
osx: add support for dumping built dmg into OUTPUTDIR
Augie Fackler <augie@google.com> [Mon, 18 Apr 2016 23:55:58 -0400] rev 29022
hghave: add check for bdist_mpkg
Matt Harbison <matt_harbison@yahoo.com> [Wed, 27 Apr 2016 22:45:52 -0400] rev 29021
verify: don't init subrepo when missing one is referenced (
issue5128) (API)
Initializing a subrepo when one doesn't exist is the right thing to do when the
parent is being updated, but in few other cases. Unfortunately, there isn't
enough context in the subrepo module to distinguish this case. This same issue
can be caused with other subrepo aware commands, so there is a general issue
here beyond the scope of this fix.
A simpler attempt I tried was to add an '_updating' boolean to localrepo, and
set/clear it around the call to mergemod.update() in hg.updaterepo(). That
mostly worked, but doesn't handle the case where archive will clone the subrepo
if it is missing. (I vaguely recall that there may be other commands that will
clone if needed like this, but certainly not all do. It seems both handy, and a
bit surprising for what should be a read only operation. It might be nice if
all commands did this consistently, but we probably need Angel's subrepo caching
first, to not make a mess of the working directory.)
I originally handled 'Exception' in order to pick up the Aborts raised in
subrepo.state(), but this turns out to be unnecessary because that is called
once and cached by ctx.sub() when iterating the subrepos.
It was suggested in the bug discussion to skip looking at the subrepo links
unless -S is specified. I don't really like that idea because missing a subrepo
or (less likely, but worse) a corrupt .hgsubstate is a problem of the parent
repo when checking out a revision. The -S option seems like a better fit for
functionality that would recurse into each subrepo and do a full verification.
Ultimately, the default value for 'allowcreate' should probably be flipped, but
since the default behavior was to allow creation, this is less risky for now.
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 28 Apr 2016 08:52:13 -0700] rev 29020
setup: detect Python DLL filename from loaded DLL
Attempting to build Mercurial from source using MinGW from
msys2 on Windows produces a hg.exe that attempts to load e.g.
python27.dll. MinGW prefixes its library name with "lib" and
adds a period between the major and minor versions. e.g.
"libpython2.7.dll."
Before this patch, hg.exe files in a MinGW environment would
either fail to find a Python DLL or would attempt to load a
non-MinGW DLL, which would summarily explode. Either way,
hg.exe wouldn't work.
This patch improves the code that determines the Python DLL
filename to actually use the loaded Python DLL instead of
inferring it. Basically we take the handle of the loaded DLL
from sys.dllhandle and call a Windows API to try to resolve
that handle to a filename.