Sun, 08 Jul 2018 16:31:14 +0900 py3: use bytes.endswith() instead of bytes[n]
Yuya Nishihara <yuya@tcha.org> [Sun, 08 Jul 2018 16:31:14 +0900] rev 38593
py3: use bytes.endswith() instead of bytes[n]
Sun, 08 Jul 2018 16:21:26 +0900 diff: graduate word-diff option from experimental
Yuya Nishihara <yuya@tcha.org> [Sun, 08 Jul 2018 16:21:26 +0900] rev 38592
diff: graduate word-diff option from experimental Per 4.6 Sprint notes. I've also made it gated by "formatchanging" since it could change the output if we had an option to highlight words without using colors.
Fri, 06 Jul 2018 12:47:02 -0700 fix: add test case that shows why --whole with --base is useful
Danny Hooper <hooper@google.com> [Fri, 06 Jul 2018 12:47:02 -0700] rev 38591
fix: add test case that shows why --whole with --base is useful Differential Revision: https://phab.mercurial-scm.org/D3894
Fri, 06 Jul 2018 16:45:44 -0700 context: raise ProgrammingError on repo['my-tag']
Martin von Zweigbergk <martinvonz@google.com> [Fri, 06 Jul 2018 16:45:44 -0700] rev 38590
context: raise ProgrammingError on repo['my-tag'] We had an internal extension that I had failed to migrate off of the deprecated API and its "'my-tag' in repo" check just started returning False. It took a while to figure out that that was what was happening. This patch would have helped. Differential Revision: https://phab.mercurial-scm.org/D3895
Fri, 06 Jul 2018 21:49:25 +0900 diffutil: move the module out of utils package
Yuya Nishihara <yuya@tcha.org> [Fri, 06 Jul 2018 21:49:25 +0900] rev 38589
diffutil: move the module out of utils package mercurial.utils modules inherit the property of the mercurial.util, which is no dependency on ui, repo, ctx, etc. As the diffutil module seems to reside in the scmutil layer, it's probably better to not put it under the utils package.
Fri, 06 Jul 2018 21:41:36 +0900 diffutil: remove diffopts() in favor of diffallopts()
Yuya Nishihara <yuya@tcha.org> [Fri, 06 Jul 2018 21:41:36 +0900] rev 38588
diffutil: remove diffopts() in favor of diffallopts() patch.diffopts() exists only for backward compatibility. We don't need it in new module.
Fri, 06 Jul 2018 21:38:33 +0900 obsutil: use public interface to access to repo.ui
Yuya Nishihara <yuya@tcha.org> [Fri, 06 Jul 2018 21:38:33 +0900] rev 38587
obsutil: use public interface to access to repo.ui
Fri, 06 Jul 2018 21:35:47 +0900 hgweb: pass ui to diffstatgen() explicitly
Yuya Nishihara <yuya@tcha.org> [Fri, 06 Jul 2018 21:35:47 +0900] rev 38586
hgweb: pass ui to diffstatgen() explicitly
Fri, 06 Jul 2018 21:31:04 +0900 synthrepo: simply use the ui passed as a function argument
Yuya Nishihara <yuya@tcha.org> [Fri, 06 Jul 2018 21:31:04 +0900] rev 38585
synthrepo: simply use the ui passed as a function argument
Fri, 06 Jul 2018 21:29:05 +0900 templatekw: obtain ui directly from the template context
Yuya Nishihara <yuya@tcha.org> [Fri, 06 Jul 2018 21:29:05 +0900] rev 38584
templatekw: obtain ui directly from the template context
Fri, 06 Jul 2018 21:28:02 +0900 context: remove unneeded alias of diffopts
Yuya Nishihara <yuya@tcha.org> [Fri, 06 Jul 2018 21:28:02 +0900] rev 38583
context: remove unneeded alias of diffopts
Tue, 12 Jun 2018 22:01:59 +0900 match: remove ctx argument from code path down to _buildmatch()
Yuya Nishihara <yuya@tcha.org> [Tue, 12 Jun 2018 22:01:59 +0900] rev 38582
match: remove ctx argument from code path down to _buildmatch() 'ctx' was there only for filesets.
Sun, 10 Jun 2018 16:08:58 +0900 match: compose 'set:' pattern as matcher
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Jun 2018 16:08:58 +0900] rev 38581
match: compose 'set:' pattern as matcher Baby step towards porting fileset to matcher composition. We can't use the exactmatcher since it would provide a computed set as exact paths. That's why we use the predicatematcher with fset.__contains__. This will be cleaned up later. The test change in test-glog.t means that the "set:copied()" pattern is no longer be processed as a slow path. That's because the fset is empty. This will also change in future patches.
Sun, 10 Jun 2018 15:52:27 +0900 match: resolve 'set:' patterns first in _buildmatch()
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Jun 2018 15:52:27 +0900] rev 38580
match: resolve 'set:' patterns first in _buildmatch() This just makes the next patch less complicated. The order of 'set:' and 'subinclude:' expansion doesn't matter.
Sun, 10 Jun 2018 15:47:58 +0900 match: explode if unsupported pattern passed down to _regex() builder
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Jun 2018 15:47:58 +0900] rev 38579
match: explode if unsupported pattern passed down to _regex() builder
Sat, 09 Jun 2018 21:13:24 +0900 match: add basic wrapper for boolean function
Yuya Nishihara <yuya@tcha.org> [Sat, 09 Jun 2018 21:13:24 +0900] rev 38578
match: add basic wrapper for boolean function This serves as a generic wrapper for fileset predicates. In future patches, a fileset expression will be mapped to a tree of matchers for a better support of match attributes such as visitdir(). For example, $ hg debugwalk -v 'set:contrib/** and binary()' * matcher: <intersectionmatcher m1=<patternmatcher patterns='(?:contrib/.*$)'>, m2=<predicatematcher pred=binary>> ...
Sun, 10 Jun 2018 17:19:31 +0900 stringutil: move _formatsetrepr() from smartset
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Jun 2018 17:19:31 +0900] rev 38577
stringutil: move _formatsetrepr() from smartset I'll add a matcher subclass wrapping a boolean function, which will use buildrepr() to provide debugging information in a similar way to smartset.filteredset.
Sun, 10 Jun 2018 17:07:29 +0900 pycompat: move rapply() from util
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Jun 2018 17:07:29 +0900] rev 38576
pycompat: move rapply() from util I want to use rapply() in utils.* modules, but that would introduce a reference cycle util -> utils.* -> util. Moving rapply() to pycompat should be okay since it mostly serves as a compatibility helper.
Thu, 05 Jul 2018 09:53:00 +0530 strip: improve help text for --no-backup option
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 05 Jul 2018 09:53:00 +0530] rev 38575
strip: improve help text for --no-backup option Help text is modified to clearly define the meaning of --no-backup option. Differential Revision: https://phab.mercurial-scm.org/D3886
Thu, 05 Jul 2018 15:07:29 -0400 test-convert: demonstrate an unstable hash issue for bzr -> hg -> hg
Matt Harbison <matt_harbison@yahoo.com> [Thu, 05 Jul 2018 15:07:29 -0400] rev 38574
test-convert: demonstrate an unstable hash issue for bzr -> hg -> hg It looks like the manifest value changing is the only difference, but I'm not sure why it's happening. I've got a similar divergence in a production repo that was also converted from bzr and has an octopus merge[1]. Unlike here, the manifest values for the destination merge commits reflect the initial merge only, instead of all four merges agreeing like this test. $ hg -R src_repo manifest -r 310 --debug | grep file # octopus fixup merge 2d8775bc2481bd28ac87038ecdf33e1dbddc80e9 644 file1 6adb9353a55bb8be76e71382efc724ec3ccf7ed5 644 file2 $ hg -R src_repo manifest -r 309 --debug | grep file # first merge 362e7cb5163153c4989daad1a834871ae849f205 644 file1 2c65d947191938c3ea616b7ceb7648ff3843261f 644 file2 $ hg -R dst_repo manifest -r 273 --debug | grep file # octopus fixup merge 362e7cb5163153c4989daad1a834871ae849f205 644 file1 2c65d947191938c3ea616b7ceb7648ff3843261f 644 file2 $ hg -R dst_repo manifest -r 272 --debug | grep file # first merge 362e7cb5163153c4989daad1a834871ae849f205 644 file1 2c65d947191938c3ea616b7ceb7648ff3843261f 644 file2 This divergence is espcially annoying because unlike changelog differences, I haven't figured out a way to fix this in code. The only way I found to work around it is to convert up to the point of divergence, `hg bundle` the bad revision in the source, apply it to the destination, add a line to the shamap, and fire off the conversion again. But I suspect that there's more to it than just the octopus merge because I also have a commit in the same repo, done in Mercurial (well after the conversion) that is exhibiting a similar issue (and it's not a merge commit). I'm almost positive that it was created with 4.4 or later. Any ideas? [1] https://www.mercurial-scm.org/pipermail/mercurial/2018-June/050924.html
Thu, 05 Jul 2018 15:07:29 -0400 convert: add a config knob for not saving the bzr revision
Matt Harbison <matt_harbison@yahoo.com> [Thu, 05 Jul 2018 15:07:29 -0400] rev 38573
convert: add a config knob for not saving the bzr revision Now that the timestamp is fixed, the log of the Mercurial repo is still unstable with --debug, because the bzr commit ID keeps changing. Both hg and git implement `convert.*.saverev`, so do the same here.
Thu, 05 Jul 2018 15:07:29 -0400 test-bzr: use a fixed commit time
Matt Harbison <matt_harbison@yahoo.com> [Thu, 05 Jul 2018 15:07:29 -0400] rev 38572
test-bzr: use a fixed commit time This will help stabilize the hashes when converting to a Mercurial repo.
Wed, 23 May 2018 15:31:44 +0200 diff: use `context.diff` to produce diff
Boris Feld <boris.feld@octobus.net> [Wed, 23 May 2018 15:31:44 +0200] rev 38571
diff: use `context.diff` to produce diff We want to make sure `context.diff` if full featured. Using it in the main diff code path is a good way to do so. The end goal is to be able to easily compute diff between in-memory context.
Sat, 23 Jun 2018 15:03:05 +0200 context: no longer accept diff options as dictionnary
Boris Feld <boris.feld@octobus.net> [Sat, 23 Jun 2018 15:03:05 +0200] rev 38570
context: no longer accept diff options as dictionnary Since we already broke the API earlier in this stack, there are no point to introducing a new deprecation warning.
Sat, 23 Jun 2018 15:00:16 +0200 obsutil: pass a diffopts object to context.diff
Boris Feld <boris.feld@octobus.net> [Sat, 23 Jun 2018 15:00:16 +0200] rev 38569
obsutil: pass a diffopts object to context.diff
Sat, 23 Jun 2018 14:46:28 +0200 synthrepo: pass a diffopts object to context.diff
Boris Feld <boris.feld@octobus.net> [Sat, 23 Jun 2018 14:46:28 +0200] rev 38568
synthrepo: pass a diffopts object to context.diff
Sat, 23 Jun 2018 14:42:58 +0200 webutil: pass a diffopts object to context.diff
Boris Feld <boris.feld@octobus.net> [Sat, 23 Jun 2018 14:42:58 +0200] rev 38567
webutil: pass a diffopts object to context.diff
Sat, 23 Jun 2018 14:37:10 +0200 revset: pass an explicit `diffopts` objet to context.diff
Boris Feld <boris.feld@octobus.net> [Sat, 23 Jun 2018 14:37:10 +0200] rev 38566
revset: pass an explicit `diffopts` objet to context.diff
Sat, 23 Jun 2018 14:30:31 +0200 template: directly instantiate diff options for diffstat
Boris Feld <boris.feld@octobus.net> [Sat, 23 Jun 2018 14:30:31 +0200] rev 38565
template: directly instantiate diff options for diffstat
Sat, 23 Jun 2018 13:26:23 +0100 tests: update test-context.py to use diffopts as diff argument
Boris Feld <boris.feld@octobus.net> [Sat, 23 Jun 2018 13:26:23 +0100] rev 38564
tests: update test-context.py to use diffopts as diff argument
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip