timeless <timeless@mozdev.org> [Mon, 28 Dec 2015 17:48:40 +0000] rev 27689
run-tests: skip threading for a single test
Threading is incompatible with most Python debuggers,
which makes debugging run-tests.py a real pain.
If there is only one test to run, skip using a thread for it.
Note that --debug is not compatible with debugging tests,
since it bypasses the output handling, which is where
much of the excitement is.
Gábor Stefanik <gabor.stefanik@nng.com> [Fri, 08 Jan 2016 16:27:25 +0100] rev 27688
sslutil: fix reversed logic (
issue5034)
Urs Rau <urs.rau@gmail.com> [Thu, 07 Jan 2016 12:49:26 +0000] rev 27687
installer: add windows application version number to inno installer script
This addition to the inno installer script means that the windows uninstaller
registry key “DisplayVersion" is set to the application version number and
will show in Add/Remove Programs.
Laurent Charignon <lcharignon@fb.com> [Tue, 05 Jan 2016 13:33:09 -0800] rev 27686
run-tests: add 'diff' entry in json report
This patch adds to the json report the "diff" between expected and observed
result. This diff can be useful for automatically filing bug report on failing
tests.
Augie Fackler <augie@google.com> [Tue, 01 Dec 2015 13:08:05 -0500] rev 27685
bookmarks: make _readactive safe when readlines raises ENOENT
When reading over static http, the file isn't actually opened until
the readlines() call, so we have to check for ENOENT IOErrors here
too. This is necessary so that we can use the bmstore everywhere for
managing the active bookmark, which will be true in the next change.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 17 Dec 2015 21:24:08 -0500] rev 27684
wix: add help for current internal topics
This makes the changes in
a79cba6cb206 and
84784f834b3a available on Windows.
I'm not setup to make the installer, so someone with experience in this area
should probably give it a look. In looking around to try to figure out how to
build the installer, it looks like the Makefile may need an update to $DOCFILES.
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 07 Jan 2016 14:03:11 -0800] rev 27683
help: fix quoting for bundle1 options
Matt Mackall <mpm@selenic.com> [Thu, 07 Jan 2016 17:51:54 -0600] rev 27682
merge with stable
Yuya Nishihara <yuya@tcha.org> [Fri, 01 Jan 2016 22:35:34 +0900] rev 27681
extdiff: use @command decorator to set up diff commands
It can set "inferrepo" attribute appropriately.
Yuya Nishihara <yuya@tcha.org> [Mon, 04 Jan 2016 22:13:46 +0900] rev 27680
extdiff: factor out list of common options
Yuya Nishihara <yuya@tcha.org> [Mon, 04 Jan 2016 21:40:05 +0900] rev 27679
dispatch: copy inferrepo attribute to alias commands
The other attributes are copied. Let's do the same for the inferrepo.
timeless <timeless@mozdev.org> [Wed, 06 Jan 2016 04:59:46 +0000] rev 27678
transplant: specify the right file and path for unfinishedstates
timeless <timeless@mozdev.org> [Wed, 06 Jan 2016 04:59:21 +0000] rev 27677
transplant: only use checkunfinished if not continue
timeless <timeless@mozdev.org> [Tue, 05 Jan 2016 22:46:04 +0000] rev 27676
transplant: correct language to use working directory
timeless <timeless@mozdev.org> [Wed, 23 Dec 2015 21:30:38 +0000] rev 27675
histedit: replace @addhisteditaction with @action
@action supports verbs, messages, priority, and internal
messages should be translated.
internal means the action should not be listed.
geteditcomment will construct the verbs list based on
@actions (prefering priority over non priority, otherwise
favoring verbs with short forms over verbs without).
timeless <timeless@mozdev.org> [Wed, 23 Dec 2015 21:20:08 +0000] rev 27674
histedit: prefer edit commit, edit message, use commit
Selecting editing commits, rewording commit messages, and
selecting commits are key actions, we will prefer them more
generally in a future commit, this pulls them ahead before
that to make the diffs easier to read.
The remaining commands are left alphabetically sorted
timeless <timeless@mozdev.org> [Wed, 23 Dec 2015 21:17:45 +0000] rev 27673
histedit: replace editcomment with a function
Laurent Charignon <lcharignon@fb.com> [Tue, 05 Jan 2016 07:47:08 -0800] rev 27672
debugignore: find out why a file is being ignored (
issue4856)
This patch adds a capability to hg debugignore: to explain why a given file is
being ignores by mercurial. We display the filename, line and linenumber of the
rule that lead us to ignore the file.
Laurent Charignon <lcharignon@fb.com> [Tue, 05 Jan 2016 07:47:08 -0800] rev 27671
debugignore: find out if a file is being ignored
Before this patch debugignore was just displaying the list of ignore patterns.
This patch makes it support a list of filename as argument and tells the user
if those given files are ignored or not.
Laurent Charignon <lcharignon@fb.com> [Tue, 05 Jan 2016 07:52:04 -0800] rev 27670
dirstate: add a way to get the ignore file/line matching an ignored file
This information will be used to improve debugignore (
issue4856).
timeless <timeless@mozdev.org> [Tue, 05 Jan 2016 19:59:21 +0000] rev 27669
clone: move bookmarks and checkouts before pull help
The bookmark/checkout help actually split the pull help.
The subsequent verbose container is talking about pull too.
This change puts the pull help back together again.
Martin von Zweigbergk <martinvonz@google.com> [Mon, 04 Jan 2016 09:44:58 -0800] rev 27668
status: revert + flag-change == modified
After just changing the flag on a file, plain 'hg status' will report
the file as modified. However, after reverting a file to a previous
revision's state and changing the flag, it will be reported as clean.
Fix by comparing the flags that were previously ignored in
context._buildstatus().
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 05 Jan 2016 20:52:34 -0800] rev 27667
util: remove outdated comment about construction overhead
An old implementation of this class (possibly only in my local repo)
allocated nodes in the cache during construction time, making
__init__ slow for large cache capacities. The current implementation
lazily grow the cache size, making this comment wrong.
timeless <timeless@mozdev.org> [Wed, 06 Jan 2016 06:37:34 +0000] rev 27666
test-transplant.t: improve test coverage
* ?, x, q
* not a parent
* --source
* outstanding local changes
* outstanding uncommitted merges
* no revision checked out
* checkopts all+branch+rev
* checkopts all-branch
* checkopts no-args
* checkopts continue+all
* revset:transplanted(...)
* filter corrupted changeset
Anton Shestakov <av6@dwimlabs.net> [Wed, 06 Jan 2016 15:17:28 +0800] rev 27665
help: use backticks for progress.format keywords, correct letter case
timeless <timeless@mozdev.org> [Wed, 06 Jan 2016 07:55:57 +0000] rev 27664
log: help provide sort by date example
timeless <timeless@mozdev.org> [Wed, 06 Jan 2016 19:29:45 -0500] rev 27663
log: mention ordering
a user complained that hg help log did not hint how to sort
the output by date
Martin von Zweigbergk <martinvonz@google.com> [Wed, 06 Jan 2016 11:12:09 -0800] rev 27662
transaction: remove 'if True:'
This seems to be left over from
96dd93de548c (transaction: reorder
unlinking .hg/journal and .hg/journal.backupfiles, 2015-10-16).
Augie Fackler <raf@durin42.com> [Thu, 31 Dec 2015 13:31:42 -0500] rev 27661
lazymanifest: check more return values in filtercopy
Spotted by Bryan O'Sullivan (and vexingly not the static analyzer I've
been using.)
Jun Wu <quark@fb.com> [Thu, 17 Dec 2015 10:30:17 +0000] rev 27660
mercurial: pass ui to extensions.load (
issue5007)
extensions.load does need ui argument to print error if an extension
fails to load.
Bryan O'Sullivan <bos@serpentine.com> [Mon, 04 Jan 2016 21:54:46 -0800] rev 27659
test-patchbomb.t: drop a number of now-redundant uses of "-n"
Bryan O'Sullivan <bos@serpentine.com> [Mon, 04 Jan 2016 21:54:46 -0800] rev 27658
test-patchbomb.t: test use of sendmail program
Siddharth Agarwal <sid0@fb.com> [Sat, 02 Jan 2016 03:11:52 -0800] rev 27657
merge: add options to warn or ignore on colliding unknown files
A 'colliding unknown file' is a file that meets all of the following
conditions:
- is untracked or ignored on disk
- is present in the changeset being merged or updated to
- has different contents
Previously, we would always abort whenever we saw such files. With this config
option we can choose to warn and back the unknown files up instead, or even
forgo the warning entirely and silently back the unknown files up.
Common use cases for this configuration include a large scale transition of
formerly ignored unknown files to tracked files. In some cases the files can be
given new names, but in other cases, external "convention over configuration"
constraints have determined that the file must retain the same name as before.
Siddharth Agarwal <sid0@fb.com> [Sat, 02 Jan 2016 03:21:01 -0800] rev 27656
batchget: add support for backing up files
We're going to use this in an upcoming feature.
Siddharth Agarwal <sid0@fb.com> [Sat, 02 Jan 2016 03:02:57 -0800] rev 27655
merge: add a new 'backup' argument to get actions
We're going to use this in an upcoming patch to back untracked files up when
they're replaced by tracked ones.
Siddharth Agarwal <sid0@fb.com> [Sat, 02 Jan 2016 03:02:57 -0800] rev 27654
_checkunknownfiles: turn 'conflicts' into a set
We'll check for membership in this set in an upcoming patch.
Siddharth Agarwal <sid0@fb.com> [Sat, 02 Jan 2016 03:02:57 -0800] rev 27653
checkunknownfiles: make control flow clearer
In particular, make it clear that we only check for and abort on conflicts if
force is not true.
Siddharth Agarwal <sid0@fb.com> [Sat, 02 Jan 2016 03:02:57 -0800] rev 27652
_checkunknownfiles: rename 'aborts' to 'conflicts'
In upcoming patches we'll be able to do more useful things than aborting.
Siddharth Agarwal <sid0@fb.com> [Sat, 02 Jan 2016 03:02:57 -0800] rev 27651
origpath: move from cmdutil to scmutil
This is a lower-level function so it doesn't need to be in cmdutil, and putting
it here avoids a bunch of potential import cycle issues.
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 22 Nov 2015 17:57:35 -0800] rev 27650
revlog: remove unnecessary cache validation in _chunks
Previously, we likely called _chunkraw() multiple times in order to
ensure it didn't change out from under us. I'm pretty certain this code
had its origins in the days where we attempted to have thread safety of
localrepository and thus revlog instances.
revlog instances are already not thread safe for writing. And, as of
Mercurial 3.6, hgweb uses a separate localrepository instance per
request, so there should only be a single thread reading a revlog at
a time. We more or less decided that attempting to make classes like
revlog thread safe is a lost cause.
So, this patch removes thread safety from _chunks. As a result, we make
one less call into _chunkraw() when the initial read isn't serviced
by the cache. This translates to savings of 4 function calls overall
and possibly prevents the creation of an additional buffer view into the
cache. I doubt this translates into any real world performance wins
because decompression will almost certainly dwarf time spent in
_chunks(). But it does make the code simpler, so it is an improvement.
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 05 Jan 2016 19:51:51 -0800] rev 27649
revlog: return offset from _chunkraw()
A subsequent patch will refactor _chunks() and the calculation of the
offset will no longer occur in that function. Prepare by returning the
offset from _chunkraw().
Durham Goode <durham@fb.com> [Tue, 05 Jan 2016 17:08:14 -0800] rev 27648
verify: get rid of some unnecessary local variables
Now that all the major functionality has been refactored out, we can delete some
unused local variables.
Durham Goode <durham@fb.com> [Tue, 05 Jan 2016 17:08:14 -0800] rev 27647
verify: move changelog verificaiton to its own function
This makes verify more modular so extensions can hook into it.
Durham Goode <durham@fb.com> [Tue, 05 Jan 2016 18:34:39 -0800] rev 27646
verify: move manifest verification to its own function
This makes verify more modular, making it easier for extensions to extend.
Durham Goode <durham@fb.com> [Tue, 05 Jan 2016 18:31:51 -0800] rev 27645
verify: move file cross checking to its own function
This is part of making verify more modular so extensions can hook into it.
Durham Goode <durham@fb.com> [Tue, 05 Jan 2016 18:28:46 -0800] rev 27644
verify: move filelog verification to its own function
This makes verify more modular so extensions can hook in more easily.
Durham Goode <durham@fb.com> [Tue, 05 Jan 2016 17:08:14 -0800] rev 27643
verify: move checkentry() to be a class function
This is part of making verify more modular so extensions can hook into it.
Durham Goode <durham@fb.com> [Tue, 05 Jan 2016 17:08:14 -0800] rev 27642
verify: move checklog() onto class
This is part of an effort to make verify more modular so extensions can hook
into it.
Mathias De Maré <mathias.demare@gmail.com> [Mon, 04 Jan 2016 21:21:59 +0100] rev 27641
dockerrpm: fix CentOS 5 RPMs (
issue4977)
The older rpmbuild in CentOS 5 fails if some of the output directories
have not been created yet. This change results in creating those directories.
timeless <timeless@mozdev.org> [Thu, 31 Dec 2015 17:41:59 +0000] rev 27640
check-code: enforce strict spacing around assignment
timeless <timeless@mozdev.org> [Thu, 31 Dec 2015 08:17:28 +0000] rev 27639
cleanup: remove superfluous space after space after equals (tests)
timeless <timeless@mozdev.org> [Thu, 31 Dec 2015 08:17:15 +0000] rev 27638
cleanup: remove superfluous space after space after equals (C)
timeless <timeless@mozdev.org> [Thu, 31 Dec 2015 08:16:59 +0000] rev 27637
cleanup: remove superfluous space after space after equals (python)
Bryan O'Sullivan <bos@serpentine.com> [Mon, 04 Jan 2016 21:54:46 -0800] rev 27636
tests: make a stab at approximating wall-clock times
Vaguely empirical observations:
* ".py" tests are about an order of magnitude faster than ".t" tests
* dividing size by 1000 gives an approximation to wall-clock
run time (in seconds) that is not completely ridiculous.
Bryan O'Sullivan <bos@serpentine.com> [Mon, 04 Jan 2016 21:54:46 -0800] rev 27635
tests: only stat a test file if we don't already know its "cost"
Bryan O'Sullivan <bos@serpentine.com> [Mon, 04 Jan 2016 21:54:44 -0800] rev 27634
tests: write recent run times to a file named tests/.testtimes
This is an effortless way to track how long each test takes without
having to pass any extra command line options.
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Dec 2015 11:56:24 -0800] rev 27633
wireproto: support disabling bundle1 only if repo is generaldelta
I recently implemented the server.bundle1* options to control whether
bundle1 exchange is allowed.
After thinking about Mozilla's strategy for handling generaldelta
rollout a bit more, I think server operators need an additional
lever: disable bundle1 if and only if the repo is generaldelta.
bundle1 exchange for non-generaldelta repos will not have the potential
for CPU explosion that generaldelta repos do. Therefore, it makes sense
for server operators to continue to allow bundle1 exchange for
non-generaldelta repos without having to set a per-repo hgrc option
to change the policy depending on whether the repo is generaldelta.
This patch introduces a new set of options to control bundle1 behavior
for generaldelta repos. These options enable server operators to limit
bundle1 restrictions to the class of repos that can be performance
issues. It also allows server operators to tie bundle1 access to store
format. In many server environments (including Mozilla's), legacy repos
will not be generaldelta and new repos will or might be. New repos often
aren't bound by legacy access requirements, so setting a global policy
that disallows access to new/generaldelta repos via bundle1 could be a
reasonable policy in many server environments. This patch makes this
policy very easy to implement (modify global hgrc, add options to
existing generaldelta repos to grandfather them in).
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Jan 2016 15:14:55 -0800] rev 27632
streamclone: use read()
We have a convenience API for reading the full contents of a file.
Use it.
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 30 Dec 2015 16:21:57 -0700] rev 27631
internals: document revlog format
It seems like a good idea to document the revlog format.
There is a lot more that could be added to this documentation.
But you have to start somewhere.
timeless <timeless@mozdev.org> [Tue, 22 Dec 2015 23:25:17 +0000] rev 27630
histedit: hide --outgoing warnings
timeless <timeless@mozdev.org> [Wed, 23 Dec 2015 08:57:04 +0000] rev 27629
histedit: list action when intervention is required
timeless <timeless@mozdev.org> [Wed, 23 Dec 2015 08:52:52 +0000] rev 27628
error: make InterventionRequired take a hint
timeless <timeless@mozdev.org> [Thu, 24 Dec 2015 20:41:17 +0000] rev 27627
histedit: hook afterresolvedstates
timeless <timeless@mozdev.org> [Thu, 24 Dec 2015 20:41:40 +0000] rev 27626
rebase: hook afterresolvedstates
timeless <timeless@mozdev.org> [Thu, 24 Dec 2015 20:46:06 +0000] rev 27625
graft: hook afterresolvedstates
timeless <timeless@mozdev.org> [Thu, 24 Dec 2015 19:25:44 +0000] rev 27624
resolve: suggest the next action
Expose afterresolvedstates to allow graft and similar to
suggest a message when resolving results in no unresolved
files.
If there isn't a matching state in afterresolvedstates,
then if verbose, suggest commiting.
Bryan O'Sullivan <bos@serpentine.com> [Mon, 04 Jan 2016 21:52:44 -0800] rev 27623
dispatch: report similar names consistently
Durham Goode <durham@fb.com> [Mon, 04 Jan 2016 16:14:04 -0800] rev 27622
cmdutil: pass node instead of ctx to diffordiffstat
93bcc73df8d5 changed showpatch to use ctx's more, but it accidentally passed
prev as a context and node as a binary string, when both should be passed as
binary strings (since diffordiffstat tries to resolve them via repo[X]).
This affected hggit since the existing ctx belongs to the git overlay, but the
resolved context (from the repo[X] resolution) should belong to the main repo.
This broke a test because it tried to look in the git repo for data that didn't
exist.
This feels like a deeper issue in hggit somewhere, but the fix is here trivial and
obviously more correct
Yuya Nishihara <yuya@tcha.org> [Sun, 27 Dec 2015 23:37:14 +0900] rev 27621
import-checker: list package directory as stdlib module
Before this patch, a directory containing __init__.py wasn't counted as a
module and __init__.pyc was listed as foo.bar.__init__ module.
Yuya Nishihara <yuya@tcha.org> [Sun, 27 Dec 2015 23:48:19 +0900] rev 27620
import-checker: normalize directory separator to get module name on Windows
It didn't work if a path contains "\\". Therefore, ctypes.util couldn't be
found on Windows.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Jan 2016 11:47:07 -0800] rev 27619
mail: use print function
We no longer use the print statement in mercurial.* \o/
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Jan 2016 11:45:29 -0800] rev 27618
lsprofcalltree: use print function
While I was here, some single element tuples have been removed in
favor of the shorter syntax. Some commented lines of code containing
print statements have also been removed because it was unclear what
purpose they served.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Jan 2016 11:40:53 -0800] rev 27617
lsprof: use print function
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 21 Jun 2015 23:14:54 -0700] rev 27616
keepalive: use print function
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 21 Jun 2015 21:45:41 -0700] rev 27615
dispatch: use print function
Python 3 doesn't have a print statement.
timeless <timeless@mozdev.org> [Fri, 01 Jan 2016 16:59:13 +0000] rev 27614
help: include section heading if section depth changes
This makes it easier to distinguish between:
"format"
--------
"usestore"
...
Enabled by default.
and
"progress.format"
Format of the progress bar.
timeless <timeless@mozdev.org> [Wed, 30 Dec 2015 21:07:51 +0000] rev 27613
import: refactor nocommit and importbranch handling
timeless <timeless@mozdev.org> [Wed, 30 Dec 2015 21:06:31 +0000] rev 27612
import: refactor date and user handling
timeless <timeless@mozdev.org> [Wed, 30 Dec 2015 21:05:42 +0000] rev 27611
import: limit scope of msg in tryimportone
Matt Mackall <mpm@selenic.com> [Sat, 02 Jan 2016 02:13:56 +0100] rev 27610
merge with stable
Augie Fackler <raf@durin42.com> [Thu, 31 Dec 2015 13:45:48 -0500] rev 27609
lazymanifest: check error return in filter
Augie Fackler <raf@durin42.com> [Thu, 31 Dec 2015 13:44:59 -0500] rev 27608
lazymanifest: add missing closing parenthesis in comment
timeless <timeless@mozdev.org> [Wed, 30 Dec 2015 17:10:56 +0000] rev 27607
help: rename the Format section to Structure
This reduces the confusion from `hg help config.format` which deals with
repository format. (But also profiling.format, and progress.format)
timeless <timeless@mozdev.org> [Wed, 30 Dec 2015 17:04:08 +0000] rev 27606
help: refactor version/defaults from format section
The old messages implied that disabling a single setting would ensure
compatibility, but if you disabled one of the older flags, and
left a newer flag, that would not actually do what the docs say.
timeless <timeless@mozdev.org> [Wed, 30 Dec 2015 17:06:11 +0000] rev 27605
help: sort format section from newest to oldest
timeless <timeless@mozdev.org> [Wed, 30 Dec 2015 04:04:51 +0000] rev 27604
histedit: fix comment in newnodestoabort
timeless <timeless@mozdev.org> [Wed, 30 Dec 2015 04:02:04 +0000] rev 27603
histedit: fix comment in applychanges
timeless <timeless@mozdev.org> [Tue, 29 Dec 2015 04:30:38 +0000] rev 27602
run-tests: fix get port to try differing ports
The code was moving its offset each time through the loop,
but because it failed to update port, the port was not
going to be available...
Augie Fackler <augie@google.com> [Thu, 31 Dec 2015 13:19:20 -0500] rev 27601
httpclient: update to
938f2107d6e2 of httpplus
This enhances proxy support in httpclient a little bit, though I don't
know that we used that functionality at all. It also switches httpplus
to using absolute_import.
timeless <timeless@mozdev.org> [Thu, 31 Dec 2015 15:39:38 +0000] rev 27600
histedit: remove unused variable state
Siddharth Agarwal <sid0@fb.com> [Wed, 23 Dec 2015 12:51:45 -0800] rev 27599
filemerge: default change/delete conflicts to 'leave unresolved' (BC)
It makes far more sense to leave these conflicts unresolved and kick back to
the user than to just assume that the local version be chosen. There are almost
certainly buggy scripts and applications using Mercurial in the wild that do
merges or rebases non-interactively, and then assume that if the operation
succeeded there's nothing the user needs to pay attention to.
(This wasn't possible earlier because there was no way to re-resolve
change/delete conflicts -- but now it is.)
Siddharth Agarwal <sid0@fb.com> [Wed, 23 Dec 2015 12:41:20 -0800] rev 27598
tests: explicitly request changed version in test-rebase-newancestor.t
We're going to change the default for this in an upcoming patch, but in this
instance we do want to continue picking the changed version.
Siddharth Agarwal <sid0@fb.com> [Wed, 23 Dec 2015 12:41:20 -0800] rev 27597
tests: explicitly request changed version in c/d conflict in test-commit-amend.t
We're going to change the default for this in an upcoming patch, but in this
instance we do want to continue picking the changed version.
Siddharth Agarwal <sid0@fb.com> [Wed, 23 Dec 2015 12:41:20 -0800] rev 27596
test-copy-move-merge.t: explicitly request changed version
We're going to change the default for this in an upcoming patch, but in this
instance we do want to continue picking the changed version.
Laurent Charignon <lcharignon@fb.com> [Sat, 26 Dec 2015 19:40:38 -0800] rev 27595
match: add option to return line and lineno from readpattern
This will be used to display the line and linenumber of ignorefile that matched
an ignored file (
issue4856).
Laurent Charignon <lcharignon@fb.com> [Wed, 23 Dec 2015 11:52:54 -0800] rev 27594
dirstate: extract logic to compute the list of ignorefiles
We are going to reuse this logic to improve debugignore in the next patches
of the series.