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