Fri, 18 Sep 2015 17:23:10 -0700 update: move default destination into a revset
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 18 Sep 2015 17:23:10 -0700] rev 26304
update: move default destination into a revset This is another step toward having "default" destination more clear and unified. Not all the logic is there because some bookmark related computation happened elsewhere. It will be moved later. The function is private because as for the other ones, cleanup is needed before we can proceed.
Thu, 17 Sep 2015 14:03:15 -0700 merge: move default destination computation in a revset
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 17 Sep 2015 14:03:15 -0700] rev 26303
merge: move default destination computation in a revset This is another step toward having "default" destination more clear and unified.
Thu, 17 Sep 2015 12:44:52 -0700 mergecmd: simplify conditional
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 17 Sep 2015 12:44:52 -0700] rev 26302
mergecmd: simplify conditional The previous if tested the same thing with 'if repo._activebookmark'. We make the if/else logic clearer before a bigger refactoring.
Thu, 17 Sep 2015 10:59:52 -0700 rebase: move destination computation in a revset
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 17 Sep 2015 10:59:52 -0700] rev 26301
rebase: move destination computation in a revset This is the first step toward making the "default destination" logic more clear and unified. The revset is private because I'm happy to delay the bikeshedding until after the clean up happened.
Tue, 22 Sep 2015 14:47:18 -0400 debian: include bash completions in mercurial-common
Augie Fackler <augie@google.com> [Tue, 22 Sep 2015 14:47:18 -0400] rev 26300
debian: include bash completions in mercurial-common
Tue, 22 Sep 2015 14:32:17 -0400 debian: install hgk as part of mercurial-common (issue4829)
Augie Fackler <augie@google.com> [Tue, 22 Sep 2015 14:32:17 -0400] rev 26299
debian: install hgk as part of mercurial-common (issue4829) Leaving the hgk binary in /usr/bin causes some lintian warnings, and downstream packages poke it in /usr/share/mercurial, so we'll just stash it in there. Rather than patch hgk.py as part of the Mercurial install, just drop a config file in /etc/mercurial/hgrc.d that points to the installed hgk.
Tue, 22 Sep 2015 14:14:05 -0400 debian: install config files as part of mercurial-common
Augie Fackler <augie@google.com> [Tue, 22 Sep 2015 14:14:05 -0400] rev 26298
debian: install config files as part of mercurial-common Future patches will start putting config files in /etc/mercurial/, this just installs them.
Tue, 22 Sep 2015 14:31:17 -0400 debian: configuration so that cacerts is properly loaded
Augie Fackler <augie@google.com> [Tue, 22 Sep 2015 14:31:17 -0400] rev 26297
debian: configuration so that cacerts is properly loaded This will be included in the mercurial-common package in a followup patch.
Tue, 22 Sep 2015 14:13:07 -0400 debian: install hg-ssh to /usr/bin just like downstream
Augie Fackler <augie@google.com> [Tue, 22 Sep 2015 14:13:07 -0400] rev 26296
debian: install hg-ssh to /usr/bin just like downstream
Sun, 20 Sep 2015 20:13:27 +0900 highlight: remove temporary hack to overwrite repo.getcwd
Yuya Nishihara <yuya@tcha.org> [Sun, 20 Sep 2015 20:13:27 +0900] rev 26295
highlight: remove temporary hack to overwrite repo.getcwd Now hgweb does it globally.
Sun, 20 Sep 2015 20:11:31 +0900 hgweb: overwrite cwd to resolve file patterns relative to repo (issue4568)
Yuya Nishihara <yuya@tcha.org> [Sun, 20 Sep 2015 20:11:31 +0900] rev 26294
hgweb: overwrite cwd to resolve file patterns relative to repo (issue4568) It's useless to handle file patterns as relative to the cwd of the server process. The only sensible way in hgweb is to resolve paths relative to the repository root. It seems dirstate.getcwd() isn't used to get a real file path, so this patch won't cause problem.
Sun, 20 Sep 2015 20:08:22 +0900 dirstate: state that getcwd() shouldn't be used to get real file path
Yuya Nishihara <yuya@tcha.org> [Sun, 20 Sep 2015 20:08:22 +0900] rev 26293
dirstate: state that getcwd() shouldn't be used to get real file path hgweb will force it to be '' so that file patterns can be resolved relative to the repository root. I want to clarify that is correct.
Wed, 16 Sep 2015 12:36:21 -0700 merge: move merge step to the end
Siddharth Agarwal <sid0@fb.com> [Wed, 16 Sep 2015 12:36:21 -0700] rev 26292
merge: move merge step to the end Resolving other conflicts before merge ones is better because the state before the merge is as consistent as possible. It will also help with future work involving automatic resolution of merge conflicts with an external merge driver. There are no ordering issues here because it is easy to verify that the same file is never in both the dg/dm and the m sets.
Wed, 16 Sep 2015 19:52:06 -0700 lock: factor out lock testing into a separate function
Siddharth Agarwal <sid0@fb.com> [Wed, 16 Sep 2015 19:52:06 -0700] rev 26291
lock: factor out lock testing into a separate function This is going to be needed for upcoming work with lock inheritance.
Wed, 16 Sep 2015 19:26:59 -0700 lock: factor code to read lock into a separate function
Siddharth Agarwal <sid0@fb.com> [Wed, 16 Sep 2015 19:26:59 -0700] rev 26290
lock: factor code to read lock into a separate function This is going to be needed for upcoming work with lock inheritance.
Thu, 17 Sep 2015 15:38:00 -0700 tests: add unit tests for locking code
Siddharth Agarwal <sid0@fb.com> [Thu, 17 Sep 2015 15:38:00 -0700] rev 26289
tests: add unit tests for locking code We're going to make significant changes to lock behavior soon.
Tue, 22 Sep 2015 02:09:10 +0800 gitweb: port code selection without line numbers from paper
Anton Shestakov <av6@dwimlabs.net> [Tue, 22 Sep 2015 02:09:10 +0800] rev 26288
gitweb: port code selection without line numbers from paper This is adapted from f2e4fdb3dd27 and e92d4b8530cb. It also fixes issue4790 in gitweb; tab characters now have meaningful width on the modified pages (file view, file diff, changeset).
Sun, 13 Sep 2015 22:34:58 +0900 obsolete: remove unused _knownrevs function
Yuya Nishihara <yuya@tcha.org> [Sun, 13 Sep 2015 22:34:58 +0900] rev 26287
obsolete: remove unused _knownrevs function The call site was removed at cd62532c62a1.
Thu, 17 Sep 2015 16:08:10 -0700 bookmark: do not crash when active bookmark is forward and --date is used
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 17 Sep 2015 16:08:10 -0700] rev 26286
bookmark: do not crash when active bookmark is forward and --date is used The logic that decides where to update according to the active bookmark location (when not on ".") was setting the rev to update to before we process --date. This lead to --date processing aborting because of duplicated specification. We reorder the two pieces of code and add a test for this.
Thu, 17 Sep 2015 17:17:54 -0700 bookmark: actually test update behavior in both cases
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 17 Sep 2015 17:17:54 -0700] rev 26285
bookmark: actually test update behavior in both cases The test claimed to test pull --update behaved the same way as pull + update, but the behavior of pull + update was never tested. We now test both.
Fri, 18 Sep 2015 14:03:32 +0800 coal: reuse style-paper.css and use a separate css file for visual tweaks
Anton Shestakov <av6@dwimlabs.net> [Fri, 18 Sep 2015 14:03:32 +0800] rev 26284
coal: reuse style-paper.css and use a separate css file for visual tweaks To remove another big chunk of duplication from coal hgweb style, we can move all visual tweaks to style-extra-coal.css and include it together with style-paper.css.
Fri, 18 Sep 2015 01:06:27 +0800 coal: reuse all templates from paper/map by %including the file
Anton Shestakov <av6@dwimlabs.net> [Fri, 18 Sep 2015 01:06:27 +0800] rev 26283
coal: reuse all templates from paper/map by %including the file Before, coal/map simply had all the templates copied and pasted from paper/map file. It was easy to make a change to paper that would get into coal only partially and just sit there until something like 399e970e35c8 happened. Let's remove this duplication from coal/map by using %include to reuse templates from paper/map directly.
Fri, 04 Sep 2015 05:40:52 -0400 help/config: reword committemplate external editor text
timeless@mozdev.org [Fri, 04 Sep 2015 05:40:52 -0400] rev 26282
help/config: reword committemplate external editor text
Fri, 04 Sep 2015 05:40:37 -0400 help/config: reword committemplate multibyte character text
timeless@mozdev.org [Fri, 04 Sep 2015 05:40:37 -0400] rev 26281
help/config: reword committemplate multibyte character text
Fri, 28 Aug 2015 15:43:14 -0400 help/config: use :hg:`help config....` notation
timeless@mozdev.org [Fri, 28 Aug 2015 15:43:14 -0400] rev 26280
help/config: use :hg:`help config....` notation
Fri, 28 Aug 2015 15:24:58 -0400 help/config: omit True or False
timeless@mozdev.org [Fri, 28 Aug 2015 15:24:58 -0400] rev 26279
help/config: omit True or False
Fri, 28 Aug 2015 15:13:28 -0400 help/config: capitalize items
timeless@mozdev.org [Fri, 28 Aug 2015 15:13:28 -0400] rev 26278
help/config: capitalize items
Thu, 17 Sep 2015 21:20:35 -0400 tests: add more doctests for check-translation deprecated
timeless@mozdev.org [Thu, 17 Sep 2015 21:20:35 -0400] rev 26277
tests: add more doctests for check-translation deprecated
Thu, 17 Sep 2015 21:20:17 -0400 tests: cleanup check-translation deprecated
timeless@mozdev.org [Thu, 17 Sep 2015 21:20:17 -0400] rev 26276
tests: cleanup check-translation deprecated
Fri, 18 Sep 2015 14:24:53 +0800 gitweb: add author to filelogentry
Anton Shestakov <av6@dwimlabs.net> [Fri, 18 Sep 2015 14:24:53 +0800] rev 26275
gitweb: add author to filelogentry The line is copied from shortlogentry template.
Fri, 18 Sep 2015 14:24:38 +0800 monoblue: add author to filelogentry
Anton Shestakov <av6@dwimlabs.net> [Fri, 18 Sep 2015 14:24:38 +0800] rev 26274
monoblue: add author to filelogentry The line is copied from shortlogentry template.
Fri, 18 Sep 2015 14:23:44 +0800 monoblue: split a long line in filelogentry template
Anton Shestakov <av6@dwimlabs.net> [Fri, 18 Sep 2015 14:23:44 +0800] rev 26273
monoblue: split a long line in filelogentry template The whole td has a nowrap class, which disallows breaking the line, so it's not required to use non-breakable spaces.
Fri, 18 Sep 2015 21:32:43 +0900 readbundle: fix typo of None compression
Yuya Nishihara <yuya@tcha.org> [Fri, 18 Sep 2015 21:32:43 +0900] rev 26272
readbundle: fix typo of None compression The test simulates pre-d1b16a746db6 hgweb that sends "unbundle" capability with no argument.
Fri, 11 Sep 2015 17:06:56 -0700 readbundle: map 'HG10UN' to None compression
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Sep 2015 17:06:56 -0700] rev 26271
readbundle: map 'HG10UN' to None compression In line with the other previous changes
Fri, 11 Sep 2015 17:06:02 -0700 getsubset: use None to request uncompressed changegroup
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Sep 2015 17:06:02 -0700] rev 26270
getsubset: use None to request uncompressed changegroup
Fri, 11 Sep 2015 17:05:46 -0700 bundle: use None when unpacking uncompressed changegroup
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Sep 2015 17:05:46 -0700] rev 26269
bundle: use None when unpacking uncompressed changegroup Let's be more modern!
Tue, 15 Sep 2015 17:43:54 -0700 writebundle: use 'None' instead of 'UN' for the bundle2 case
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 15 Sep 2015 17:43:54 -0700] rev 26268
writebundle: use 'None' instead of 'UN' for the bundle2 case Let's be modern!
Tue, 15 Sep 2015 17:53:28 -0700 compression: use 'None' for no-compression
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 15 Sep 2015 17:53:28 -0700] rev 26267
compression: use 'None' for no-compression This seems more idiomatic and clearer. We still support both None and 'UN' for now because no user are migrated.
Tue, 15 Sep 2015 17:35:32 -0700 changegroup: move all compressions utilities in util
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 15 Sep 2015 17:35:32 -0700] rev 26266
changegroup: move all compressions utilities in util We'll reuse the compression for other things (next target bundle2), so let's make it more accessible and organised.
Tue, 15 Sep 2015 13:12:03 -0700 obsolete: clarify that 'successorssets' returns the latest successors
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 15 Sep 2015 13:12:03 -0700] rev 26265
obsolete: clarify that 'successorssets' returns the latest successors We do not return the first successors we found, we returns the latest (non obsolete (mostly)) one following the obsolete link transitively. We update the documentation to make this clean.
Tue, 15 Sep 2015 13:10:25 -0700 obsolete: drop an empty line at the end of a docstring
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 15 Sep 2015 13:10:25 -0700] rev 26264
obsolete: drop an empty line at the end of a docstring This empty line is useless, let's drop it.
Fri, 11 Sep 2015 12:45:19 -0700 traceback: allow providing a local support contact point
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Sep 2015 12:45:19 -0700] rev 26263
traceback: allow providing a local support contact point The extensions blaming code is fine for casual users but pretty terrible for corporate environments that can deploy a large amount of extensions to unsuspecting users. Reports will likely blame a random "innocent" extension (in our case crecord) and the hint in the message will triggers endless debug attempts from the user. We introduce a "ui.supportcontact" option that allow such big company to redirect their users to their own support desk. This disables all extensions blaming and just point people to the local support in all cases.
Thu, 17 Sep 2015 11:50:55 -0700 dispatch: pre-indent the extensions blaming logic
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 17 Sep 2015 11:50:55 -0700] rev 26262
dispatch: pre-indent the extensions blaming logic We are about to put some real conditional here, but pre-indenting in it's own changesets makes next patch much cleaner.
Thu, 17 Sep 2015 07:49:18 -0400 tests: check for inconsistently translated DEPRECATED
timeless@mozdev.org [Thu, 17 Sep 2015 07:49:18 -0400] rev 26261
tests: check for inconsistently translated DEPRECATED Mercurial expects DEPRECATED to be translated consistently, not doing that breaks Mercurial.
Thu, 17 Sep 2015 07:33:21 -0400 i18n-fr: reject translation which is missing DEPRECATED
timeless@mozdev.org [Thu, 17 Sep 2015 07:33:21 -0400] rev 26260
i18n-fr: reject translation which is missing DEPRECATED
Thu, 17 Sep 2015 07:47:30 -0400 i18n-pt_BR: select a single definition of DEPRECATED
timeless@mozdev.org [Thu, 17 Sep 2015 07:47:30 -0400] rev 26259
i18n-pt_BR: select a single definition of DEPRECATED Mercurial expects DEPRECATED to be translated consistently, not doing that breaks Mercurial.
Thu, 17 Sep 2015 07:37:20 -0400 i18n-sv: select a single definition of DEPRECATED
timeless@mozdev.org [Thu, 17 Sep 2015 07:37:20 -0400] rev 26258
i18n-sv: select a single definition of DEPRECATED Mercurial expects DEPRECATED to be translated consistently, not doing that breaks Mercurial.
Thu, 17 Sep 2015 07:34:27 -0400 i18n-ro: use ()s instead of [] for DEPRECATED
timeless@mozdev.org [Thu, 17 Sep 2015 07:34:27 -0400] rev 26257
i18n-ro: use ()s instead of [] for DEPRECATED
Thu, 17 Sep 2015 07:34:13 -0400 i18n-ro: include translation of DEPRECATED
timeless@mozdev.org [Thu, 17 Sep 2015 07:34:13 -0400] rev 26256
i18n-ro: include translation of DEPRECATED
Thu, 17 Sep 2015 07:35:03 -0400 i18n-zh_CN: include translation of DEPRECATED
timeless@mozdev.org [Thu, 17 Sep 2015 07:35:03 -0400] rev 26255
i18n-zh_CN: include translation of DEPRECATED
Thu, 17 Sep 2015 07:33:44 -0400 i18n-it: include translation of DEPRECATED
timeless@mozdev.org [Thu, 17 Sep 2015 07:33:44 -0400] rev 26254
i18n-it: include translation of DEPRECATED
Thu, 17 Sep 2015 07:32:28 -0400 i18n-da: include translation of DEPRECATED
timeless@mozdev.org [Thu, 17 Sep 2015 07:32:28 -0400] rev 26253
i18n-da: include translation of DEPRECATED
Thu, 17 Sep 2015 07:31:07 -0400 test-i18n: always run non gettext tests
timeless@mozdev.org [Thu, 17 Sep 2015 07:31:07 -0400] rev 26252
test-i18n: always run non gettext tests
Tue, 15 Sep 2015 00:32:39 +0900 localrepo: refresh filecache stats only if transaction finished successfully
Yuya Nishihara <yuya@tcha.org> [Tue, 15 Sep 2015 00:32:39 +0900] rev 26251
localrepo: refresh filecache stats only if transaction finished successfully If commit is aborted by pretxncommit hook, in-memory changelog and manifest have entries that would be added. So they must be discarded on invalidate(). But the mechanism introduced by a710936c3037 doesn't handle this case well. It tries to mitigate the penalty of invalidate() by marking in-memory cache as "clean" on unlock assuming that they are identical to the stored data. But this assumption is wrong if stored data are rolled back by tr.abort(). This patch moves the hook to post-close action so that it will never be triggered on abort. This bug was originally reported to thg, which is only reproducible in command-server process on unix, evolve disabled. https://bitbucket.org/tortoisehg/thg/issues/4285/
Tue, 15 Sep 2015 21:00:28 +0900 localrepo: move closure of lock release to class
Yuya Nishihara <yuya@tcha.org> [Tue, 15 Sep 2015 21:00:28 +0900] rev 26250
localrepo: move closure of lock release to class It only captures "self", so it isn't necessary to be created dynamically.
Wed, 16 Sep 2015 22:30:36 +0800 highlight: add highlightfiles config option which takes a fileset (issue3005)
Anton Shestakov <av6@dwimlabs.net> [Wed, 16 Sep 2015 22:30:36 +0800] rev 26249
highlight: add highlightfiles config option which takes a fileset (issue3005) Highlight extension lacked a way to limit files by size, by extension, and/or by any other part of file path. A good solution would be to use a fileset, since it can check file path, extension and size (and more) in one expression. So this change introduces such an option, highlighfiles, which takes a fileset and on each request decides if the requested file should be highlighted. The default "size('<5M')" is, in a way, suggested in issue3005. checkfctx() limits the amount of work to just one file (subset kwarg in fileset.matchctx()). Monkey-patching works around issue4568, otherwise using filesets here while running hgweb in directory mode would say, for example, "Abort: **.py not under root", but this fix is very local and probably far from ideal. I suspect there to be a way to fix this for the whole hgweb and resolve the issue, but I don't know how to do it.
Fri, 04 Sep 2015 11:15:02 -0400 posix: shellquote do not require quoting for "+" (issue4818)
timeless@mozdev.org [Fri, 04 Sep 2015 11:15:02 -0400] rev 26248
posix: shellquote do not require quoting for "+" (issue4818)
Sat, 12 Sep 2015 12:16:39 -0700 hgweb: consume generator inside context manager (issue4756)
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 12 Sep 2015 12:16:39 -0700] rev 26247
hgweb: consume generator inside context manager (issue4756) If code inside a context manager returns a generator, the context manager exits before the generator is iterated. hgweb was using a context manager to control thread safe access to a localrepository instance. But it was returning a generator, so there was a race condition between a previous request streaming a response to the client and a new request obtaining the released but in use repository. By iterating the generator inside the context manager, we ensure we don't release the repo instance until after the response has finished. With this change, hgweb finally appears to have full localrepository isolation between threads. I can no longer reproduce the 2 exceptions reported in issue4756. test-hgweb-non-interactive.t has been modified to consume the output of calling into a WSGI application. Without this, execution of the WSGI application stalls because of the added yield statement.
Thu, 27 Aug 2015 14:46:26 -0400 histedit: use one editor when multiple folds happen in a row (issue3524) (BC)
Augie Fackler <augie@google.com> [Thu, 27 Aug 2015 14:46:26 -0400] rev 26246
histedit: use one editor when multiple folds happen in a row (issue3524) (BC) This was the first ever feature request for histedit, originally filed back on April 4, 2009. Finally fixed. In the future we'll probably want to make it possible for other preprocessing steps to be added to the list, but for now we're skipping that because it's unclear what the API should look like without a proposed consumer.
Mon, 14 Sep 2015 18:41:09 +0800 hgweb: replace .sourcelast with .bottomline that does the same
Anton Shestakov <av6@dwimlabs.net> [Mon, 14 Sep 2015 18:41:09 +0800] rev 26245
hgweb: replace .sourcelast with .bottomline that does the same In paper and Coal, basically, div.sourcelast was only used to make a 1px border on the bottom of file source view (and only there). It's better to use bottomline class, that also exists for the same purpose (visually), but is used more widely and works without needing an empty <div>.
(0) -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 +10000 tip