Fri, 05 Sep 2014 15:36:56 -0700 dirstate: add test for exceptions during updates
Durham Goode <durham@fb.com> [Fri, 05 Sep 2014 15:36:56 -0700] rev 22406
dirstate: add test for exceptions during updates Adds a test that checks if the working copy parent and the working copy are in a good state if an exception happens between the time the working copy parent is set and the time the actual updates are recorded in the dirstate.
Fri, 05 Sep 2014 11:36:20 -0700 dirstate: wrap setparent calls with begin/endparentchange (issue4353)
Durham Goode <durham@fb.com> [Fri, 05 Sep 2014 11:36:20 -0700] rev 22405
dirstate: wrap setparent calls with begin/endparentchange (issue4353) This wraps all the locations of dirstate.setparent with the appropriate begin/endparentchange calls. This will prevent exceptions during those calls from causing incoherent dirstates (issue4353).
Fri, 05 Sep 2014 11:34:29 -0700 dirstate: add begin/endparentchange to dirstate
Durham Goode <durham@fb.com> [Fri, 05 Sep 2014 11:34:29 -0700] rev 22404
dirstate: add begin/endparentchange to dirstate It's possible for the dirstate to become incoherent (issue4353) if there is an exception in the middle of the dirstate parent and entries being written (like if the user ctrl+c's). This change adds begin/endparentchange which a future patch will require to be set before changing the dirstate parent. This will allow us to prevent writing the dirstate in the event of an exception while changing the parent.
Mon, 08 Sep 2014 20:57:44 +0200 parsers: avoid signed/unsigned comparison mismatch
Henrik Stuart <hg@hstuart.dk> [Mon, 08 Sep 2014 20:57:44 +0200] rev 22403
parsers: avoid signed/unsigned comparison mismatch Based on warning from Microsoft Visual C++ 2008.
Mon, 08 Sep 2014 20:22:10 +0200 parsers: use correct type for file offset
Henrik Stuart <hg@hstuart.dk> [Mon, 08 Sep 2014 20:22:10 +0200] rev 22402
parsers: use correct type for file offset Now using Py_ssize_t instead of long to denote offset in file whose length is already measured using Py_ssize_t. Length and offset are now consistent. Based on warning from Microsoft Visual C++ 2008.
Mon, 08 Sep 2014 20:20:17 +0200 parsers: ensure correct return type for inline_scan
Henrik Stuart <hg@hstuart.dk> [Mon, 08 Sep 2014 20:20:17 +0200] rev 22401
parsers: ensure correct return type for inline_scan The returned data type for inline_scan should be Py_ssize_t rather than long. Based on warning from Microsoft Visual C++ 2008.
Thu, 11 Sep 2014 12:05:23 -0500 parsers: fix typing issue when constructing Python integer object
Henrik Stuart <hg@hstuart.dk> [Thu, 11 Sep 2014 12:05:23 -0500] rev 22400
parsers: fix typing issue when constructing Python integer object The passed variable is a Py_ssize_t, not a long, and consequently should use PyInt_FromSsize_t rather than PyInt-FromLong. Fixed based on warning from Microsoft Visual C++ 2008.
Mon, 08 Sep 2014 20:06:52 +0200 parsers: use bitmask type consistently in find_gca_candidates
Henrik Stuart <hg@hstuart.dk> [Mon, 08 Sep 2014 20:06:52 +0200] rev 22399
parsers: use bitmask type consistently in find_gca_candidates Normalized type usage in find_gca_candidates triggered by warning from Microsoft Visual C++ 2008.
Sat, 30 Aug 2014 02:10:29 +0200 revert: drop `lexist` check in the backup logic
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 30 Aug 2014 02:10:29 +0200] rev 22398
revert: drop `lexist` check in the backup logic We are no longer trying to backup files that do not exist on disk. This check can be safely dropped.
Sat, 30 Aug 2014 02:09:53 +0200 revert: distinguish between deleted file and locally modified
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 30 Aug 2014 02:09:53 +0200] rev 22397
revert: distinguish between deleted file and locally modified Locally modified needs a backup while a deleted file cannot be backed up because there is no file to backup.
Sat, 30 Aug 2014 02:00:20 +0200 revert: detect unknown files in the same path as files marked as removed
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 30 Aug 2014 02:00:20 +0200] rev 22396
revert: detect unknown files in the same path as files marked as removed Such unknown files may need to be backed up. Having them identified beforehand will help simplify the backup logic. We now use different sets with different backup strategies.
Sat, 30 Aug 2014 01:52:08 +0200 revert: cache working context in a variable
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 30 Aug 2014 01:52:08 +0200] rev 22395
revert: cache working context in a variable During the silicon age, humans on planet Earth discovered the use of variables. This marvelous invention let them improve both code readability and performance.
Wed, 10 Sep 2014 14:42:52 +0100 obsolete: properly drop 'date' from metadata
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 10 Sep 2014 14:42:52 +0100] rev 22394
obsolete: properly drop 'date' from metadata Mistakes were made while resolving rebase conflicts in 4bc96685a40c. This led to 'date' being preserved in metadata when reading markers from a binary stream. As a result, some known markers were seen as "new" when pulling. I noticed it because a no-op pulls from main added about 600 duplicated markers to my obsstore (for each pull). I do not believe we need to perform any specific action to actively de-duplicates existing obsstore. After this fix, duplicated markers will no be propagated and the few affected repositories can probably deal with duplication (or people can repull the obsstore from a clone). As a side effect, we decode metadata only once, reducing the impact of the hack in fm0 to store extra important data (parents and date).
Mon, 08 Sep 2014 20:12:58 +0900 templater: implement __len__ for _hybrid
Anton Shestakov <engored@ya.ru> [Mon, 08 Sep 2014 20:12:58 +0900] rev 22393
templater: implement __len__ for _hybrid Objects of class _hybrid are returned by such template keywords as children, bookmarks, tags and others, and also by revset() template function. They are representing "list of strings" (as hg help template says) for use in templates. So it would be logical to implement a handy way to count the number of strings in such list, and that's what __len__ method does.
Fri, 05 Sep 2014 19:54:26 +0200 tests: remove unnecessary apostrophe
David Soria Parra <davidsp@fb.com> [Fri, 05 Sep 2014 19:54:26 +0200] rev 22392
tests: remove unnecessary apostrophe
Mon, 08 Sep 2014 16:41:00 +0200 run-tests: added '--json' functionality to store test result in json file
anuraggoel <anurag.dsps@gmail.com> [Mon, 08 Sep 2014 16:41:00 +0200] rev 22391
run-tests: added '--json' functionality to store test result in json file This patch added a new functionality '--json'. While testing, if '--json' is enabled then test result data gets stored in newly created "report.json" file in the following format. testreport ={ "test-success.t": { "result": "success", "time": "2.041" } "test-failure.t": { "result": "failure", "time": "4.430" } "test-skip.t": { "result": "skip" "time": "3.754" } } Otherwise, if '--json' is enabled but json module was not installed then it will raise an error "json module not installed". This "report.json" file will further accessed by html/javascript file for graph usage.
Tue, 02 Sep 2014 12:11:36 +0200 changegroup: rename bundle-related functions and classes
Sune Foldager <cryo@cyanite.org> [Tue, 02 Sep 2014 12:11:36 +0200] rev 22390
changegroup: rename bundle-related functions and classes Functions like getbundle and classes like unbundle10 really manipulate changegroups and not bundles. A HG10 bundle is the same as a changegroup plus a small header, but this is no longer the case for a HG2X bundle, so it's better to separate the names a bit.
Tue, 19 Aug 2014 01:13:10 +0200 comments: describe ancestor consistently - avoid 'least common ancestor'
Mads Kiilerich <madski@unity3d.com> [Tue, 19 Aug 2014 01:13:10 +0200] rev 22389
comments: describe ancestor consistently - avoid 'least common ancestor' "best" is as defined by mercurial.ancestor.ancestors: furthest from a root (as measured by longest path).
Tue, 19 Aug 2014 01:12:56 +0200 rebase: improve description of --base
Mads Kiilerich <madski@unity3d.com> [Tue, 19 Aug 2014 01:12:56 +0200] rev 22388
rebase: improve description of --base No Mercurial DAG has ever (!) been drawn in a way where 'up to' would apply. Instead, describe deliberatey vague and informal instead of seemingly precise but not describing the essentials: rebase the tree around the specified changeset without ancestors of dest
Fri, 15 Aug 2014 19:43:32 +0200 dagutils: fix docstrings for singleton internalize/externalize
Mads Kiilerich <madski@unity3d.com> [Fri, 15 Aug 2014 19:43:32 +0200] rev 22387
dagutils: fix docstrings for singleton internalize/externalize
Sun, 31 Aug 2014 07:45:50 -0700 cmdutil: avoid the confusing name 'patch' for a matcher
Martin von Zweigbergk <martinvonz@gmail.com> [Sun, 31 Aug 2014 07:45:50 -0700] rev 22386
cmdutil: avoid the confusing name 'patch' for a matcher
Tue, 02 Sep 2014 14:10:08 -0700 fedora: remove sample.hgrc from shipped files
Siddharth Agarwal <sid0@fb.com> [Tue, 02 Sep 2014 14:10:08 -0700] rev 22385
fedora: remove sample.hgrc from shipped files sample.hgrc was long obsolete and was removed in 63ed188e3fc7.
Sun, 24 Aug 2014 19:45:46 -0400 config: propose some sample global config file
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Sun, 24 Aug 2014 19:45:46 -0400] rev 22384
config: propose some sample global config file An example of what could be suggested to the user as a global config file. Trying to be conservative here, and only suggesting the safest possible extensions. In addition to the user-level extensions, the blackbox extension is something a sysadmin might reasonable want to enable for every repo on the system.
Wed, 13 Aug 2014 17:05:48 -0400 config: give more fine-tuned sample hgrcs to this command
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Wed, 13 Aug 2014 17:05:48 -0400] rev 22383
config: give more fine-tuned sample hgrcs to this command The hgrc for user config is typically different from the hgrc at the system-wide or repository level. This patch provides different sample hgrcs for each level. Sometimes when copying repos around, the copy or the original don't have a default path yet, so at least for `hg config -l`, this ought to provide a more reasonable default and suggestions of what typically goes there. The actual sample configs go in the config.py file, to minimise clutter. In order to avoid an unnecessary import, the corresponding import for this dictionary is at the file level.
Mon, 01 Sep 2014 11:48:55 +0200 rebase: add a deprecated -i/--interactive flag
David Soria Parra <davidsp@fb.com> [Mon, 01 Sep 2014 11:48:55 +0200] rev 22382
rebase: add a deprecated -i/--interactive flag A common mistake can be to type 'hg rebase -i' to discover interactive history editing. We add a -i/--interactive flag as discussed in the sprint and deprecate it right away, but hint people using it to use histedit instead.
Tue, 19 Aug 2014 01:13:10 +0200 revlog: introduce isancestor method for efficiently determining node lineage
Mads Kiilerich <madski@unity3d.com> [Tue, 19 Aug 2014 01:13:10 +0200] rev 22381
revlog: introduce isancestor method for efficiently determining node lineage Hide the not so obvious use of commonancestorsheads.
Tue, 09 Sep 2014 17:16:24 -0400 clone: provide sample username = config entry in .hg/hgrc (issue4359)
Augie Fackler <raf@durin42.com> [Tue, 09 Sep 2014 17:16:24 -0400] rev 22380
clone: provide sample username = config entry in .hg/hgrc (issue4359) Some users clone from a server before ever running 'hg config --edit', so they don't see our helpful template for things like enabling the username. Attempt to give them some helpful guidance.
Tue, 09 Sep 2014 16:51:21 -0400 test-acl: alter sed construct to avoid changes in .hg/hgrc formatting
Augie Fackler <raf@durin42.com> [Tue, 09 Sep 2014 16:51:21 -0400] rev 22379
test-acl: alter sed construct to avoid changes in .hg/hgrc formatting A future patch is going to add some extra commented-out boilerplate to the top of .hg/hgrc during clone. In order to make this test not require regular updates, switch to searching for [hooks] or [acl] and print file from the first match to that pattern.
Tue, 09 Sep 2014 13:47:50 -0400 merge with stable
Augie Fackler <raf@durin42.com> [Tue, 09 Sep 2014 13:47:50 -0400] rev 22378
merge with stable
Wed, 10 Sep 2014 00:41:44 +0900 dispatch: check shell alias again after loading extensions (issue4355) stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 10 Sep 2014 00:41:44 +0900] rev 22377
dispatch: check shell alias again after loading extensions (issue4355) Before this patch, the shell alias causes failure when it takes its specific (= unknown for "hg") options in the command line, because "_parse()" can't accept them. This is the regression introduced by 03d345da0579. It fixed the issue that ambiguity between shell aliases and commands defined by extensions was ignored. But it also caused that ambiguous shell alias is handled in "_parse()" even if it takes specific options in the command line. To avoid such failure, this patch checks shell alias again after loading extensions. All aliases and commands (including ones defined by extensions) are completely defined before the 2nd (= newly added in this patch) "_checkshellalias()" invocation, and "cmdutil.findcmd(strict=False)" can detect ambiguity between them correctly. For efficiency, this patch does: - omit the 2nd "_checkshellalias()" invocation if "[ui] strict= True" it causes "cmdutil.findcmd(strict=True)", of which result should be equal to one of the 1st invocation before adding aliases - avoid removing the 1st "_checkshellalias()" invocation it causes "cmdutil.findcmd(strict=True)" invocation preventing shell alias execution from loading extensions uselessly
Wed, 10 Sep 2014 00:41:44 +0900 dispatch: make "_checkshellalias" reusable regardless of adding aliases stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 10 Sep 2014 00:41:44 +0900] rev 22376
dispatch: make "_checkshellalias" reusable regardless of adding aliases To reduce changes in the subsequent patch fixing issue4355, this patch makes "_checkshellalias" reusable regardless of adding aliases. In this patch, alias definitions are added and restored, only when "precheck=True".
Tue, 02 Sep 2014 11:28:44 +0200 build: don't clean __version__.py on 'make clean' in release tarballs
J. Lewis Muir <jlmuir@anl.gov> [Tue, 02 Sep 2014 11:28:44 +0200] rev 22375
build: don't clean __version__.py on 'make clean' in release tarballs When running 'make clean' in an extracted release tarball, file mercurial/__version__.py is removed, causing a subsequent install to indicate 'version unknown'. This problem was reported in the past [1] and a patch proposed in that mail, but was never properly sent nor applied. [1] http://selenic.com/pipermail/mercurial/2010-December/036249.html
Sat, 30 Aug 2014 01:51:02 +0200 revert: drop now useless conditional in the backup check
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 30 Aug 2014 01:51:02 +0200] rev 22374
revert: drop now useless conditional in the backup check Now that we removed the (hopeless) attempt to backup file we knew to be missing in the target changeset, we can stop checking if the file exists in the target changeset.
Sat, 30 Aug 2014 01:49:28 +0200 revert: no backup for `dsadded` set
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 30 Aug 2014 01:49:28 +0200] rev 22373
revert: no backup for `dsadded` set There is only one case where a backup is required in the `dsadded` set, and the current backup mechanism fails to handle it. So we stop trying to do backups at all for now. This will help us to simplify the backup code and finally fix this backup issue.
Sat, 30 Aug 2014 16:06:09 +0200 revert: add more padding in the dispatch list
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 30 Aug 2014 16:06:09 +0200] rev 22372
revert: add more padding in the dispatch list We are going to add more sets and some of them will have longer names. We add padding in a standalone patch for readbility purposes.
Sat, 30 Aug 2014 01:48:58 +0200 revert: add documentation in the dispatch table
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 30 Aug 2014 01:48:58 +0200] rev 22371
revert: add documentation in the dispatch table More sets are coming so documenting the existing ones will help.
Sat, 30 Aug 2014 02:47:59 +0200 revert: add a way for external extensions to prefetch file data
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 30 Aug 2014 02:47:59 +0200] rev 22370
revert: add a way for external extensions to prefetch file data This allow extensions that mess with the storage layer (remotefilelog, largefile) to prefetch any data that will be accessed during the revert operation. We are currently fetching more data than theoretically required because the backup code is a bit stupid. Future patches will improve that.
Sun, 07 Sep 2014 11:46:11 -0500 merge with stable
Kevin Bullock <kbullock@ringworld.org> [Sun, 07 Sep 2014 11:46:11 -0500] rev 22369
merge with stable
Wed, 03 Sep 2014 20:42:51 +0200 histedit: abort gracefully on --continue/--abort with no state stable
Siddharth Agarwal <sid0@fb.com> [Wed, 03 Sep 2014 20:42:51 +0200] rev 22368
histedit: abort gracefully on --continue/--abort with no state Previously we'd print an ugly message saying that the histedit-state file doesn't exist in the repo.
Thu, 04 Sep 2014 09:59:23 -0400 merge with stable
Augie Fackler <raf@durin42.com> [Thu, 04 Sep 2014 09:59:23 -0400] rev 22367
merge with stable
Tue, 02 Sep 2014 03:41:01 +0200 Added signature for changeset 5dc91146f353 stable
Matt Mackall <mpm@selenic.com> [Tue, 02 Sep 2014 03:41:01 +0200] rev 22366
Added signature for changeset 5dc91146f353
Tue, 02 Sep 2014 03:40:55 +0200 Added tag 3.1.1 for changeset 5dc91146f353 stable
Matt Mackall <mpm@selenic.com> [Tue, 02 Sep 2014 03:40:55 +0200] rev 22365
Added tag 3.1.1 for changeset 5dc91146f353
Tue, 26 Aug 2014 04:58:41 -0700 bookmarks: allow pushkey if new equals current
Durham Goode <durham@fb.com> [Tue, 26 Aug 2014 04:58:41 -0700] rev 22364
bookmarks: allow pushkey if new equals current Previously a bookmark pushkey would be rejected if the specified 'old' value didn't match the servers 'current' value. This change allows this situation, as long as the 'current' server value equals the 'new' pushkey value already. We are trying to write a hook that forces a server bookmark to move forward, using a changegroup hook. If the user also pushed the bookmark, they would get an error, since they computed their pushkey (old,new) pair before the server moved the bookmark. Long term, bundle2 will let us do this more smartly, but this change seems reasonable for now.
Fri, 29 Aug 2014 12:17:53 +0200 tests: improve test coverage of branch command and existing branches
Mads Kiilerich <madski@unity3d.com> [Fri, 29 Aug 2014 12:17:53 +0200] rev 22363
tests: improve test coverage of branch command and existing branches
Thu, 28 Aug 2014 17:23:05 +0200 localrepo: make it possible to pass multiple path elements to join and wjoin
Angel Ezquerra <angel.ezquerra@gmail.com> [Thu, 28 Aug 2014 17:23:05 +0200] rev 22362
localrepo: make it possible to pass multiple path elements to join and wjoin This makes join and wjoin behave in the same way as os.path.join. That is, it makes it possible to pass more than one path element to them. Note that the first path element is still required, as it was before this patch, and as is the case for os.path.join.
Sun, 31 Aug 2014 12:22:44 +0200 run-tests: make --interactive work with --view
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 31 Aug 2014 12:22:44 +0200] rev 22361
run-tests: make --interactive work with --view
Sun, 31 Aug 2014 11:11:42 +0200 convert: don't use multi-argument set.update
Mads Kiilerich <madski@unity3d.com> [Sun, 31 Aug 2014 11:11:42 +0200] rev 22360
convert: don't use multi-argument set.update Mumble mumble 2.4 mumble.
Sat, 30 Aug 2014 12:22:20 +0200 error: use docstrings, not bare strings, for error classes
Mike Edgar <adgar@google.com> [Sat, 30 Aug 2014 12:22:20 +0200] rev 22359
error: use docstrings, not bare strings, for error classes
Sun, 31 Aug 2014 10:24:25 +0200 osx: create dmg with installer instead of zip
Mads Kiilerich <madski@unity3d.com> [Sun, 31 Aug 2014 10:24:25 +0200] rev 22358
osx: create dmg with installer instead of zip OS X would offer to expand the zip so the (multi file) installer inside it could be run ... but that would leave the expanded zip folder around. Instead, use a .dmg file that automatically will be mounted - that seems more common on OS X. Still, there is two levels of levels of clicking before actually launching the installer. Having a single file installer would be better ... but seems to be hard. A more feasible improvement would be some fancy layout inside the .dmg .
Sat, 30 Aug 2014 12:33:12 +0200 branchmap: pre-filter topological heads before ancestors based filtering
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 30 Aug 2014 12:33:12 +0200] rev 22357
branchmap: pre-filter topological heads before ancestors based filtering We know that topological heads will not be ancestors of anything, so we filter them out to potentially reduce the range of the ancestors computation. On a strongly headed repo this gives humble speedup: from 0.1984 to 0.1629
Sat, 30 Aug 2014 12:20:50 +0200 branchmap: issue a single call to `ancestors` for all heads
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 30 Aug 2014 12:20:50 +0200] rev 22356
branchmap: issue a single call to `ancestors` for all heads There is no reason to make multiple calls. This provides a massive speedup for repo with a lot of heads. On a strongly headed repo this gives humble speedup in simple case: from 8.1097 to 5.1051 And massive speedup in other case: from 7.8787 to 0.1984
Sat, 30 Aug 2014 11:39:15 +0200 test-ancestor: add a test for `ancestor` with ancestry within the initset
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 30 Aug 2014 11:39:15 +0200] rev 22355
test-ancestor: add a test for `ancestor` with ancestry within the initset I was wondering if revisions in the initial set that are still ancestors of other elements in the initial set were yielded by `changelog.ancestors`. I now have my answer (they do) and Mercurial has a new test.
Tue, 26 Aug 2014 12:47:41 +0200 bundle2: pull obsmarkers relevant to the pulled set through bundle2
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 26 Aug 2014 12:47:41 +0200] rev 22354
bundle2: pull obsmarkers relevant to the pulled set through bundle2 We use the new `obsheads` argument to retrieve them in a bundle2 part at the same time as the changegroup.
Fri, 29 Aug 2014 12:36:17 +0200 getbundle: add `obsmarkers` argument to getbundle
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 29 Aug 2014 12:36:17 +0200] rev 22353
getbundle: add `obsmarkers` argument to getbundle This argument triggers the retrieval of all markers relevant to the set of changesets defined by the nodes in `heads`.
Fri, 29 Aug 2014 12:28:58 +0200 pull: use the "cg" argument when pulling a bundle2
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 29 Aug 2014 12:28:58 +0200] rev 22352
pull: use the "cg" argument when pulling a bundle2 We use the `cg` argument to disable the generation of a changegroup part. This is useful to pull information when changesets are already in sync (phases, obsmarkers).
Fri, 29 Aug 2014 12:51:00 +0200 wireprotocol: fix 'boolean' handling
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 29 Aug 2014 12:51:00 +0200] rev 22351
wireprotocol: fix 'boolean' handling The encoding and decoding code were swapped. This is now fixed.
(0) -10000 -3000 -1000 -300 -100 -56 +56 +100 +300 +1000 +3000 +10000 tip