Tue, 16 Sep 2014 23:42:41 -0700 revset: document the choice made in __generatorset.__iter__
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 16 Sep 2014 23:42:41 -0700] rev 22494
revset: document the choice made in __generatorset.__iter__ The method code looks a bit ugly but has good reasons to. We document them to prevent naive refactoring in the future.
Sun, 21 Sep 2014 10:31:34 -0500 help: mention mode in hg log --removed help (issue4381) stable
Matt Mackall <mpm@selenic.com> [Sun, 21 Sep 2014 10:31:34 -0500] rev 22493
help: mention mode in hg log --removed help (issue4381)
Sun, 21 Sep 2014 10:07:06 -0500 commit: catch changed exec bit on files from p1 (issue4382) stable
Matt Mackall <mpm@selenic.com> [Sun, 21 Sep 2014 10:07:06 -0500] rev 22492
commit: catch changed exec bit on files from p1 (issue4382)
Sat, 30 Aug 2014 02:25:23 +0200 revert: add a `drop` action
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 30 Aug 2014 02:25:23 +0200] rev 22491
revert: add a `drop` action This prevents the need for a try except in the `_performrevert` code.
Sat, 30 Aug 2014 02:23:25 +0200 revert: explicitly track added but deleted file
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 30 Aug 2014 02:23:25 +0200] rev 22490
revert: explicitly track added but deleted file Added + deleted file are files that need to be untracked from the dirstate but that are already missing on disk. The current `_performrevert` code is handling that with exception catching. We will be able to do better with a dedicated set.
Mon, 01 Sep 2014 12:36:48 +0200 revert: have an explicit action for "forget"
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 01 Sep 2014 12:36:48 +0200] rev 22489
revert: have an explicit action for "forget" The distinction between "remove" and "forget" used to be in special logic checking for the state of the file in the dirstate. Now that we have dedicated filtering, we can stop relying on this logic and have two distinct actions.
Sat, 30 Aug 2014 18:20:29 +0200 revert: split between newly added file and file added in other changeset
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 30 Aug 2014 18:20:29 +0200] rev 22488
revert: split between newly added file and file added in other changeset These two kinds of files are handled differently. One is deleted and the other is just forgotten (the file is untracked but left in place). The distinction is done in the `_performrevert` code itself and we would like to get ride of this.
Tue, 16 Sep 2014 22:55:49 -0700 revset: stop using a baseset instead of a plain list in _revsbetween
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 16 Sep 2014 22:55:49 -0700] rev 22487
revset: stop using a baseset instead of a plain list in _revsbetween The function internal code needs a list. Lets use a list.
Fri, 19 Sep 2014 07:23:10 +0530 run-tests: added 'cuser', 'csys' time info in report.json file
anuraggoel <anurag.dsps@gmail.com> [Fri, 19 Sep 2014 07:23:10 +0530] rev 22486
run-tests: added 'cuser', 'csys' time info in report.json file This patch adds up a 'cuser' and 'csys'(cputime) info in report.json file which generated when --json is enabled while testing. Now the new format of report.json file is as below. testreport ={ "test-success.t": { "csys": "1.041", "cuser": "1.041", "result": "success", "time": "2.041" } "test-failure.t": { "csys": "1.041", "cuser": "1.041", "result": "failure", "time": "4.430" } "test-skip.t": { "csys": "1.041", "cuser": "1.041", "result": "skip", "time": "3.754" } }
Fri, 19 Sep 2014 14:51:58 -0500 import: let --exact 'work' with --no-commit (issue4376)
Matt Mackall <mpm@selenic.com> [Fri, 19 Sep 2014 14:51:58 -0500] rev 22485
import: let --exact 'work' with --no-commit (issue4376)
Tue, 16 Sep 2014 16:03:21 -0700 obsolete: use C code for headrevs calculation
Durham Goode <durham@fb.com> [Tue, 16 Sep 2014 16:03:21 -0700] rev 22484
obsolete: use C code for headrevs calculation Previously, if there were filtered revs the repository could not use the C fast path for computing the head revs in the changelog. This slowed down many operations in large repositories. This adds the ability to filter revs to the C fast path. This speeds up histedit on repositories with filtered revs by 30% (13s to 9s). This could be improved further by sorting the filtered revs and walking the sorted list while we walk the changelog, but even this initial version that just calls __contains__ is still massively faster. The new C api is compatible for both new and old python clients, and the new python client can call both new and old C apis.
Tue, 16 Sep 2014 23:47:34 -0700 revset: simplify orderedlazyset creation in spanset method
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 16 Sep 2014 23:47:34 -0700] rev 22483
revset: simplify orderedlazyset creation in spanset method We can simply use the `self.isascending` value instead of more complex if/else clause. This get the code simpler. Benchmarks show no performances harmed in the process.
Tue, 16 Sep 2014 23:37:03 -0700 revset: use spanset.isdescending in multiple simple places
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 16 Sep 2014 23:37:03 -0700] rev 22482
revset: use spanset.isdescending in multiple simple places We call the method directly instead of duplicating checks. Benchmarks show no performances harmed in the process.
Tue, 16 Sep 2014 23:34:18 -0700 revset: wider definition of ascending and descending for spanset
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 16 Sep 2014 23:34:18 -0700] rev 22481
revset: wider definition of ascending and descending for spanset Before this patches, empty spanset were seen as neither ascending nor descending. This is mathematically wrong and create some edges case. We put `isascending` and `isdescending` back on track so we can use them to simplify some of the spanset code. Benchmarks show no performances harmed in the process.
Wed, 17 Sep 2014 23:21:20 +0900 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org> [Wed, 17 Sep 2014 23:21:20 +0900] rev 22480
annotate: port to generic templater enabled by hidden -T option If the selected formatter is other than plainformatter, raw data are passed to the formatter. In this case, it isn't necessary (and not possible) to calculate column widths. Field names are substituted to be the same as "log" command. There are a few limitations: - "binary file" message is not included in formatted output. - no data structure for multiple files. all lines are packed to single list.
Tue, 16 Sep 2014 23:40:24 +0900 annotate: split functions to get data without applying text formatting
Yuya Nishihara <yuya@tcha.org> [Tue, 16 Sep 2014 23:40:24 +0900] rev 22479
annotate: split functions to get data without applying text formatting This prepares for porting to generic templater API, where raw data should be passed to the formatter. makefunc() is necessary to build closure in list comprehension.
Fri, 29 Aug 2014 06:19:32 +0200 annotate: remove unused variable in calculation of column widths
Yuya Nishihara <yuya@tcha.org> [Fri, 29 Aug 2014 06:19:32 +0200] rev 22478
annotate: remove unused variable in calculation of column widths
Fri, 29 Aug 2014 05:36:52 +0200 annotate: build format string separately from annotation data
Yuya Nishihara <yuya@tcha.org> [Fri, 29 Aug 2014 05:36:52 +0200] rev 22477
annotate: build format string separately from annotation data This prepares for porting to generic templater API. Note that we cannot use '%*s' to pad white spaces because it doesn't take into account character widths, as described in 4f5a6df2af92.
Wed, 17 Sep 2014 22:21:01 +0900 formatter: convert float value to json
Yuya Nishihara <yuya@tcha.org> [Wed, 17 Sep 2014 22:21:01 +0900] rev 22476
formatter: convert float value to json It will be used to encode ctx.date().
Wed, 17 Sep 2014 21:30:22 +0900 formatter: have jsonformatter accept tuple as value
Yuya Nishihara <yuya@tcha.org> [Wed, 17 Sep 2014 21:30:22 +0900] rev 22475
formatter: have jsonformatter accept tuple as value This is necessary for "annotate" to encode ctx.date() in the same manner as jsonchangeset printer. It doesn't support list object because keeping mutable object in _item could be a source of hidden bugs. Also, I can't think of the use case.
Wed, 17 Sep 2014 21:15:43 +0900 formatter: extract function that encode values to json string
Yuya Nishihara <yuya@tcha.org> [Wed, 17 Sep 2014 21:15:43 +0900] rev 22474
formatter: extract function that encode values to json string This is the stub for tuple support, which will be used to encode ctx.date() in the same manner as jsonchangeset printer.
Fri, 12 Sep 2014 21:38:52 -0400 contrib/synthrepo: pass options to ctx.diff as kwargs, not a dict
Mike Edgar <adgar@google.com> [Fri, 12 Sep 2014 21:38:52 -0400] rev 22473
contrib/synthrepo: pass options to ctx.diff as kwargs, not a dict
Fri, 12 Sep 2014 17:43:37 -0400 contrib/synthrepo: only generate 2 parents if model contains merges
Mike Edgar <adgar@google.com> [Fri, 12 Sep 2014 17:43:37 -0400] rev 22472
contrib/synthrepo: only generate 2 parents if model contains merges If `hg analyze` is run on a revision set which contains no merges, then `hg synthesize` will raise IndexError trying to select from p2distance, which will be empty.
Fri, 12 Sep 2014 12:28:30 -0700 convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com> [Fri, 12 Sep 2014 12:28:30 -0700] rev 22471
convert: add support to find git copies from all files in the working copy I couldn't think of a better name for this option, so I stole the Git one in the hope that anyone converting a Git repo knows what it means.
Fri, 12 Sep 2014 11:23:26 -0700 convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com> [Fri, 12 Sep 2014 11:23:26 -0700] rev 22470
convert: add support to detect git renames and copies Git is fairly unique among VCSes in that it doesn't record copies and renames, instead choosing to detect them on the fly. Since Mercurial expects copies and renames to be recorded, it can be valuable to preserve this history while converting a Git repository to Mercurial. This patch adds a new convert option, called 'convert.git.similarity', which determines how similar files must be to be treated as renames or copies.
Thu, 11 Sep 2014 23:57:49 -0700 convert: for git, factor out code to add entries to a separate function
Siddharth Agarwal <sid0@fb.com> [Thu, 11 Sep 2014 23:57:49 -0700] rev 22469
convert: for git, factor out code to add entries to a separate function We're going to call this for multiple files in one iteration in upcoming patches.
Thu, 11 Sep 2014 23:37:47 -0700 convert: for git's getchanges, always split entry line into components
Siddharth Agarwal <sid0@fb.com> [Thu, 11 Sep 2014 23:37:47 -0700] rev 22468
convert: for git's getchanges, always split entry line into components We always need to know whether the entry is a rename or copy, so split it up unconditionally.
Thu, 11 Sep 2014 23:35:19 -0700 convert: for git's getchanges, use explicit index for iteration
Siddharth Agarwal <sid0@fb.com> [Thu, 11 Sep 2014 23:35:19 -0700] rev 22467
convert: for git's getchanges, use explicit index for iteration Upcoming patches will add support for copies and renames, for which we'll need to access multiple lines of the difftree output at once.
(0) -10000 -3000 -1000 -300 -100 -50 -28 +28 +50 +100 +300 +1000 +3000 +10000 tip