Wed, 09 Aug 2023 18:08:28 -0400 rust: simplify pattern file parsing
Spencer Baugh <sbaugh@janestreet.com> [Wed, 09 Aug 2023 18:08:28 -0400] rev 50881
rust: simplify pattern file parsing Previously we kept the pattern syntax as a &[u8] until the last possible moment, which meant we had to handle potential errors when parsing that &[u8]. But such errors could never actually occur, given the structure of the code. Now we parse it eagerly (in two places) and pass it around as a PatternSyntax, so we can delete some error handling code. parse_one_pattern is in particular useful for parsing patterns passed on the command line, as we'll support later in this series.
Wed, 02 Aug 2023 09:57:29 -0400 rust-matchers: better support file_set in IntersectionMatcher
Spencer Baugh <sbaugh@janestreet.com> [Wed, 02 Aug 2023 09:57:29 -0400] rev 50880
rust-matchers: better support file_set in IntersectionMatcher Previously, if both of the input matchers had non-exact file sets, IntersectionMatcher would simply have an empty fileset. Now, we duplicate Python behavior: we *union* the filesets of the matchers in that case. This makes some sense, because without exact input file sets, we can't do an exact intersection and must over-approximate. Concretely, this is necessary because the file_set is the list of files that were explicitly listed by the user, and we want to provide explicit errors for all such files, from both matchers.
Mon, 21 Aug 2023 10:00:08 +0200 branching: merge stable into default
Raphaël Gomès <rgomes@octobus.net> [Mon, 21 Aug 2023 10:00:08 +0200] rev 50879
branching: merge stable into default
Sun, 20 Aug 2023 02:17:38 -0400 version: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 02:17:38 -0400] rev 50878
version: migrate `opts` to native kwargs
Sun, 20 Aug 2023 02:16:41 -0400 verify: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 02:16:41 -0400] rev 50877
verify: migrate `opts` to native kwargs
Sun, 20 Aug 2023 02:14:57 -0400 tags: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 02:14:57 -0400] rev 50876
tags: migrate `opts` to native kwargs
Sun, 20 Aug 2023 02:13:50 -0400 tag: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 02:13:50 -0400] rev 50875
tag: migrate `opts` to native kwargs
Sun, 20 Aug 2023 02:10:51 -0400 summary: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 02:10:51 -0400] rev 50874
summary: migrate `opts` to native kwargs This has the added benefit of unconfusing PyCharm- it thought `opts` in the nested functions were str based for some reason.
Sun, 20 Aug 2023 02:01:37 -0400 revert: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 02:01:37 -0400] rev 50873
revert: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:56:23 -0400 rename: drop an unnecessary variable declaration at a wider scope
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:56:23 -0400] rev 50872
rename: drop an unnecessary variable declaration at a wider scope
Sun, 20 Aug 2023 01:54:59 -0400 rename: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:54:59 -0400] rev 50871
rename: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:53:47 -0400 remove: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:53:47 -0400] rev 50870
remove: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:51:52 -0400 purge: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:51:52 -0400] rev 50869
purge: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:49:48 -0400 pull: avoid referencing a variable before it is initialized
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:49:48 -0400] rev 50868
pull: avoid referencing a variable before it is initialized If `urlutil.get_pull_paths()` somehow yields nothing, the reference after the loop appears to be a problem. I noticed this because PyCharm flagged (and still flags) the initialization of this inside the loop as somehow unused. I'm not sure why 1 isn't returned directly where it is set to the result of `postincoming()`, but maybe the code is structured this way in anticipation of future work.
Sun, 20 Aug 2023 01:40:50 -0400 pull: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:40:50 -0400] rev 50867
pull: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:35:14 -0400 paths: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:35:14 -0400] rev 50866
paths: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:32:22 -0400 merge: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:32:22 -0400] rev 50865
merge: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:29:27 -0400 manifest: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:29:27 -0400] rev 50864
manifest: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:27:36 -0400 locate: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:27:36 -0400] rev 50863
locate: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:24:29 -0400 import: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:24:29 -0400] rev 50862
import: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:20:59 -0400 heads: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:20:59 -0400] rev 50861
heads: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:17:45 -0400 forget: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:17:45 -0400] rev 50860
forget: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:15:15 -0400 copy: drop an unused variable
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:15:15 -0400] rev 50859
copy: drop an unused variable
Sun, 20 Aug 2023 01:14:42 -0400 copy: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:14:42 -0400] rev 50858
copy: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:12:26 -0400 config: use the writefile() utility to create the sample hgrc
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:12:26 -0400] rev 50857
config: use the writefile() utility to create the sample hgrc This function uses a context manager.
Sun, 20 Aug 2023 01:08:58 -0400 config: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:08:58 -0400] rev 50856
config: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:02:52 -0400 clone: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:02:52 -0400] rev 50855
clone: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:00:11 -0400 bundle: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:00:11 -0400] rev 50854
bundle: migrate `opts` to native kwargs
Sun, 20 Aug 2023 00:56:58 -0400 branches: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 00:56:58 -0400] rev 50853
branches: migrate `opts` to native kwargs
Sun, 20 Aug 2023 00:55:52 -0400 branch: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 00:55:52 -0400] rev 50852
branch: migrate `opts` to native kwargs
Sun, 20 Aug 2023 00:44:15 -0400 bookmark: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 00:44:15 -0400] rev 50851
bookmark: migrate `opts` to native kwargs There are a bunch of callers for `ui.formatter()`, so convert to bytes only for that call.
Sun, 20 Aug 2023 00:35:28 -0400 archive: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 00:35:28 -0400] rev 50850
archive: migrate `opts` to native kwargs I'm not sure how to handle migrating core APIs like `scmutil.match`, so kick that can down the road. (Plus it's used all over, so the callers need to be migrated first.)
Sun, 20 Aug 2023 00:27:27 -0400 backout: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 00:27:27 -0400] rev 50849
backout: migrate `opts` to native kwargs It will take a bit to unwind `cmdutil.commit`, so there's a conversion to byteskwargs there, without changing the type of `opts` in this function. That's also useful to flag it as needing to be changed.
Sat, 19 Aug 2023 23:06:40 -0400 cmdutil: migrate `opts` on commitstatus() to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sat, 19 Aug 2023 23:06:40 -0400] rev 50848
cmdutil: migrate `opts` on commitstatus() to native kwargs
Sat, 19 Aug 2023 22:56:14 -0400 cat: avoid round tripping **opts -> byteskwargs -> strkwargs
Matt Harbison <matt_harbison@yahoo.com> [Sat, 19 Aug 2023 22:56:14 -0400] rev 50847
cat: avoid round tripping **opts -> byteskwargs -> strkwargs Some internal users still want byteskwargs, so they are serviced in place. Once this pattern of changing types is eliminated everywhere, the remaining internal uses can be cleaned up individually (hopefully).
Mon, 07 Aug 2023 11:08:00 +0200 branching: merge stable into default
Raphaël Gomès <rgomes@octobus.net> [Mon, 07 Aug 2023 11:08:00 +0200] rev 50846
branching: merge stable into default
Mon, 24 Jul 2023 05:13:52 +0200 transaction: actually delete file created during the transaction on rollback
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Jul 2023 05:13:52 +0200] rev 50845
transaction: actually delete file created during the transaction on rollback Transaction currently has two modes: - one where file created during the transaction are deleted on rollback, - one where file created during the transaction are truncated to 0 on rollback. Before this change, `hg rollback` and `hg recover` are using the "delete" mode and transaction abort is using the "truncate" option. This difference is never really explained. A long time ago, there was two code paths, with this divergence existing for unclear reasons. When the two code paths got merged into a single one, a boolean argument have been added to preserve this divergence, mostly probably as a cargo cult. The divergence is weird and induce bad surprises, and the truncate behavior is a bit odds, introducing other bad surprises (e.g. 08ecbdba186f) So solve this, we stop using the "truncate" behavior and unify on the "delete" behavior. Despite being currently more "common", the truncate behavior seems less natural, resulting in the transaction leaving empty file around. This is landed on default, early in the cycle, to help us catch problems that could emerge.
Fri, 28 Jul 2023 17:08:37 +0100 rhg: tweak rhg fallback code structure
Arseniy Alekseyev <aalekseyev@janestreet.com> [Fri, 28 Jul 2023 17:08:37 +0100] rev 50844
rhg: tweak rhg fallback code structure The goal here is to share the code that accesses the config setting, but also move it to the top-level, so that we can more easily change this code later. (in fact in Jane Street we want to make it choose chg in some cases)
Fri, 21 Jul 2023 15:26:15 +0200 journal: track bookmark deletion
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Jul 2023 15:26:15 +0200] rev 50843
journal: track bookmark deletion Bookmark deletion are now properly tracked by the journal extensions.
Fri, 21 Jul 2023 15:28:52 +0200 journal: show that we do not track deletion
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Jul 2023 15:28:52 +0200] rev 50842
journal: show that we do not track deletion This was an oversight for the initial implementation.
Fri, 21 Jul 2023 09:22:18 -0700 contrib: upgrade merge-lists from clap v3 to clap v4
Martin von Zweigbergk <martinvonz@google.com> [Fri, 21 Jul 2023 09:22:18 -0700] rev 50841
contrib: upgrade merge-lists from clap v3 to clap v4 Mostly to avoid having clap v3 in our dependencies, due to https://osv.dev/vulnerability/GHSA-g98v-hv3f-hcfr (even though that seems pretty harmless).
Fri, 21 Jul 2023 03:56:28 +0200 infinitepush: drop the extension
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Jul 2023 03:56:28 +0200] rev 50840
infinitepush: drop the extension The writing have been on the wall for a long time.
Fri, 23 Jun 2023 13:27:09 +0200 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 23 Jun 2023 13:27:09 +0200] rev 50839
perf: display all timing by default This is much more useful and end up enable it everywhere. I don't think we have strong backward compatibility guarantee for perf.
Mon, 10 Jul 2023 10:53:12 +0200 wrapfunction: deprecated calling "wrapfunction" with bytes
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 10 Jul 2023 10:53:12 +0200] rev 50838
wrapfunction: deprecated calling "wrapfunction" with bytes This will help us to detect and eradicates legacy calls. This is on the path to deprecating `util.safehasattr`.
Mon, 10 Jul 2023 15:39:19 +0200 wrapfunction: deprecates calling `wrappedfunction` with bytes
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 10 Jul 2023 15:39:19 +0200] rev 50837
wrapfunction: deprecates calling `wrappedfunction` with bytes This will help us to detect and eradicates legacy calls. This is on the path to deprecating `util.safehasattr`.
Mon, 10 Jul 2023 19:34:04 +0200 wrapfunction: use sysstr instead of bytes as argument in various tests
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 10 Jul 2023 19:34:04 +0200] rev 50836
wrapfunction: use sysstr instead of bytes as argument in various tests This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Mon, 10 Jul 2023 19:33:14 +0200 wrapfunction: use sysstr instead of bytes as argument in "exthelper"
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 10 Jul 2023 19:33:14 +0200] rev 50835
wrapfunction: use sysstr instead of bytes as argument in "exthelper" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Mon, 10 Jul 2023 15:38:53 +0200 wrapfunction: use sysstr instead of bytes as argument in "sqlitestore"
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 10 Jul 2023 15:38:53 +0200] rev 50834
wrapfunction: use sysstr instead of bytes as argument in "sqlitestore" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Mon, 10 Jul 2023 19:32:17 +0200 wrapfunction: use sysstr instead of bytes as argument in "share"
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 10 Jul 2023 19:32:17 +0200] rev 50833
wrapfunction: use sysstr instead of bytes as argument in "share" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Mon, 10 Jul 2023 19:31:26 +0200 wrapfunction: use sysstr instead of bytes as argument in "perf"
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 10 Jul 2023 19:31:26 +0200] rev 50832
wrapfunction: use sysstr instead of bytes as argument in "perf" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:30:44 +0100 wrapfunction: use sysstr instead of bytes as argument in "zeroconf"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:30:44 +0100] rev 50831
wrapfunction: use sysstr instead of bytes as argument in "zeroconf" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:27:17 +0100 wrapfunction: use sysstr instead of bytes as argument in "sqlitestore"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:27:17 +0100] rev 50830
wrapfunction: use sysstr instead of bytes as argument in "sqlitestore" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:26:18 +0100 wrapfunction: use sysstr instead of bytes as argument in "sparse"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:26:18 +0100] rev 50829
wrapfunction: use sysstr instead of bytes as argument in "sparse" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:25:57 +0100 wrapfunction: use sysstr instead of bytes as argument in "schemes"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:25:57 +0100] rev 50828
wrapfunction: use sysstr instead of bytes as argument in "schemes" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:25:43 +0100 wrapfunction: use sysstr instead of bytes as argument in "remotenames"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:25:43 +0100] rev 50827
wrapfunction: use sysstr instead of bytes as argument in "remotenames" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:25:07 +0100 wrapfunction: use sysstr instead of bytes as argument in "remotefilelog"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:25:07 +0100] rev 50826
wrapfunction: use sysstr instead of bytes as argument in "remotefilelog" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:24:53 +0100 wrapfunction: use sysstr instead of bytes as argument in "pager"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:24:53 +0100] rev 50825
wrapfunction: use sysstr instead of bytes as argument in "pager" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:24:40 +0100 wrapfunction: use sysstr instead of bytes as argument in "narrow"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:24:40 +0100] rev 50824
wrapfunction: use sysstr instead of bytes as argument in "narrow" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:23:12 +0100 wrapfunction: use sysstr instead of bytes as argument in "lfs"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:23:12 +0100] rev 50823
wrapfunction: use sysstr instead of bytes as argument in "lfs" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:22:41 +0100 wrapfunction: use sysstr instead of bytes as argument in "largefiles"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:22:41 +0100] rev 50822
wrapfunction: use sysstr instead of bytes as argument in "largefiles" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
(0) -30000 -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 tip