Wed, 30 Sep 2020 15:46:54 +0530 merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 30 Sep 2020 15:46:54 +0530] rev 45617
merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED ACTION_GET represents that either the file is created on remote or it's newer on the remote side. However, since we have a ACTION_DELETE_CHANGED too, it means the file is not present locally and ACTION_GET is representing that file was created on remote. Having both ACTION_GET and ACTION_DELETED_CHANGED is conflicting because one says that file was created on remote and other says file has delete-changed conflicts. Let's choose ACTION_DELETED_CHANGED which will result in conflicts and make user choose the right way forward.
Wed, 30 Sep 2020 15:09:25 +0530 tests: add newfilenode test case in test-merge-changedelete.t
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 30 Sep 2020 15:09:25 +0530] rev 45616
tests: add newfilenode test case in test-merge-changedelete.t
Thu, 01 Oct 2020 09:49:33 +0200 rust: leverage improved match ergonomics
Raphaël Gomès <rgomes@octobus.net> [Thu, 01 Oct 2020 09:49:33 +0200] rev 45615
rust: leverage improved match ergonomics Differential Revision: https://phab.mercurial-scm.org/D9137
Mon, 28 Sep 2020 15:08:02 +0200 rust: update minimum supported Rust compiler version
Raphaël Gomès <rgomes@octobus.net> [Mon, 28 Sep 2020 15:08:02 +0200] rev 45614
rust: update minimum supported Rust compiler version Debian stable backported `rustc 1.41.1` for a Firefox release that needed it, so we can finally update the compiler version to something that isn't more than a year old. This means that (among other things [1]), `async await` syntax is usable! Differential Revision: https://phab.mercurial-scm.org/D9138
Fri, 25 Sep 2020 11:29:19 +0200 changing-files: add a utility to compute the merged files post-commit
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 25 Sep 2020 11:29:19 +0200] rev 45613
changing-files: add a utility to compute the merged files post-commit We will need it in `_getsidedata` as soon as we start persisting that set. Differential Revision: https://phab.mercurial-scm.org/D9089
Fri, 25 Sep 2020 02:01:32 +0200 changing-files: record merged files at commit time
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 25 Sep 2020 02:01:32 +0200] rev 45612
changing-files: record merged files at commit time The data is easy to gather at commit time, and we need it for changeset centric copy tracing. Right now, it is not persisted so we cannot use it. However we will fix this part very soon, gathering something to persist was necessary first. Differential Revision: https://phab.mercurial-scm.org/D9088
Thu, 24 Sep 2020 09:50:09 +0200 changing-files: add the ability to track merged files too
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 24 Sep 2020 09:50:09 +0200] rev 45611
changing-files: add the ability to track merged files too The set of merged files is used when doing changeset centric copy tracing (cf `is_merged` in `mercurial/copies.py`. So tracking (and persisting) this set will be useful. We start with adding the attribute on the new object. Differential Revision: https://phab.mercurial-scm.org/D9087
Wed, 30 Sep 2020 18:10:29 +0200 rust: start plugging the dirstate tree behind a feature gate
Raphaël Gomès <rgomes@octobus.net> [Wed, 30 Sep 2020 18:10:29 +0200] rev 45610
rust: start plugging the dirstate tree behind a feature gate The previous patch added the `dirstate-tree` feature gate to enable the two dirstate implementations to co-habit while the tree-based one gets better. This patch copies over the code that differs, be it because the algorithm changed or because the borrowing rules are different. Indeed, `DirstateTree` is not observationally equivalent to the std `HashMap` in the APIs we use: it does not have the `Entry` API (yet?) and its iterator returns owned values instead of references. This last point is because the implementation needs to be changed to a more clever and efficient solution. Differential Revision: https://phab.mercurial-scm.org/D9133
Wed, 30 Sep 2020 18:10:53 +0200 rust: introduce `dirstate-tree` cargo feature
Raphaël Gomès <rgomes@octobus.net> [Wed, 30 Sep 2020 18:10:53 +0200] rev 45609
rust: introduce `dirstate-tree` cargo feature This feature gates (at compile-time) the use of the newly-added dirstate tree. The motivation for this is that the dirstate tree is currently *very* slow; replacing the current hashmap-based dirstate is not a viable solution in terms of performance... and why would you be using the Rust implementation if not for performance? The feature will also help reviewers better understand the differences that will slowly appear as the dirstate tree gets better. Differential Revision: https://phab.mercurial-scm.org/D9132
Wed, 30 Sep 2020 18:23:43 +0200 rust: fix formatting
Raphaël Gomès <rgomes@octobus.net> [Wed, 30 Sep 2020 18:23:43 +0200] rev 45608
rust: fix formatting Maybe there is a small divergence in the nightly formatter? This didn't seem to trip the CI. Differential Revision: https://phab.mercurial-scm.org/D9131
Wed, 23 Sep 2020 10:02:16 +0200 rust-matchers: make `Matcher` trait object-safe
Raphaël Gomès <rgomes@octobus.net> [Wed, 23 Sep 2020 10:02:16 +0200] rev 45607
rust-matchers: make `Matcher` trait object-safe Before this patch, it is not possible to create a `Matcher` trait-object (like `Box<dyn Matcher>`), because of the use of a generic parameters in some methods, namely `impl AsRef<HgPath>`. While this makes the interface less flexible for callers in theory, it does not change anything in the current codebase. Until something like [1] is implemented, this is a "tradeoff" that we need to make anyway. [1] https://internals.rust-lang.org/t/pre-rfc-expand-object-safety/12693 Differential Revision: https://phab.mercurial-scm.org/D9071
Mon, 28 Sep 2020 14:07:00 +0200 rust: clippy pass
Raphaël Gomès <rgomes@octobus.net> [Mon, 28 Sep 2020 14:07:00 +0200] rev 45606
rust: clippy pass This removes some justified warnings and one hard error that, while technically not a bug, was an ugly oversight on my part. Differential Revision: https://phab.mercurial-scm.org/D9094
Mon, 28 Sep 2020 08:07:09 -0700 updaterepo: add deprecation warning
Martin von Zweigbergk <martinvonz@google.com> [Mon, 28 Sep 2020 08:07:09 -0700] rev 45605
updaterepo: add deprecation warning We just moved all in-tree callers off of the function, but we're leaving it here for a bit to help extension writers. Differential Revision: https://phab.mercurial-scm.org/D9110
Mon, 28 Sep 2020 16:54:35 +0200 rhg: use `.or(Err(Error))` not `.map_err(|_| Error)` (D9100#inline-15067)
Antoine cezar<acezar@chwitlabs.fr> [Mon, 28 Sep 2020 16:54:35 +0200] rev 45604
rhg: use `.or(Err(Error))` not `.map_err(|_| Error)` (D9100#inline-15067) Differential Revision: https://phab.mercurial-scm.org/D9109
Mon, 28 Sep 2020 16:52:35 +0200 hg-core: use `.or(Err(Error))` not `.map_err(|_| Error)` (D9100#inline-15067)
Antoine cezar<acezar@chwitlabs.fr> [Mon, 28 Sep 2020 16:52:35 +0200] rev 45603
hg-core: use `.or(Err(Error))` not `.map_err(|_| Error)` (D9100#inline-15067) Differential Revision: https://phab.mercurial-scm.org/D9108
Mon, 28 Sep 2020 15:21:56 +0200 hg-core: return Err if `offset != bytes.len()`
Antoine cezar<acezar@chwitlabs.fr> [Mon, 28 Sep 2020 15:21:56 +0200] rev 45602
hg-core: return Err if `offset != bytes.len()` (D8958#inline-14994 followup 2/2) [X] make `Index` owner of its bytes [X] make `Index::new` return an error if `offset != bytes.len()` Differential Revision: https://phab.mercurial-scm.org/D9107
Mon, 28 Sep 2020 15:13:51 +0200 hg-core: make `Index` owner of its bytes (D8958#inline-14994 followup 1/2)
Antoine cezar<acezar@chwitlabs.fr> [Mon, 28 Sep 2020 15:13:51 +0200] rev 45601
hg-core: make `Index` owner of its bytes (D8958#inline-14994 followup 1/2) Prevent building `Index` every time it is needed. It was a bad idea anyway. When `Index::new` will return `Result` it will avoid things like `Revlog::len` returning `Result<usize>` instead of `usize`. [X] make `Index` owner of its bytes [ ] make `Index::new` return an error if `offset != bytes.len()` Differential Revision: https://phab.mercurial-scm.org/D9106
Mon, 28 Sep 2020 14:33:52 +0200 hg-core: renaming of `Chunk` offset methods (D8958#inline-15002 followup)
Antoine cezar<acezar@chwitlabs.fr> [Mon, 28 Sep 2020 14:33:52 +0200] rev 45600
hg-core: renaming of `Chunk` offset methods (D8958#inline-15002 followup) Differential Revision: https://phab.mercurial-scm.org/D9105
Mon, 28 Sep 2020 14:31:58 +0200 hg-core: minor rewording in docstring (D8958#inline-15005 followup)
Antoine cezar<acezar@chwitlabs.fr> [Mon, 28 Sep 2020 14:31:58 +0200] rev 45599
hg-core: minor rewording in docstring (D8958#inline-15005 followup) Differential Revision: https://phab.mercurial-scm.org/D9104
Mon, 28 Sep 2020 14:29:05 +0200 hg-core: use anonymous lifetime for `impl Chunk` (D8958#inline-15003 followup)
Antoine cezar<acezar@chwitlabs.fr> [Mon, 28 Sep 2020 14:29:05 +0200] rev 45598
hg-core: use anonymous lifetime for `impl Chunk` (D8958#inline-15003 followup) Differential Revision: https://phab.mercurial-scm.org/D9103
Mon, 28 Sep 2020 14:27:04 +0200 hg-core: use `u32` instead of `i32` in `Chunk` (D8958#inline-15001 followup)
Antoine cezar<acezar@chwitlabs.fr> [Mon, 28 Sep 2020 14:27:04 +0200] rev 45597
hg-core: use `u32` instead of `i32` in `Chunk` (D8958#inline-15001 followup) Differential Revision: https://phab.mercurial-scm.org/D9102
Mon, 28 Sep 2020 14:16:31 +0200 hg-core: use the term `chunk` instead of `frag` (D8958#inline-15000 followup)
Antoine cezar<acezar@chwitlabs.fr> [Mon, 28 Sep 2020 14:16:31 +0200] rev 45596
hg-core: use the term `chunk` instead of `frag` (D8958#inline-15000 followup) Differential Revision: https://phab.mercurial-scm.org/D9101
Mon, 28 Sep 2020 14:06:23 +0200 hg-core: return `Err` on decompression error (D8958#inline-15004 followup)
Antoine cezar<acezar@chwitlabs.fr> [Mon, 28 Sep 2020 14:06:23 +0200] rev 45595
hg-core: return `Err` on decompression error (D8958#inline-15004 followup) Differential Revision: https://phab.mercurial-scm.org/D9100
Mon, 28 Sep 2020 14:01:57 +0200 hg-core: remove useless code (D8958#inline-14988 followup)
Antoine cezar<acezar@chwitlabs.fr> [Mon, 28 Sep 2020 14:01:57 +0200] rev 45594
hg-core: remove useless code (D8958#inline-14988 followup) Differential Revision: https://phab.mercurial-scm.org/D9099
Mon, 28 Sep 2020 13:55:47 +0200 hg-core: minor docstring update (D8958#inline-14991 followup)
Antoine cezar<acezar@chwitlabs.fr> [Mon, 28 Sep 2020 13:55:47 +0200] rev 45593
hg-core: minor docstring update (D8958#inline-14991 followup) Differential Revision: https://phab.mercurial-scm.org/D9097
Mon, 28 Sep 2020 13:53:11 +0200 hg-core: minor code style change (D8958#inline-14986 followup)
Antoine cezar<acezar@chwitlabs.fr> [Mon, 28 Sep 2020 13:53:11 +0200] rev 45592
hg-core: minor code style change (D8958#inline-14986 followup) Differential Revision: https://phab.mercurial-scm.org/D9096
Mon, 28 Sep 2020 13:51:16 +0200 hg-core: Explain offset override of first revision
Antoine cezar<acezar@chwitlabs.fr> [Mon, 28 Sep 2020 13:51:16 +0200] rev 45591
hg-core: Explain offset override of first revision (D8958#inline-14992 followup) Differential Revision: https://phab.mercurial-scm.org/D9095
Mon, 28 Sep 2020 13:46:14 +0200 hg-core: minor code style change (D8958#inline-14993 followup)
Antoine cezar<acezar@chwitlabs.fr> [Mon, 28 Sep 2020 13:46:14 +0200] rev 45590
hg-core: minor code style change (D8958#inline-14993 followup) Differential Revision: https://phab.mercurial-scm.org/D9083
Thu, 24 Sep 2020 09:32:07 +0200 changing-files: move default constructor value to None
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 24 Sep 2020 09:32:07 +0200] rev 45589
changing-files: move default constructor value to None According to Augie Fackler, using tuple as default value confuse PyType when actual values are passed at init time. Differential Revision: https://phab.mercurial-scm.org/D9086
Mon, 28 Sep 2020 11:16:12 +0200 rust: format with rustfmt
Raphaël Gomès <rgomes@octobus.net> [Mon, 28 Sep 2020 11:16:12 +0200] rev 45588
rust: format with rustfmt I suppose I ran the formatter on the tip but not on every patch. Differential Revision: https://phab.mercurial-scm.org/D9093
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 tip