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
Sat, 21 May 2011 23:13:59 +0200 opener: add audit function
Adrian Buehlmann <adrian@cadifra.com> [Sat, 21 May 2011 23:13:59 +0200] rev 14404
opener: add audit function
Sat, 21 May 2011 15:09:15 -0500 templatekw: use diffstatsum in diffstat keyword
Matt Mackall <mpm@selenic.com> [Sat, 21 May 2011 15:09:15 -0500] rev 14403
templatekw: use diffstatsum in diffstat keyword
Sat, 21 May 2011 15:06:38 -0500 patch: use diffstatsum in diffstat
Matt Mackall <mpm@selenic.com> [Sat, 21 May 2011 15:06:38 -0500] rev 14402
patch: use diffstatsum in diffstat
Sat, 21 May 2011 15:06:36 -0500 patch: add diffstatsum helper
Matt Mackall <mpm@selenic.com> [Sat, 21 May 2011 15:06:36 -0500] rev 14401
patch: add diffstatsum helper
Sat, 21 May 2011 15:01:28 -0500 diffstatdata: no longer a generator
Matt Mackall <mpm@selenic.com> [Sat, 21 May 2011 15:01:28 -0500] rev 14400
diffstatdata: no longer a generator This produces a smallish amount of data and all consumers needed to buffer it anyway.
Wed, 18 May 2011 21:31:40 +0200 add new option --all to manifest command
Adrian Buehlmann <adrian@cadifra.com> [Wed, 18 May 2011 21:31:40 +0200] rev 14399
add new option --all to manifest command prints a list of all files in all revisions of the repo obsoletes the cifiles extension
Sat, 21 May 2011 02:05:00 +0200 applyupdates: audit unlinking of renamed files and directories
Adrian Buehlmann <adrian@cadifra.com> [Sat, 21 May 2011 02:05:00 +0200] rev 14398
applyupdates: audit unlinking of renamed files and directories
Fri, 20 May 2011 21:04:45 +0300 patchbomb: pass --git argument to diffstat
Idan Kamara <idankk86@gmail.com> [Fri, 20 May 2011 21:04:45 +0300] rev 14397
patchbomb: pass --git argument to diffstat
Fri, 20 May 2011 21:20:24 +0300 mq: strip all leading slashes from url when importing
Idan Kamara <idankk86@gmail.com> [Fri, 20 May 2011 21:20:24 +0300] rev 14396
mq: strip all leading slashes from url when importing When trying to import a url that ends with a slash os.path.basename() would return an empty string. So when seeing a leading slash, remove it and infer the patch name from the remaining url. e.g. `hg qimport http://paste.pocoo.org/raw/xxx/` deduced '.' to be the patch name. Now we'll deduce 'xxx'.
Fri, 20 May 2011 21:19:33 +0300 mq: check patch name is valid before reading imported file
Idan Kamara <idankk86@gmail.com> [Fri, 20 May 2011 21:19:33 +0300] rev 14395
mq: check patch name is valid before reading imported file
Sat, 21 May 2011 15:01:28 -0500 tests: update monotone output for v1.0 changes
Matt Mackall <mpm@selenic.com> [Sat, 21 May 2011 15:01:28 -0500] rev 14394
tests: update monotone output for v1.0 changes
Sat, 21 May 2011 15:01:28 -0500 revlog: stop exporting node.short
Matt Mackall <mpm@selenic.com> [Sat, 21 May 2011 15:01:28 -0500] rev 14393
revlog: stop exporting node.short
Thu, 19 May 2011 22:55:13 +0200 patch: fast-path git case in selectfile()
Patrick Mezard <pmezard@gmail.com> [Thu, 19 May 2011 22:55:13 +0200] rev 14392
patch: fast-path git case in selectfile() We avoid a lot of complicated heuristics in git cases, where these heurestics may even be broken when copies are involved.
Thu, 19 May 2011 22:49:43 +0200 patch: unify backend file access interface
Patrick Mezard <pmezard@gmail.com> [Thu, 19 May 2011 22:49:43 +0200] rev 14391
patch: unify backend file access interface - Rename readlines() into getfile(), return data and mode - Make setfile() write a data buffer instead of lines, make mode mandatory.
Thu, 19 May 2011 22:44:01 +0200 patch: merge backend setmode() into writelines()
Patrick Mezard <pmezard@gmail.com> [Thu, 19 May 2011 22:44:01 +0200] rev 14390
patch: merge backend setmode() into writelines() Copy handling will be easier to handle in a single method.
Thu, 19 May 2011 22:44:01 +0200 patch: stop modifying gitpatch objects
Patrick Mezard <pmezard@gmail.com> [Thu, 19 May 2011 22:44:01 +0200] rev 14389
patch: stop modifying gitpatch objects gitpatch objects emitted by iterhunks() were referencing file paths unmodified from the input patch. _applydif() made them usable by modifying the gitpatch objects in-place with specified path strip level. The same modified objects were then reused by iterhunks() generator. _applydiff() now copies and update the paths which completely decouples both routines. As a side effect, the "git" event now receives only metadata about copies/renames to perform the necessary copies ahead of time. Other actions are handled in the "file" event.
Thu, 19 May 2011 22:44:01 +0200 patch: stop handling hunkless git blocks out of stream
Patrick Mezard <pmezard@gmail.com> [Thu, 19 May 2011 22:44:01 +0200] rev 14388
patch: stop handling hunkless git blocks out of stream Patch changes are emitted by iterhunks() in two separate events: 'file' when hunks have to be applied and 'git' to describe other modifications like copies or mode changes. Note that a file which mode is changed and which content is modified by the same patch will be emitted in both events. It is more convenient to handle all file modifications in a single event. This patch "zips" git actions with regular changes so both kinds can be emitted at the same place.
Thu, 19 May 2011 22:44:01 +0200 patch: reindent code
Patrick Mezard <pmezard@gmail.com> [Thu, 19 May 2011 22:44:01 +0200] rev 14387
patch: reindent code
Thu, 19 May 2011 22:44:01 +0200 patch: unify iterhunks() afile/bfile handling
Patrick Mezard <pmezard@gmail.com> [Thu, 19 May 2011 22:44:01 +0200] rev 14386
patch: unify iterhunks() afile/bfile handling git afile/bfile are extracted twice, once when reading a 'diff --git', and again when reading a unified hunk. The problem is not all git blocks have unified hunks (renames just have metadata) and they were not extracted the same way. This is what this patch unifies.
Thu, 19 May 2011 22:44:01 +0200 patch: git metadata was ignored if strip > 1
Patrick Mezard <pmezard@gmail.com> [Thu, 19 May 2011 22:44:01 +0200] rev 14385
patch: git metadata was ignored if strip > 1 gitpatch objects emitted by iterhunks() are modified in place by applydiff(). Processing them earlier improves iterhunks() isolation. applydiff() modifying them should still be fixed though.
Thu, 19 May 2011 22:44:01 +0200 patch: construct and parse binary hunks at the same time
Patrick Mezard <pmezard@gmail.com> [Thu, 19 May 2011 22:44:01 +0200] rev 14384
patch: construct and parse binary hunks at the same time
Thu, 19 May 2011 22:44:01 +0200 patch: refactor iterhunks() regular and binary files emission
Patrick Mezard <pmezard@gmail.com> [Thu, 19 May 2011 22:44:01 +0200] rev 14383
patch: refactor iterhunks() regular and binary files emission
Thu, 19 May 2011 22:44:01 +0200 patch: remove patch.patch() cwd argument
Patrick Mezard <pmezard@gmail.com> [Thu, 19 May 2011 22:44:01 +0200] rev 14382
patch: remove patch.patch() cwd argument
Thu, 19 May 2011 22:44:01 +0200 patch: merge _updatedir() into externalpatch()
Patrick Mezard <pmezard@gmail.com> [Thu, 19 May 2011 22:44:01 +0200] rev 14381
patch: merge _updatedir() into externalpatch()
Thu, 19 May 2011 18:10:03 +0200 merge with stable
Martin Geisler <mg@aragost.com> [Thu, 19 May 2011 18:10:03 +0200] rev 14380
merge with stable
Thu, 19 May 2011 18:09:25 +0200 changelog: convert user and desc from local encoding early stable
Martin Geisler <mg@aragost.com> [Thu, 19 May 2011 18:09:25 +0200] rev 14379
changelog: convert user and desc from local encoding early Failing to do so makes it impossible to use the memctx API to create a changeset with a commit message or username outside of the current encoding.encoding setting.
Thu, 19 May 2011 16:57:14 +0200 merge crew with main
Martin Geisler <mg@aragost.com> [Thu, 19 May 2011 16:57:14 +0200] rev 14378
merge crew with main
(0) -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 +10000 +30000 tip