987
I Use This!
Very High Activity

News

Analyzed 10 days ago. based on code collected 11 days ago.
Posted about 2 months ago by Pierre-Yves David
changeset 41b081ac2145 branch bookmark ... [More] tag user Pierre-Yves David description profiling: cope with configwith default value handling changes Changeset 6ff6eb33f353 change 'configwith' behavior so that the default value is run through the conversion function. In parallel a new user of 'configwith' got introduced unaware of this coming behavior change. This broke profiling. We resolve the situation by having the new conversion function cope with a default value already using the right type. files mercurial/profiling.py [Less]
Posted about 2 months ago by Jun Wu
changeset 573baab2a797 branch default bookmark @ ... [More] tag tip user Jun Wu description run-tests: fix -i when "#testcases" is used in .t test The "#testcases" feature introduced by 7340465bd788 has issues with "-i" because "-i" uses "test.name.endswith('.t')" to test if a test is .t or not. test.name could now be something like "test-foo.t (caseA)" so the above endswith test is no longer valid. This patch changes the test to use "self.path" which won't have the issue. files tests/run-tests.pytests/test-run-tests.t [Less]
Posted about 2 months ago by Jun Wu
changeset 02bca6dc5f41 branch bookmark ... [More] tag user Jun Wu description run-tests: update .t reference output after reading the test The .t file is both test input and reference output. They should always match. However we have different code paths to read reference output (Test.__init__ -> Test.readrefout) and test input (TTest._run) so they might be inconsistent if somethings change the file between those two functions. This patch assigns "lines" read by "_run" back to "_refout" if "_refout" is not None (with --debug, see Test.readrefout) so reference output and test input will always match. files tests/run-tests.py [Less]
Posted about 2 months ago by Jun Wu
changeset 8dc62c97a665 branch bookmark ... [More] tag user Jun Wu description run-tests: do not prompt changes (-i) if a race condition is detected The race condition is like: 1. run-tests.py reads test-a.t as reference output, content A 2. run-tests.py runs the test (which could be content B, another race condition fixed by the next patch, but assume it's content A here) 3. something changes test-a.t to content C 4. run-tests.py compares test output (content D) with content A 5. with "-i", run-tests.py prompts diff(A, D), while the file has content C instead of A at this time This patch detects the above case and tell the user to rerun the test if they want to apply test changes. files tests/run-tests.pytests/test-run-tests.t [Less]
Posted about 2 months ago by Jun Wu
changeset 66117dae87f9 branch bookmark ... [More] tag user Jun Wu description patch: rewrite reversehunks (issue5337) The old reversehunks code accesses "crecord.uihunk._hunk", which is the raw recordhunk without crecord selection information, therefore "revert -i" cannot revert individual lines, aka. issue5337. The patch rewrites related logic to return the right reverse hunk for revert. Namely, 1. "fromline" and "toline" are correctly swapped [1] 2. crecord.uihunk generates a correct reverse hunk [2] Besides, reversehunks(hunks) will no longer modify its input "hunks", which is more expected. [1]: To explain why "fromline" and "toline" need to be swapped, take the following example: $ cat > a < > 1 > 2 > 3 > 4 > EOF $ cat > b < > 2 > 3 > 5 > EOF $ diff a b 1d0 < 1 and they are swapped if diff from the reversed direction 4c3 | < 4 | --- | > 5 | | $ diff b a | 0a1 > 1 3c4 < 5 --- > 4 [2]: This is a bit tricky. For example, given a file which is empty in working parent but has 3 lines in working copy, and the user selection: select hunk to discard [x] +1 [ ] +2 [x] +3 The user intent is to drop "1" and "3" in working copy but keep "2", so the reverse patch would be something like: -1 2 (2 is a "context line") -3 We cannot just take all selected lines and swap "-" and "+", which will be: -1 -3 That patch won't apply because of "2". So the correct way is to insert "2" as a "context line" by inserting it first then deleting it: -2 +2 Therefore, the correct revert patch is: -1 -2 +2 -3 It could be reordered to look more like a common diff hunk: -1 -2 -3 +2 Note: It's possible to return multiple hunks so there won't be lines like "-2", "+2". But the current implementation is much simpler. For deletions, like the working parent has "1\n2\n3\n" and it was changed to empty in working copy: select hunk to discard [x] -1 [ ] -2 [x] -3 The user intent is to drop the deletion of 1 and 3 (in other words, keep those lines), but still delete "2". The reverse patch is meant to be applied to working copy which is empty. So the patch would be: +1 +3 That is to say, there is no need to special handle the unselected "2" like the above insertion case. files mercurial/crecord.pymercurial/patch.py [Less]
Posted about 2 months ago by Matt Harbison
changeset d39639fb840e branch bookmark ... [More] tag user Matt Harbison description tests: adjust quoting to keep Windows happy with recent $PYTHON change I tried adding quotes to the $PYTHON variable, and also tried converting the path from the current 'c:/Python/python.exe' form to '/c/python/python.exe', but neither worked. I'm not sure why one of these needs '\"' around the variable and the other doesn't. files tests/test-bisect.ttests/test-import.t [Less]
Posted about 2 months ago by Martin von Zweigbergk
changeset 560ceb654180 branch bookmark ... [More] tag user Martin von Zweigbergk description bundle2: don't use debug message "no-transaction" with transaction files mercurial/bundle2.pytests/test-acl.t [Less]
Posted about 2 months ago by Martin von Zweigbergk
changeset 27ba0d8dc26c branch bookmark ... [More] tag user Martin von Zweigbergk description py3: catch StopIteration from next() in generatorset IIUC, letting the StopIteration through would not cause any bugs, but not doing it makes the test-py3-commands.t pass. I have also diligently gone through all uses of next() in our code base. They either: * are not called from a generator * pass a default value to next() * catch StopException * work on infinite iterators * request a fixed number of items that matches the generated number * are about batching in wireproto which I didn't quite follow I'd appreciate if Augie or someone else could take a look at the wireproto batching and convince themselves that the next(batchable) calls there will not raise a StopIteration. files mercurial/smartset.py [Less]
Posted about 2 months ago by Pulkit Goyal &lt;7895p...@gmail.com&gt;
changeset 8779d35c168d branch bookmark ... [More] tag user Pulkit Goyal <7895pulkit@gmail.com> description py3: use pycompat.bytestr() in place of str() files mercurial/templatekw.pymercurial/templater.py [Less]
Posted about 2 months ago by Pulkit Goyal &lt;7895p...@gmail.com&gt;
changeset 20ca19e6c74e branch bookmark ... [More] tag user Pulkit Goyal <7895pulkit@gmail.com> description py3: use r'' to access values from kwargs where keys are str These are the cases where either args is again passed as keyword argument or 1 or 2 elements are accessed. So it's better to add an r'' to prevent it converting to bytes rather than doing the conversion of args. files mercurial/templatekw.py [Less]