Tue, 31 May 2011 08:47:16 +0200 mq: print "'foo' 'bar'", not "['foo', 'bar']" when showing guards
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.
Fri, 27 May 2011 12:42:36 +0200 hg: remove underscores in clone function
Martin Geisler <mg@aragost.com> [Fri, 27 May 2011 12:42:36 +0200] rev 14463
hg: remove underscores in clone function
Sun, 29 May 2011 13:43:50 +0300 hg-ssh: fix dispatch call to use dispatch.request()
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
Mon, 30 May 2011 11:18:47 +0200 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:18:47 +0200] rev 14461
gendoc: config help topic is in hgrc.5, do not include it in hg.1
Mon, 30 May 2011 11:15:25 +0200 doc: improve merge between hgrc.5 and config help topic
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
Mon, 30 May 2011 11:14:31 +0200 doc: rebuild hgrc.5 man and HTML page when help/config changes
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
Mon, 30 May 2011 10:35:43 +0200 help/config: separate terms with a blank line
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.
Mon, 30 May 2011 10:30:46 +0200 help/config: fix rendering of definition list
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.
Mon, 30 May 2011 10:21:39 +0200 help: move part of hgrc.5 man page config help topic
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
Mon, 30 May 2011 10:05:39 +0200 hgrc.5: make minirst find headings correctly
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.
Sat, 28 May 2011 11:44:27 +0200 run-tests: fix --blacklist (broken by 95715c2f90bf)
Patrick Mezard <pmezard@gmail.com> [Sat, 28 May 2011 11:44:27 +0200] rev 14454
run-tests: fix --blacklist (broken by 95715c2f90bf)
Fri, 27 May 2011 21:50:11 +0200 patch: do not patch unknown files (issue752)
Patrick Mezard <pmezard@gmail.com> [Fri, 27 May 2011 21:50:11 +0200] rev 14453
patch: do not patch unknown files (issue752)
Fri, 27 May 2011 21:50:10 +0200 patch: use temporary files to handle intermediate copies
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.
Fri, 27 May 2011 21:50:09 +0200 patch: refactor file creation/removal detection
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.
Fri, 27 May 2011 15:59:52 +0200 commands.remove: don't use workingctx.remove(list, unlink=True)
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.
Fri, 27 May 2011 17:51:16 +0300 tests: add a test to check for duplicate command options
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
Fri, 27 May 2011 17:49:54 +0300 mq: allow --mq for qrecord
Idan Kamara <idankk86@gmail.com> [Fri, 27 May 2011 17:49:54 +0300] rev 14448
mq: allow --mq for qrecord
Fri, 27 May 2011 17:46:48 +0300 run-tests: fix --blacklist with jobs > 1
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'.
Fri, 27 May 2011 17:46:47 +0300 run-tests: slightly simplify blacklist check
Idan Kamara <idankk86@gmail.com> [Fri, 27 May 2011 17:46:47 +0300] rev 14446
run-tests: slightly simplify blacklist check
Fri, 27 May 2011 08:50:27 -0500 coal: use preformatted text for descriptions (issue2835)
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.
Fri, 27 May 2011 10:03:29 +0200 rebase: add option --tool/-t for 'pull --rebase'
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
Fri, 27 May 2011 11:01:44 +0200 subrepo: refactor writestate for clarity
Martin Geisler <mg@aragost.com> [Fri, 27 May 2011 11:01:44 +0200] rev 14443
subrepo: refactor writestate for clarity
Thu, 26 May 2011 17:15:35 -0500 cmdutil: make private copies of option lists to avoid sharing monkeypatches
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
Thu, 26 May 2011 19:00:47 +0300 record: fix options placeholder
Idan Kamara <idankk86@gmail.com> [Thu, 26 May 2011 19:00:47 +0300] rev 14441
record: fix options placeholder
Wed, 25 May 2011 08:38:58 -0700 subrepo: bare git repos considered dirty
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.
Thu, 26 May 2011 00:53:23 +0300 dispatch: use the request to store the ui object
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.
Thu, 26 May 2011 00:44:11 +0300 dispatch: wrap dispatch related information in a request class
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.
Thu, 26 May 2011 22:51:02 +0800 patch: restore the previous output of 'diff --stat'
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.
Tue, 24 May 2011 17:48:16 +0200 wireproto: enable optional args for known() for future extensibility
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Tue, 24 May 2011 17:48:16 +0200] rev 14436
wireproto: enable optional args for known() for future extensibility Firstly, I think we should do this for all new wire commands, just to be on the safe side. So I want to get this into the 1.9 release. Secondly, there actually is potential here that sometimes the server can know that the number of its nodes which can possibly still be undecided on the client is small. It might then just send them along directly (cutting short the end game). This, however, requires walking the graph on the server, which can be expensive, so for the moment we're not actually doing it.
Thu, 26 May 2011 17:15:35 -0500 context: make forget work like commands.forget
Matt Mackall <mpm@selenic.com> [Thu, 26 May 2011 17:15:35 -0500] rev 14435
context: make forget work like commands.forget Switch users of wctx.delete(..., False) to forget.
Thu, 26 May 2011 17:15:35 -0500 dirstate: rename forget to drop
Matt Mackall <mpm@selenic.com> [Thu, 26 May 2011 17:15:35 -0500] rev 14434
dirstate: rename forget to drop It has substantially different semantics from forget at the command layer, so change it to avoid confusion. We can't simply combine it with remove because we need to explicitly drop non-added files in some cases like commit.
Thu, 26 May 2011 10:46:34 +0200 minirst: read test input from stdin
Martin Geisler <mg@aragost.com> [Thu, 26 May 2011 10:46:34 +0200] rev 14433
minirst: read test input from stdin
Thu, 26 May 2011 11:11:34 +0200 tests: update monotone version requirement
Sune Foldager <cryo@cyanite.org> [Thu, 26 May 2011 11:11:34 +0200] rev 14432
tests: update monotone version requirement
Wed, 25 May 2011 10:06:17 +0200 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com> [Wed, 25 May 2011 10:06:17 +0200] rev 14431
test-git-import: test patching existing copy targets
Tue, 24 May 2011 17:30:00 -0500 httprepo: handle large lengths by bypassing the len() operator
Matt Mackall <mpm@selenic.com> [Tue, 24 May 2011 17:30:00 -0500] rev 14430
httprepo: handle large lengths by bypassing the len() operator
Tue, 24 May 2011 14:52:23 +0200 workingctx.remove: don't stat files again after unlinking
Adrian Buehlmann <adrian@cadifra.com> [Tue, 24 May 2011 14:52:23 +0200] rev 14429
workingctx.remove: don't stat files again after unlinking we already know at this point that they have been unlinked
Tue, 24 May 2011 17:16:31 -0500 httprepo: send URL redirection notices to stderr (issue2828)
Matt Mackall <mpm@selenic.com> [Tue, 24 May 2011 17:16:31 -0500] rev 14428
httprepo: send URL redirection notices to stderr (issue2828)
Tue, 24 May 2011 19:17:22 +0300 record: alias qrecord to qnew -i/--interactive
Idan Kamara <idankk86@gmail.com> [Tue, 24 May 2011 19:17:22 +0300] rev 14427
record: alias qrecord to qnew -i/--interactive
Tue, 24 May 2011 19:17:19 +0300 record: add qrefresh -i/--interactive
Idan Kamara <idankk86@gmail.com> [Tue, 24 May 2011 19:17:19 +0300] rev 14426
record: add qrefresh -i/--interactive interactively select changes to refresh
Tue, 24 May 2011 19:17:04 +0300 record: add an option to backup all wc modifications
Idan Kamara <idankk86@gmail.com> [Tue, 24 May 2011 19:17:04 +0300] rev 14425
record: add an option to backup all wc modifications Also, don't create a backup dir if we have no files to backup. This is essential for qrefresh --interactive. Since we can't select individual files to qrefresh without eliminating already present changes, we have to backup all changes in the working copy to avoid refreshing unaccepted hunks. (thanks to Patrick for the idea)
Tue, 24 May 2011 19:17:02 +0300 record: check patch name is valid before prompting in qrecord
Idan Kamara <idankk86@gmail.com> [Tue, 24 May 2011 19:17:02 +0300] rev 14424
record: check patch name is valid before prompting in qrecord
Tue, 24 May 2011 19:16:51 +0300 mq: use checkpatchname
Idan Kamara <idankk86@gmail.com> [Tue, 24 May 2011 19:16:51 +0300] rev 14423
mq: use checkpatchname This also fixes a bug where qrename would allow renaming a patch to a reserved name.
Tue, 24 May 2011 19:16:51 +0300 mq: wrap patch file name checks in a function
Idan Kamara <idankk86@gmail.com> [Tue, 24 May 2011 19:16:51 +0300] rev 14422
mq: wrap patch file name checks in a function
Tue, 24 May 2011 13:30:10 -0500 pure parsers: properly detect corrupt index files
Augie Fackler <durin42@gmail.com> [Tue, 24 May 2011 13:30:10 -0500] rev 14421
pure parsers: properly detect corrupt index files This new Python code should be equivalent in behavior to the if statement at line 312 of parsers.c. Without this, the pure-python parsers improperly ignore truncated revlogs as created in test-verify.t.
Tue, 24 May 2011 14:08:20 +0200 workingctx: unlink paths while holding the wlock
Adrian Buehlmann <adrian@cadifra.com> [Tue, 24 May 2011 14:08:20 +0200] rev 14420
workingctx: unlink paths while holding the wlock
Tue, 24 May 2011 16:12:01 +0200 wireproto: do not hash when heads == ['force']
Martin Geisler <mg@aragost.com> [Tue, 24 May 2011 16:12:01 +0200] rev 14419
wireproto: do not hash when heads == ['force'] Changeset 88f0e41d8802 introduced the unbundlehash capability and unconditionally hashed the heads on the client side. By mistake, the heads were also cased in the heads == ['force'] case.
Tue, 24 May 2011 14:21:04 +0200 patch: remove EOL support from linereader class
Patrick Mezard <pmezard@gmail.com> [Tue, 24 May 2011 14:21:04 +0200] rev 14418
patch: remove EOL support from linereader class This was only used when reading patched files which is now done by backends.
Mon, 23 May 2011 22:49:10 -0500 subrepo: handle local added subrepo case correctly
Matt Mackall <mpm@selenic.com> [Mon, 23 May 2011 22:49:10 -0500] rev 14417
subrepo: handle local added subrepo case correctly
Mon, 23 May 2011 23:22:47 +0300 graphlog: remove unused arg from _wrapcmd
Idan Kamara <idankk86@gmail.com> [Mon, 23 May 2011 23:22:47 +0300] rev 14416
graphlog: remove unused arg from _wrapcmd
Mon, 23 May 2011 23:09:00 +0300 extensions: raise when trying to find an extension that failed to load
Idan Kamara <idankk86@gmail.com> [Mon, 23 May 2011 23:09:00 +0300] rev 14415
extensions: raise when trying to find an extension that failed to load extensions that depend on other extensions (such as record) use this pattern to check if the dependant extension is available: try: mq = extensions.find('mq') except KeyError: return but since if an error occurs while loading an extension it leaves its entry in the _extensions map as None, we want to raise in that situation too. (rather than adding another check if the return value is None)
Mon, 23 May 2011 15:56:31 +0200 remove: clarify help text about added files never being deleted from disk
Adrian Buehlmann <adrian@cadifra.com> [Mon, 23 May 2011 15:56:31 +0200] rev 14414
remove: clarify help text about added files never being deleted from disk
Wed, 18 May 2011 09:12:27 +0200 pure: provide more correct implementation of posixfile for Windows
Adrian Buehlmann <adrian@cadifra.com> [Wed, 18 May 2011 09:12:27 +0200] rev 14413
pure: provide more correct implementation of posixfile for Windows requires ctypes Why is posixfile a class? Because the implementation needs to use the Python library call os.fdopen [1], which sets the 'name' attribute on the Python file object it creates to the mostly meaningless string '<fdopen>', since file descriptors don't have a name. But users of posixfile depend on the name attribute [2] being set to a proper value, like Python's built-in 'open' function sets it on file objects. Python file's name attribute is read-only, so we can't just assign to it after the file object has alrady been created. To solve this problem, we save the name of the file on a wrapper object, and delegate the file function calls to the wrapped (private) file object using __getattr__. [1] http://docs.python.org/library/os.html#os.fdopen [2] http://docs.python.org/library/stdtypes.html#file.name
Mon, 23 May 2011 20:35:10 +0200 bundlerepo: make getremotechanges support filtering of incoming
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Mon, 23 May 2011 20:35:10 +0200] rev 14412
bundlerepo: make getremotechanges support filtering of incoming Extensions can hook discovery.findcommonincoming to filter out unwanted remote changesets. This patch makes getremotechanges respect the changed remote heads returned by such extensions.
Mon, 23 May 2011 20:32:29 +0200 tests: add tests for discovery/pull without cgsubset
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Mon, 23 May 2011 20:32:29 +0200] rev 14411
tests: add tests for discovery/pull without cgsubset
Mon, 23 May 2011 20:31:39 +0200 tests: add tests for partial pulls with treediscovery
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Mon, 23 May 2011 20:31:39 +0200] rev 14410
tests: add tests for partial pulls with treediscovery
Mon, 23 May 2011 20:31:04 +0200 tests: support multiple caps in notcapable
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Mon, 23 May 2011 20:31:04 +0200] rev 14409
tests: support multiple caps in notcapable
Sun, 22 May 2011 16:10:03 +0300 record: use cmdutil.command decorator
Idan Kamara <idankk86@gmail.com> [Sun, 22 May 2011 16:10:03 +0300] rev 14408
record: use cmdutil.command decorator
Sun, 22 May 2011 16:10:02 +0300 record: suggest the right command when running non interactively
Idan Kamara <idankk86@gmail.com> [Sun, 22 May 2011 16:10:02 +0300] rev 14407
record: suggest the right command when running non interactively
Sun, 22 May 2011 11:03:15 +0200 applyupdates: audit merged files
Adrian Buehlmann <adrian@cadifra.com> [Sun, 22 May 2011 11:03:15 +0200] rev 14406
applyupdates: audit merged files protects changing flags on merged files (util.setflags call on line 341)
Sat, 21 May 2011 23:21:12 +0200 applyupdates: audit path on flag changes
Adrian Buehlmann <adrian@cadifra.com> [Sat, 21 May 2011 23:21:12 +0200] rev 14405
applyupdates: audit path on flag changes we're using the auditor of the repo wopener, since this is a path that belongs to the tree we're updating to
(0) -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 +10000 +30000 tip