Mads Kiilerich <madski@unity3d.com> [Mon, 19 May 2014 01:53:34 +0200] rev 21552
update: introduce --tool for controlling the merge tool
Update is a kind of merge and may also need a merge tool and should have the
options described in the merge-tools help.
Mads Kiilerich <madski@unity3d.com> [Fri, 02 May 2014 01:09:14 +0200] rev 21551
merge: fix stupid indentation left over from previous refactorings
Augie Fackler <raf@durin42.com> [Mon, 26 May 2014 12:39:31 -0400] rev 21550
Merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 29 Apr 2014 14:12:32 -0700] rev 21549
revsetbenchmark: support for running on other repo
We add a -R/--repo option to run the benchmarks on another repository. This is
very useful as some repository are bigger/more interesting than the mercurial one.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 29 Apr 2014 13:18:22 -0700] rev 21548
revsetbenchmark: automatically finds the perf extension
Before this changeset, you had to stand in the root of the mercurial repo to run
the `revsetbenchmark.py` script. Otherwise, the perf extension would not be
found a `./contrib/perf.py` and the script would crash in panic.
We now figure out the contrib directory from the location of this script. This
makes it possible to run the script from other location that the mercurial repo
root (but you still need to be in the core mercurial repository)
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 15 May 2014 23:53:21 -0700] rev 21547
bundle2: make sure standard stream are binary
Python on Windows apparently use encoded stream by default. We use the same
trick than elsewhere in the code to make them binary.
This should fix the current buildbot failure on windows.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 19 May 2014 14:39:19 -0700] rev 21546
revset-benchmark: add max(::(tip~20) - obsolete())
This revset is used in evolve. The new revset lazyness should make it all faster
but in practice it is significantly slower.
Below is a timing for this entry on my Mercurial repo.
2.9.2) ! wall 0.034598 comb 0.040000 user 0.040000 sys 0.000000 (best of 100)
3.0+@) ! wall 0.062268 comb 0.060000 user 0.060000 sys 0.000000 (best of 100)
The ~20 have been taken arbitrary.
Mads Kiilerich <madski@unity3d.com> [Fri, 28 Feb 2014 02:25:58 +0100] rev 21545
merge: use separate lists for each action type
This replaces the grand unified action list that had multiple action types as
tuples in one big list. That list was iterated multiple times just to find
actions of a specific type. This data model also made some code more
convoluted than necessary.
Instead we now store actions as a tuple of lists. Using multiple lists gives a
bit of cut'n'pasted code but also enables other optimizations.
This patch uses 'if True:' to preserve indentations and help reviewing. It also
limits the number of conflicts with other pending patches. It can trivially be
cleaned up later.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 May 2014 13:55:08 -0700] rev 21544
changelog: ensure changelog._delaybuf is initialized
The ``localrepo.writepending`` method is using the ``changelog._delaybuff``
attribute to know if it has anything to do. However the ``changelog._delaybuff``
is never initialised at ``__init__`` time. This can lead to crash when using
bundle2 for part that never touch the changelog.
We simply initialize it to its base value. This is scheduled for stable as it
both trivial and blocking for experimenting with bundle2.
Yuya Nishihara <yuya@tcha.org> [Thu, 22 May 2014 22:05:26 +0900] rev 21543
proxy: remove unneeded _set_hostport for compatibility with Python 2.7.7rc1
With Python 2.7.7rc1, "hg pull" through HTTP CONNECT tunnel fails due to the
removal of _set_hostport [1].
...
File "mercurial/url.py", line 372, in https_open
return self.do_open(self._makeconnection, req)
...
File "mercurial/url.py", line 342, in connect
_generic_proxytunnel(self)
File "mercurial/url.py", line 228, in _generic_proxytunnel
self._set_hostport(self.host, self.port)
AttributeError: httpsconnection instance has no attribute '_set_hostport'
self._set_hostport(self.host, self.port) should be noop and can be removed
because:
- _set_hostport() [2] was the function to parse "host:port" string and
set them to self.host and self.port,
- and (self.host, self.port) pair should be valid since connect() is called
prior to _generic_proxytunnel().
[1]: http://hg.python.org/cpython/rev/
568041fd8090
[2]: http://hg.python.org/cpython/file/
3a1db0d2747e/Lib/httplib.py#l721
Jim Hague <jim.hague@acm.org> [Fri, 23 May 2014 17:29:04 +0100] rev 21542
bugzilla: support Bugzilla 4.4.3+ API login token authentication (
issue4257)
Bugzilla 4.4.3 and later remove the old cookie based session authentication
from the Web Services API and replace it with a login token. The session
can now also be restricted to the originating IP.
Add the necessary to the extension so it works with 4.4.3 and later.
Siddharth Agarwal <sid0@fb.com> [Fri, 23 May 2014 13:10:31 -0700] rev 21541
resolve: don't abort resolve -l even when no merge is in progress
This broke some internal automation that was quite reasonably checking for
unresolved files as a way to determine whether a merge happened cleanly. We
still abort for resolve --mark etc.
Durham Goode <durham@fb.com> [Fri, 23 May 2014 16:25:55 -0700] rev 21540
templates: fix ifcontains against sets with length > 1 (
issue4259)
Previously the ifcontains revset was checking against the set using a pure
__contains__ check. It turns out the set was actually a list of
formatted strings meant for ui output, which meant the contains check failed if
the formatted string wasn't significantly different from the raw value.
This change makes it check against the raw data, prior to it being formatted.
Mads Kiilerich <madski@unity3d.com> [Sun, 25 May 2014 13:47:42 +0200] rev 21539
run-tests: assign value to ESCAPEMAP - dict.update do not return self
a36cc85a5b7b did more than what the description said and introduced a bug.
Mads Kiilerich <madski@unity3d.com> [Sun, 25 May 2014 13:47:19 +0200] rev 21538
run-tests: fix invalid reference to stringescape after
a36cc85a5b7b
Durham Goode <durham@fb.com> [Fri, 09 May 2014 18:09:11 -0700] rev 21537
update: specify custom conflict markers for update (BC)
Add custom conflict markers 'working copy' and 'destination' for doing hg update
when there are conflicts between your working copy and the destination.
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 09 May 2014 16:13:14 -0700] rev 21536
run-tests: add docstrings
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 09 May 2014 15:55:58 -0700] rev 21535
run-tests: avoid duplicate code in vlog()
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 25 Apr 2014 15:34:28 -0700] rev 21534
run-tests: make attributes of TestRunner internal
There is little reason for the data members of TestRunner to be public,
as they are implementation details. Enforce it through naming.
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 25 Apr 2014 15:11:38 -0700] rev 21533
run-tests: make testdir an argument of TestSuite.__init__
With this change, TestSuite no longer accesses anything on TestRunner
and the TestRunner is no longer passed to TestSuite.
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 25 Apr 2014 15:08:03 -0700] rev 21532
run-tests: move loop to a named argument of TestSuite.__init__
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 25 Apr 2014 15:06:23 -0700] rev 21531
run-tests: make keywords a named argument to TestSuite.__init__
This was the last usage of option in ``TextTestRunner.run``.
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 25 Apr 2014 15:03:06 -0700] rev 21530
run-tests: make retest a named argument of TestSuite.__init__
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 25 Apr 2014 15:00:54 -0700] rev 21529
run-tests: move whitelist and blacklist to named arguments of TestSuite
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 25 Apr 2014 14:51:53 -0700] rev 21528
run-tests: pass jobs into TestSuite constructor
This starts a series of patches that will lessen the importance of
TestRunner. It will remove the TestRunner instance stored inside the
TestSuite.
Durham Goode <durham@fb.com> [Fri, 16 May 2014 13:15:07 -0700] rev 21527
help: add local/other description to merge tool description
Adds a more detailed description of what 'local' and 'other' mean to the merge
tool documentation.
Durham Goode <durham@fb.com> [Thu, 08 May 2014 16:55:56 -0700] rev 21526
rebase: specify custom conflict marker labels for rebase (BC)
Changes rebase conflict markers to say 'source' and 'dest' instead of
'local' and 'other'. This ends up looking like:
one
<<<<<<< dest:
a3e5c7fd master - bob: "A commit to master"
master
=======
mine
>>>>>>> source:
c7fda3e5 - durham: "A commit to my feature branch"
three
Durham Goode <durham@fb.com> [Fri, 09 May 2014 18:15:02 -0700] rev 21525
graft: customize graft conflict markers (BC)
Changes the graft conflict markers to be 'graft' and 'local' to make it
more intuitive which side is which.
Durham Goode <durham@fb.com> [Thu, 08 May 2014 16:54:23 -0700] rev 21524
merge: add labels parameter from merge.update to filemerge
Adds a labels function parameter to all the functions between merge.update and
filemerge.filemerge. This will allow commands like rebase to specify custom
marker labels.
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 22 Apr 2014 13:32:05 -0700] rev 21523
run-tests: move interactive test acceptance into TestResult
We shouldn't be performing interactive prompting during test execution.
The first step of this is to move the functionality into TestResult.
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 22 Apr 2014 13:25:17 -0700] rev 21522
run-tests: raise WarnTest outside of Test.fail()
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 22 Apr 2014 13:16:34 -0700] rev 21521
run-tests: move diff generation into TestResult
TestResult is the thing that captures all our test results. It's logical
for diff viewing to be handled there and not inside Test.
While writing this patch, it was discovered that Test.fail() was
printing redundant test result output. This has been removed.
Arguments controlling diffs have been removed from Test.__init__.