Bernhard Leiner <bleiner@gmail.com> [Wed, 16 Mar 2011 23:09:14 +0100] rev 14496
revset: report a parse error if a revset is not parsed completely (
issue2654)
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Wed, 25 May 2011 18:48:00 +0200] rev 14495
color: fix --color=always when output is piped
Also restructures the mode determination as discussed on IRC.
I tried to simplify the code too, while keeping the original
semantics except for the case of --color=always.
Martin Geisler <mg@lazybytes.net> [Wed, 01 Jun 2011 12:38:46 +0200] rev 14494
check-code: flag 0/1 used as constant Boolean expression
Augie Fackler <durin42@gmail.com> [Tue, 31 May 2011 20:39:04 -0500] rev 14493
run-tests: allow whitelisting tests that should always run
It's desirable to run some tests all the time, for example
test-check-pyflakes.t and test-check-code-hg.py. This allows passing
--whitelist as a path to a file (flag can be specified more than once)
which contains a list of files to whitelist. Whitelisted tests are run
even if they're blacklisted or wouldn't match a --keyword test
run. For example, to do a quick test of usehttp2, one can now do
$ cat > test-whitelist <<EOF
> test-check-pyflakes.t
> test-check-code-hg.py
> EOF
$ (cd tests && ./run-tests.py --extra-config-opt 'ui.usehttp2=true'
> -k http -j 8 --whitelist test-whitelist)
and have all http-specific tests run as well as the two code linters.
Augie Fackler <durin42@gmail.com> [Tue, 31 May 2011 19:49:17 -0500] rev 14492
subrepo: make stdin for svn a pipe for non-interactive use (
issue2759)
This certainly can't hurt, so go ahead and do it, potentially along
with --non-interactive if that flag is safe for the given subcommand.
Matt Mackall <mpm@selenic.com> [Tue, 31 May 2011 17:18:23 -0500] rev 14491
tests: glob version number in test-hgrc
Steven Brown <StevenGBrown@gmail.com> [Sat, 28 May 2011 14:44:45 +0800] rev 14490
web: provide diffstat to the changeset page
This includes all affected files, so it can be used for an extended view of
the files or as a replacement for the filenodelink and filenolink templates.
Matt Mackall <mpm@selenic.com> [Tue, 31 May 2011 16:24:47 -0500] rev 14489
tests: update for handling of missing hgrc includes
Regis Desgroppes <regis.desgroppes@nokia.com> [Tue, 31 May 2011 16:22:04 -0500] rev 14488
subrepo: svn abort now depends on exit code (
issue2833)
desgropp <regis.desgroppes@nokia.com> [Tue, 31 May 2011 12:41:22 +0200] rev 14487
fixed
issue2833: aborts nows depends on svn exit code
Matt Mackall <mpm@selenic.com> [Tue, 31 May 2011 16:00:39 -0500] rev 14486
config: ignore include errors for nonexistent files
Brendan Cully <brendan@kublai.com> [Tue, 31 May 2011 11:52:22 -0700] rev 14485
Make pull -u behave like pull && update
Previously, pull would not update if new branch heads were received,
whereas pull && update would move to the tipmost branch head.
Also change the "crosses branches" abort in merge.update from
"crosses branches (merge branches or use --check to force update)"
to
"crosses branches (merge branches or update --check to force update)"
since it can no longer assume the user is running hg update.
Matt Mackall <mpm@selenic.com> [Tue, 31 May 2011 15:55:23 -0500] rev 14484
requires: note apparent corruption
Adrian Buehlmann <adrian@cadifra.com> [Tue, 31 May 2011 19:16:25 +0200] rev 14483
readrequires: provide easier to understand error message
NEW:
$ hg id
abort: unknown repository format: requires feature 'foo' (upgrade Mercurial)!
OLD:
$ hg id
abort: requirement 'foo' not supported!
Adrian Buehlmann <adrian@cadifra.com> [Tue, 31 May 2011 19:16:18 +0200] rev 14482
introduce new function scmutil.readrequires
for reading and parsing the .hg/requires file
Matt Mackall <mpm@selenic.com> [Tue, 31 May 2011 15:28:23 -0500] rev 14481
merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 31 May 2011 15:26:02 -0500] rev 14480
merge with crew
Matt Mackall <mpm@selenic.com> [Tue, 31 May 2011 15:25:43 -0500] rev 14479
merge with i18n
Martin Geisler <mg@lazybytes.net> [Mon, 30 May 2011 12:21:53 +0200] rev 14478
merge with stable
Martin Geisler <mg@lazybytes.net> [Mon, 30 May 2011 12:21:08 +0200] rev 14477
merge with hg-i18n
Martin Geisler <mg@lazybytes.net> [Mon, 30 May 2011 12:20:36 +0200] rev 14476
merge with hg-i18n
Martin Geisler <mg@lazybytes.net> [Mon, 30 May 2011 11:52:17 +0200] rev 14475
test-gendoc: update for new Russian translation
Alexander Sauta <demosito@gmail.com> [Mon, 30 May 2011 01:24:21 +0400] rev 14474
i18n-ru: branches-import translated
Alexander Sauta <demosito@gmail.com> [Sun, 29 May 2011 02:33:36 +0400] rev 14473
i18n-ru:bisect,backout,branch translated
Alexander Sauta <demosito@gmail.com> [Sun, 29 May 2011 01:42:59 +0400] rev 14472
i18n-ru: translated add, addremove, annotate, archive
Alexander Sauta <demosito@gmail.com> [Sun, 29 May 2011 01:31:12 +0400] rev 14471
i18n-ru:translation started,convert translated
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 19 May 2011 16:25:26 -0300] rev 14470
i18n-pt_BR: synchronized with
ab687820c4cc
Eric Eisner <ede@alum.mit.edu> [Sat, 28 May 2011 11:03:48 -0400] rev 14469
subrepo: don't crash when git .hgsubstate is empty (
issue2716)
Idan Kamara <idankk86@gmail.com> [Mon, 30 May 2011 21:44:03 +0300] rev 14468
mq: no need to make a copy of seriesopts
the command decorator takes care of copying the
options (introduced in
5b48ad1e7f1a)
Adrian Buehlmann <adrian@cadifra.com> [Fri, 27 May 2011 21:11:44 +0200] rev 14467
workingctx.remove: use self.forget
Martin Geisler <mg@aragost.com> [Tue, 31 May 2011 13:18:56 +0200] rev 14466
commands: use repo.branchheads in heads command
Martin Geisler <mg@aragost.com> [Tue, 31 May 2011 09:59:03 +0200] rev 14465
commands: remove unused variable from heads command
The b variable has not been needed since
fd511e9eeea6. Renamed ls
variable to bheads for clarity.
Martin Geisler <mg@aragost.com> [Tue, 31 May 2011 08:47:16 +0200] rev 14464
mq: print "'foo' 'bar'", not "['foo', 'bar']" when showing guards
The internal list representation of guards was leaking into the
output. The guards were always printed using repr(guard) and that
style was kept.
When "hg qguard -l" prints several guards for a patch, it does so by
joining the names with " " and that style was used for the error
messages too.
Martin Geisler <mg@aragost.com> [Fri, 27 May 2011 12:42:36 +0200] rev 14463
hg: remove underscores in clone function
Idan Kamara <idankk86@gmail.com> [Sun, 29 May 2011 13:43:50 +0300] rev 14462
hg-ssh: fix dispatch call to use dispatch.request()
08bfec2ef031 changed dispatch.dispatch() to accept a
request object instead of a list of arguments
Martin Geisler <mg@lazybytes.net> [Mon, 30 May 2011 11:18:47 +0200] rev 14461
gendoc: config help topic is in hgrc.5, do not include it in hg.1
Martin Geisler <mg@lazybytes.net> [Mon, 30 May 2011 11:15:25 +0200] rev 14460
doc: improve merge between hgrc.5 and config help topic
Martin Geisler <mg@lazybytes.net> [Mon, 30 May 2011 11:14:31 +0200] rev 14459
doc: rebuild hgrc.5 man and HTML page when help/config changes
Martin Geisler <mg@lazybytes.net> [Mon, 30 May 2011 10:35:43 +0200] rev 14458
help/config: separate terms with a blank line
This makes it easier for translators since they can then translate
each term individually.
Martin Geisler <mg@lazybytes.net> [Mon, 30 May 2011 10:30:46 +0200] rev 14457
help/config: fix rendering of definition list
Without the blank line, the minirst parser renders
Term-1
Line-1
Line-2
Term-2
Line-1
as
Term-1
Line-1
Line-2 Term-2 Line-1
because the second term is seen as a paragraph.
Yun Lee <yun.lee.bj@gmail.com> [Mon, 30 May 2011 10:21:39 +0200] rev 14456
help: move part of hgrc.5 man page config help topic
Yun Lee <yun.lee.bj@gmail.com> [Mon, 30 May 2011 10:05:39 +0200] rev 14455
hgrc.5: make minirst find headings correctly
The minirst parser is stricter than Docutils here and require a blank
after a heading. Otherwise the heading is classified as a paragraph.
Patrick Mezard <pmezard@gmail.com> [Sat, 28 May 2011 11:44:27 +0200] rev 14454
run-tests: fix --blacklist (broken by
95715c2f90bf)
Patrick Mezard <pmezard@gmail.com> [Fri, 27 May 2011 21:50:11 +0200] rev 14453
patch: do not patch unknown files (
issue752)
Patrick Mezard <pmezard@gmail.com> [Fri, 27 May 2011 21:50:10 +0200] rev 14452
patch: use temporary files to handle intermediate copies
git patches may require copies to be handled out-of-order. For instance, take
the following sequence:
* modify a
* copy a into b
Here, we have to generate b from a before its modification. To do so,
applydiff() was scanning for copy metadata and performing the copies before
processing the other changes in-order. While smart and efficient, this approach
complicates things by handling file copies and file creations at different
places and times. While a new file must not exist before being patched a copied
file already exists before applying the first hunk.
Instead of copying the files at their final destination before patching, we
store them in a temporary file location and retrieve them when patching. The
filestore always stores file content in real files but nothing prevents adding
a cache layer. The filestore class was kept separate from fsbackend for at
least two reasons:
- This class is likely to be reused as a temporary result store for a future
repository patching call (entries just have to be extended to contain copy
sources).
- Delegating this role to backends might be more efficient in a repository
backend case: the source files are already available in the repository itself
and do not need to be copied again. It also means that third-parties backend
would have to implement two other methods. If we ever decide to merge the
filestore feature into backend, a minimalistic approach would be to compose
with filestore directly. Keep in mind this copy overhead only applies for
copy/rename sources, and may even be reduced to copy sources which have to
handled ahead of time.
Patrick Mezard <pmezard@gmail.com> [Fri, 27 May 2011 21:50:09 +0200] rev 14451
patch: refactor file creation/removal detection
The patcher has to know if a file is being created or removed to check if the
target already exists, or to actually unlink the file when a hunk emptying it
is applied. This was done by embedding the creation/removal information in the
first (and only) hunk attached to the file.
There are two problems with this approach:
- creation/removal is really a property of the file being patched and not its
hunk.
- for regular patches, file creation cannot be deduced at parsing time: there
are case where the *stripped* file paths must be compared. Modifying hunks
after their creation is clumsy and prevent further refactorings related to
copies handling.
Instead, we delegate this job to selectfile() which has all the relevant
information, and remove the hunk createfile() and rmfile() methods.
Adrian Buehlmann <adrian@cadifra.com> [Fri, 27 May 2011 15:59:52 +0200] rev 14450
commands.remove: don't use workingctx.remove(list, unlink=True)
workingctx.remove(list, unlink=True) is unsuited here, because it does too
much: it also unlinks added files. But the command 'hg remove' is specified
to *never* unlink added files.
Instead, we now unlink the files at the commands.remove level (if --after was
not specified) and use workingctx.forget for all files.
As an added bonus, this happens to eliminate a wlock acquire/release pair,
since the previous implementation caused
acquire wlock
release wlock
acquire wlock
release wlock
where the first pair of acquire/release was caused by the workingctx.forget
call, and the second by the workingctx.remove call.
Idan Kamara <idankk86@gmail.com> [Fri, 27 May 2011 17:51:16 +0300] rev 14449
tests: add a test to check for duplicate command options
Idan Kamara <idankk86@gmail.com> [Fri, 27 May 2011 17:49:54 +0300] rev 14448
mq: allow --mq for qrecord
Idan Kamara <idankk86@gmail.com> [Fri, 27 May 2011 17:46:48 +0300] rev 14447
run-tests: fix --blacklist with jobs > 1
filter blacklisted tests before partitioning them
to the children.
maintains the 'Skipped...' output but not the 's'.
Idan Kamara <idankk86@gmail.com> [Fri, 27 May 2011 17:46:47 +0300] rev 14446
run-tests: slightly simplify blacklist check
Matt Mackall <mpm@selenic.com> [Fri, 27 May 2011 08:50:27 -0500] rev 14445
coal: use preformatted text for descriptions (
issue2835)
The coal style was broken here by an earlier change to paper, which
shares files.
Adrian Buehlmann <adrian@cadifra.com> [Fri, 27 May 2011 10:03:29 +0200] rev 14444
rebase: add option --tool/-t for 'pull --rebase'
This makes 'pull --rebase' consistent with the merge command, which already
provides that option to control the merges
Martin Geisler <mg@aragost.com> [Fri, 27 May 2011 11:01:44 +0200] rev 14443
subrepo: refactor writestate for clarity
Matt Mackall <mpm@selenic.com> [Thu, 26 May 2011 17:15:35 -0500] rev 14442
cmdutil: make private copies of option lists to avoid sharing monkeypatches
Idan Kamara <idankk86@gmail.com> [Thu, 26 May 2011 19:00:47 +0300] rev 14441
record: fix options placeholder
Paul Molodowitch <pm@stanfordalumni.org> [Wed, 25 May 2011 08:38:58 -0700] rev 14440
subrepo: bare git repos considered dirty
Currently, if there is a bare git subrepo, but it is at the "right"
revision, calling dirty() will error because diff-index does not work
on bare repos. This patch makes it so bare subrepos are always
considered dirty.
Idan Kamara <idankk86@gmail.com> [Thu, 26 May 2011 00:53:23 +0300] rev 14439
dispatch: use the request to store the ui object
and check if we got one before creating.
note that the contents of the ui object might change after
dispatch() returns (by options passed through --config for example),
to ensure it doesn't, pass a copy() of it.
Idan Kamara <idankk86@gmail.com> [Thu, 26 May 2011 00:44:11 +0300] rev 14438
dispatch: wrap dispatch related information in a request class
currently only stores the arguments.
Steven Brown <StevenGBrown@gmail.com> [Thu, 26 May 2011 22:51:02 +0800] rev 14437
patch: restore the previous output of 'diff --stat'
Restore the previous diffstat behaviour of scaling by the maximum number of
changes to a single file. Changeset
f03f08240c32 modified the diffstat to be
scaled by the total number of changes. This seems to have been unintentional.