Tue, 27 Aug 2019 11:56:19 -0700 split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com> [Tue, 27 Aug 2019 11:56:19 -0700] rev 42856
split: handle partial commit of renames when doing split or record (issue5723) When using split or record, using either interface (text or curses), selecting portions of the file to be committed/recorded did not work; the entire file was treated as having been selected. This was because the logic for handling partial application of the patches relies on knowing what files are "new with modifications" and it doesn't treat "rename destination" as "new". There was a complicating issue, however. We're relying on the patch header specifying the copy from/to information, which works as long as the 'copy from' file is there. In the case of renames, however, the 'rename from' file is *not* there, so we need to add it back. Differential Revision: https://phab.mercurial-scm.org/D6768
Tue, 27 Aug 2019 11:56:15 -0700 split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com> [Tue, 27 Aug 2019 11:56:15 -0700] rev 42855
split: handle partial commit of copies when doing split or record When using split or record, using either interface (text or curses), selecting portions of the file to be committed/recorded did not work; the entire file was treated as having been selected. This appears to be because the logic for handling partial application of the patches relies on knowing what files are "new with modifications", and it doesn't treat "copy destination" as "new". Handling renames correctly is more difficult and will be done in a later patch. Differential Revision: https://phab.mercurial-scm.org/D6767
Sun, 01 Sep 2019 23:43:59 -0700 py3: use pycompat.sysargv[0] for instead of fsencode(sys.argv[0])
Martin von Zweigbergk <martinvonz@google.com> [Sun, 01 Sep 2019 23:43:59 -0700] rev 42854
py3: use pycompat.sysargv[0] for instead of fsencode(sys.argv[0]) Yuya noted in a recent review that fsencode(sys.argv[0]) could be incorrect on Windows. Differential Revision: https://phab.mercurial-scm.org/D6782
Wed, 04 Sep 2019 14:35:39 -0700 httppeer: use context manager when reading temporary bundle to send
Martin von Zweigbergk <martinvonz@google.com> [Wed, 04 Sep 2019 14:35:39 -0700] rev 42853
httppeer: use context manager when reading temporary bundle to send Differential Revision: https://phab.mercurial-scm.org/D6784
Wed, 04 Sep 2019 10:42:26 -0700 httppeer: use context manager when writing temporary bundle to send
Martin von Zweigbergk <martinvonz@google.com> [Wed, 04 Sep 2019 10:42:26 -0700] rev 42852
httppeer: use context manager when writing temporary bundle to send Differential Revision: https://phab.mercurial-scm.org/D6783
Sun, 01 Sep 2019 18:06:31 +0900 rust-cpython: mark unsafe functions as such
Yuya Nishihara <yuya@tcha.org> [Sun, 01 Sep 2019 18:06:31 +0900] rev 42851
rust-cpython: mark unsafe functions as such It wasn't trivial to fix leak_immutable() to be safe since we have to allow immutable operations (e.g. iter()) on the leaked reference. So let's mark it unsafe for now. Callers must take care of the returned object to guarantee the memory safety. I'll revisit this later. I think $leaked<T: 'static> could have a function that converts itself into $leaked<U: 'static> with a given FnOnce(&T) -> &U, where T is $inner_struct, and U is $iterator_type for example.
Sun, 01 Sep 2019 17:48:24 +0900 rust-cpython: pair leaked reference with its manager object
Yuya Nishihara <yuya@tcha.org> [Sun, 01 Sep 2019 17:48:24 +0900] rev 42850
rust-cpython: pair leaked reference with its manager object Still leak_immutable() is unsafe since leak_handle must live longer than the leaked_ref.
Sun, 01 Sep 2019 17:37:30 +0900 rust-cpython: introduce restricted variant of RefCell
Yuya Nishihara <yuya@tcha.org> [Sun, 01 Sep 2019 17:37:30 +0900] rev 42849
rust-cpython: introduce restricted variant of RefCell This should catch invalid borrow_mut() calls. Still the ref-sharing interface is unsafe.
Sat, 07 Sep 2019 14:51:18 +0200 tests: register test-merge-combination.t as small but slow stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 07 Sep 2019 14:51:18 +0200] rev 42848
tests: register test-merge-combination.t as small but slow run-tests.py use file size as an heuristic for test run time. The new `test-merge-combination.t` is a small file that do a lot of processing. As a result it tend to be scheduled really late but delay the full test run by a lot. On an example test run, the one-before-last test completed 279s after the start of the run, while `test-merge-combination.t` finished 355s after it. A 76s delay. This delay can be avoided since `test-merge-combination.t` only got started 175s after the start of the run.
Fri, 06 Sep 2019 11:48:49 +0200 test: allow different result for zstd compression (issue6188) stable
Julien Cristau <jcristau@debian.org> [Fri, 06 Sep 2019 11:48:49 +0200] rev 42847
test: allow different result for zstd compression (issue6188) test-repo-compengines fails on big-endian due to different file size, but the repo doesn't seem broken, so allow both sizes. Differential Revision: https://phab.mercurial-scm.org/D6787
Sun, 01 Sep 2019 17:35:14 +0900 rust-cpython: fix unsafe inner(py).borrow_mut() calls
Yuya Nishihara <yuya@tcha.org> [Sun, 01 Sep 2019 17:35:14 +0900] rev 42846
rust-cpython: fix unsafe inner(py).borrow_mut() calls Since self.inner is managed by PySharedState, it must not be borrowed mutably through the RefCell interface. Otherwise, the underlying object could be mutated while a reference is leaked to Python world.
Mon, 02 Sep 2019 16:28:43 +0200 revlog: deprecate the use of `revision(..., raw=True)`
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 02 Sep 2019 16:28:43 +0200] rev 42845
revlog: deprecate the use of `revision(..., raw=True)` We have an official `rawdata` function now.
Thu, 05 Sep 2019 14:08:22 -0400 Added signature for changeset a4e32fd539ab stable
Augie Fackler <raf@durin42.com> [Thu, 05 Sep 2019 14:08:22 -0400] rev 42844
Added signature for changeset a4e32fd539ab
Thu, 05 Sep 2019 14:08:20 -0400 Added tag 5.1.1 for changeset a4e32fd539ab stable
Augie Fackler <raf@durin42.com> [Thu, 05 Sep 2019 14:08:20 -0400] rev 42843
Added tag 5.1.1 for changeset a4e32fd539ab
Wed, 28 Aug 2019 16:01:16 +0200 remotefilelog: reduce probability of race-condition in remotefilelog tests
Boris Feld <boris.feld@octobus.net> [Wed, 28 Aug 2019 16:01:16 +0200] rev 42842
remotefilelog: reduce probability of race-condition in remotefilelog tests ca1014ad3de4 introduced a new parameter `ensurestart` to speed up remotefilelog background processes start. Unfortunately it seems to have increased the possibility of race-conditions in remotefilelog tests testing those background processes. With `ensurestart=False`, it seems that it's more probable to enter in a race condition with `debugwaitonprefetch` and `debugwaitonrepack` in remotefilelog background tests. Our CI seems to have a high probability of triggering this race condition so make it configurable to ensure tests are stable. Differential Revision: https://phab.mercurial-scm.org/D6772
Sat, 31 Aug 2019 14:12:38 +0900 rust: apply more formatting fixes
Yuya Nishihara <yuya@tcha.org> [Sat, 31 Aug 2019 14:12:38 +0900] rev 42841
rust: apply more formatting fixes My cargo fmt updated these lines and they look good.
Thu, 22 Aug 2019 14:31:07 +0200 rust-utils: add normalize_case util to mirror Python one
Raphaël Gomès <rgomes@octobus.net> [Thu, 22 Aug 2019 14:31:07 +0200] rev 42840
rust-utils: add normalize_case util to mirror Python one While we still don't handle filenames properly cross-platform, this at least sticks closer to the Python behavior. Differential Revision: https://phab.mercurial-scm.org/D6756
Wed, 28 Aug 2019 08:16:58 -0400 rust: fix warnings about trait objects without dyn being deprecated
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Wed, 28 Aug 2019 08:16:58 -0400] rev 42839
rust: fix warnings about trait objects without dyn being deprecated Differential Revision: https://phab.mercurial-scm.org/D6770
Thu, 29 Aug 2019 23:38:24 -0700 py3: convert hg executable path to bytes in missing case in procutil
Martin von Zweigbergk <martinvonz@google.com> [Thu, 29 Aug 2019 23:38:24 -0700] rev 42838
py3: convert hg executable path to bytes in missing case in procutil We (Google) noticed this in our tests when we use chg and a hg wrapper script not called 'hg'. The executable then ended up being a native string, which then failed in chgserver when trying to convert the environment dict to a byte string. Differential Revision: https://phab.mercurial-scm.org/D6775
Sat, 31 Aug 2019 10:26:39 -0700 py3: make statprof's chrome output work
Martin von Zweigbergk <martinvonz@google.com> [Sat, 31 Aug 2019 10:26:39 -0700] rev 42837
py3: make statprof's chrome output work With this patch, this command works: python3 hg --profile --config profiling.statformat=chrome st (and it works with s/python3/python2/ as well) Differential Revision: https://phab.mercurial-scm.org/D6777
Fri, 30 Aug 2019 15:30:47 -0700 py3: for statprof's Chrome output, write json to string, then encode to bytes
Martin von Zweigbergk <martinvonz@google.com> [Fri, 30 Aug 2019 15:30:47 -0700] rev 42836
py3: for statprof's Chrome output, write json to string, then encode to bytes `json.dump(obj, fp)` requires `fp.write()` to accept str output, and since the file pointer we have there only accepts bytes, we need to change to json.dumps() and then encode as utf-8. We have already done the same thing for the json (non-Chrome) format in 4b7eb862692e (py3: encode json output to bytes and use write(), 2018-10-12). Differential Revision: https://phab.mercurial-scm.org/D6781
Fri, 30 Aug 2019 16:44:31 -0700 statprof: use context manager for file when writing flame graph
Martin von Zweigbergk <martinvonz@google.com> [Fri, 30 Aug 2019 16:44:31 -0700] rev 42835
statprof: use context manager for file when writing flame graph Differential Revision: https://phab.mercurial-scm.org/D6780
Fri, 30 Aug 2019 16:43:43 -0700 statprof: use context manager when reading source from file
Martin von Zweigbergk <martinvonz@google.com> [Fri, 30 Aug 2019 16:43:43 -0700] rev 42834
statprof: use context manager when reading source from file Differential Revision: https://phab.mercurial-scm.org/D6779
Fri, 30 Aug 2019 15:12:37 -0700 statprof: clarify by naming tuple members while enumerate()'ing
Martin von Zweigbergk <martinvonz@google.com> [Fri, 30 Aug 2019 15:12:37 -0700] rev 42833
statprof: clarify by naming tuple members while enumerate()'ing Differential Revision: https://phab.mercurial-scm.org/D6778
Mon, 05 Aug 2019 17:25:24 +0200 upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 05 Aug 2019 17:25:24 +0200] rev 42832
upgrade: make sure we reclone all revlogs when updating to some format Adding or removing some requirement (eg: sparserevlog), requires to reclone revlog to use the new format. We cannot simply copy the original files. In this case, we issue a warning to proceed with clone every revlogs.
Tue, 30 Jul 2019 17:25:16 +0200 upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 Jul 2019 17:25:16 +0200] rev 42831
upgrade: add an argument to control changelog upgrade Same as for `--manifest` we can now select more selection.
Tue, 30 Jul 2019 00:35:52 +0200 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 Jul 2019 00:35:52 +0200] rev 42830
upgrade: add an argument to control manifest upgrade The argument can be used to only "clone" manifest revlog or clone all of them but this one. The selection will make more sense once we have a `--changelog` flag in the next changesets.
Fri, 30 Aug 2019 18:11:41 +0200 unionrepo: drop the custom `rawdata` implementation
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 30 Aug 2019 18:11:41 +0200] rev 42829
unionrepo: drop the custom `rawdata` implementation We can rely on the main one now.
Fri, 30 Aug 2019 18:10:43 +0200 unionrepo: drop `baserevdiff`
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 30 Aug 2019 18:10:43 +0200] rev 42828
unionrepo: drop `baserevdiff` It has no caller anymore.
Fri, 30 Aug 2019 18:10:00 +0200 unionrepo: use normal inheritance scheme to call revdiff
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 30 Aug 2019 18:10:00 +0200] rev 42827
unionrepo: use normal inheritance scheme to call revdiff
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 tip