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 45609
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 45608
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 45607
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 45606
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 45605
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 45604
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 45603
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 45602
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 45601
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 45600
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 45599
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 45598
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 45597
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 45596
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 45595
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 45594
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 45593
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 45592
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 45591
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
Mon, 24 Aug 2020 15:35:34 +0530 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 24 Aug 2020 15:35:34 +0530] rev 45590
merge: store cases when a file is absent post merge in commitinfo Some merges can result in file being absent form working directory. This can be one of file was kept deleted or file was removed by merge code. User might revert the file back before committing. In such cases we will like to have better handling and create new filenodes. We store this info in mergestate as commitinfo so that we can use it while committing to create new filenode if required. Differential Revision: https://phab.mercurial-scm.org/D9003
Mon, 14 Sep 2020 15:08:15 +0530 tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 14 Sep 2020 15:08:15 +0530] rev 45589
tests: add some more debugmergestate calls in `test-merge-criss-cross.t` Differential Revision: https://phab.mercurial-scm.org/D9029
Thu, 03 Sep 2020 13:58:14 +0530 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 03 Sep 2020 13:58:14 +0530] rev 45588
commit: force create a new filenode if it was set in mergestate by merge For reasons mentioned in previous commits, we will like to forcefully create a new filenode sometimes. Combination of this patch and previous one, we fixed a case in `test-merge-combination.t`. This does not yet results in conflict where it should, I need to investigate more about what's happening as it should be a change-delete conflict now. Differential Revision: https://phab.mercurial-scm.org/D8989
Thu, 03 Sep 2020 13:44:06 +0530 merge: store commitinfo if these is a dc or cd conflict
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 03 Sep 2020 13:44:06 +0530] rev 45587
merge: store commitinfo if these is a dc or cd conflict delete-changed or changed-delete conflicts can either be resolved by mergetool, if some tool is passed and using or by user choose something on prompt or user doing some `hg revert` after choosing the file to remain conflicted. If the user decides to keep the changed side, on commit we just reuse the parent filenode. This is mostly fine unless we are in a distributed environment and people are doing criss-cross merges. Since, we don't have recursive merges or any other way of describing the end result of the merge was an explicit choice and it should be differentiated from it's ancestors, merge algo during criss-cross merges fails to take in account the explicit choice made by user and end up with a what-can-be-said-wrong-merge. The solution which we are trying to fix this is by creating a filenode on commit instead of reusing the parent filenode. This helps differentiate between pre-merged filenode and post-merge filenode and kind of tells about the choice user made. To implement creating new filenode functionality, we store info about these files in mergestate so that we can read them on commit and force create a new filenode. Differential Revision: https://phab.mercurial-scm.org/D8988
Fri, 25 Sep 2020 13:58:05 +0530 mergestate: update _stateextras instead of reassinging
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 25 Sep 2020 13:58:05 +0530] rev 45586
mergestate: update _stateextras instead of reassinging `merge.applyupdates()` can store extras for a file and _stateextras may not be empty always. Hence reassigning loses the old values. We can directly update like this because we switched to using `collections.defaultdict` for `_stateextras` sometime ago.
Mon, 14 Sep 2020 14:11:45 +0530 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 14 Sep 2020 14:11:45 +0530] rev 45585
tests: add some debugmergestate calls in `test-merge-criss-cross.t` This will help notice the change in upcoming patches much better. Differential Revision: https://phab.mercurial-scm.org/D9028
Thu, 03 Sep 2020 13:54:46 +0530 tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 03 Sep 2020 13:54:46 +0530] rev 45584
tests: add few debugrevlogindex and a log call to see changes in next test In upcoming patches, we will create a new filenode in couple of cases. Let's add some debugrevlogindex and a log call so that we can observe those changes better. Differential Revision: https://phab.mercurial-scm.org/D8987
Mon, 14 Sep 2020 14:40:12 +0530 merge: disable `m2-vs-ma` optimization if new filenode config is true
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 14 Sep 2020 14:40:12 +0530] rev 45583
merge: disable `m2-vs-ma` optimization if new filenode config is true The `m2-vs-ma` optimization filters out the file which have not changed between second parent and the ancestor of the merge. This results in the m1-vs-m2 diff not processing those files. These files will be required when we are creating new filenode for salvaged cases as we need to track them to store in mergestate that file can be salvaged. Differential Revision: https://phab.mercurial-scm.org/D9027
Mon, 14 Sep 2020 14:31:23 +0530 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 14 Sep 2020 14:31:23 +0530] rev 45582
configitems: add a new config option to control new filenode functionality This series is adding functionality where we can force create a new filenode for some files on a merge-commit. This is meant to represent an explicit choice made by user and hence distingusing the file in the merged commit with the file in parent by creating a new filenode instead of using the parent one. This introduces a experimental config option under which this functionality will be hidden. A new testcase is added in tests/test-merge-criss-cross.t to test the new functionality while making the option does not break other scenarios. Differential Revision: https://phab.mercurial-scm.org/D9026
Wed, 23 Sep 2020 14:20:49 -0400 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com> [Wed, 23 Sep 2020 14:20:49 -0400] rev 45581
git: add test showing `hg commit -i` working on a git repo Shows `hg commit -i` working on a git repo via the `git` extension. Adds working directory changes to files `alpha` and `beta`, then selects only `alpha` changes and commits them. As of now this would fail for a filename that includes uppercase characters due to the lack of case folding support in the extension. Differential Revision: https://phab.mercurial-scm.org/D9081
Mon, 21 Sep 2020 11:53:44 -0700 merge: replace calls to hg.updaterepo() by merge.update()
Martin von Zweigbergk <martinvonz@google.com> [Mon, 21 Sep 2020 11:53:44 -0700] rev 45580
merge: replace calls to hg.updaterepo() by merge.update() The former no longer buys us anything. Differential Revision: https://phab.mercurial-scm.org/D9067
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 tip