- May 07, 2014
-
-
Martin Geisler authored
This avoids a warning from msgfmt: $ msgfmt -v -o mercurial/locale/zh_TW/LC_MESSAGES/hg.mo i18n/zh_TW.po -c i18n/zh_TW.po:7: warning: header field 'Language' still has the initial default value
-
Jakob Krainz authored
-
- May 05, 2014
-
-
Thomas Arendsen Hein authored
"make clean" already removed __index__.py[cdo], but not the __index__.py (automatically generated by "python setup.py build_hgextindex"). "setup.py build_hgextindex" did not generate a new index if file __index__.py[cdo] already existed, because if __index__.py was removed, the compiled file containing the old information was imported and used. Generate an empty file (with a new timestamp to generate a new .py[cdo]) instead and make mercurial.extensions ignore the unset docs attribute. One of the problems was a failed test-help.t, to reproduce: $ rm hgext/__index__.py* $ echo 'docs = {"mq": "dummy"}' > hgext/__index__.py $ make test-help.t With this a "make clean" or "python setup.py build_hgextindex" helps.
-
- May 03, 2014
-
-
Mads Kiilerich authored
The error only occured when Python didn't have curses - such as on Windows and when Python was built without curses support. No curses can also be emulated by (re)moving .../lib/python2.7/curses/ from the Python installation. It is left as an exercise to figure out exactly what changed in Mercurial that triggered this error.
-
Steve Borho authored
This change conflicted with TortoiseHg's use of QFileSystemWatcher. Files which were being monitored (for file-system events) were unable to be reliably updated using util.atomictempfile. Often the update would error out in the middle of the process leaving neither the old or the new file in place. My guess is that _kernel32.CreateFileA() is triggering an exception that is not handled correctly within unlink()
-
- May 01, 2014
-
-
Matt Mackall authored
-
Matt Mackall authored
-
Pierre-Yves David authored
We get rid of lambda in a bunch of other place. This is equivalent and much faster. (no new timing as this is the same change as three other changesets)
-
Matt Mackall authored
Because lchmod doesn't exist on Linux, unzip should be built without lchmod support. A few distros get this wrong.
-
Pierre-Yves David authored
We apply the same speedup as in spanset, getting rid of the useless lambda. (No new timing, as this is the very same change)
-
Pierre-Yves David authored
We apply the same speedup as in spanset, getting rid of the useless lambda. (No new timing, as this is the very same change)
-
Matt Mackall authored
-
- Apr 30, 2014
-
-
Katsunori FUJIWARA authored
-
Wagner Bruna authored
-
- May 01, 2014
-
-
Mads Kiilerich authored
-
Mads Kiilerich authored
When invoked from another directory, the matchers m._cwd will be the absolute path. The code for calculating relative path to .hglf did not consider that and log would fail with weird errors and paths. For now, just don't do any largefile magic when invoked from other directories.
-
Matt Mackall authored
If this test was run from a tarball with no Mercurial repository, it would fail because 'hg manifest' didn't work.
-
- Apr 26, 2014
-
-
Pierre-Yves David authored
Spanset are massively used in revset. First because the initial subset itself is a repo wide spanset. We speed up the __and__ operation by getting rid of a gratuitous lambda call. A more long terms solution would be to: 1. speed up operation between spansets, 2. have a special smartset for `all` revisions. In the mean time, this is a very simple fix that buyback some of the performance regression. Below is performance benchmark for trival `and` operation between two spansets. (Run on an unspecified fairly large repository.) revset tip:0 2.9.2) wall 0.282543 comb 0.280000 user 0.260000 sys 0.020000 (best of 35) before) wall 0.819181 comb 0.820000 user 0.820000 sys 0.000000 (best of 12) after) wall 0.645358 comb 0.650000 user 0.650000 sys 0.000000 (best of 16) Proof of concept implementation of an `all` smartset brings this to 0.10 but it's too invasive for stable.
-
- Apr 30, 2014
-
-
Durham Goode authored
The journal.backupfiles descriptor wasn't being closed. This resulted in hgsubversion test runs having a bagillion descriptors open, which crashed on platforms with low open file limits (like OSX).
-
- Apr 26, 2014
-
-
Pierre-Yves David authored
For consistency with what happen in `__contains__`, we inline the range test into `__len__` too.
-
- Apr 28, 2014
-
-
Pierre-Yves David authored
Calling a function is super expensive in python. We inline the trivial range comparison to get back to more sensible performance on common revset operation. Benchmark result below: Revision mapping: 0) 3f83fc5cfe71 2.9.2 release 1) bcfd44abad93 current @ 2) This revision revset #0: public() 0) wall 0.010890 comb 0.010000 user 0.010000 sys 0.000000 (best of 201) 1) wall 0.012109 comb 0.010000 user 0.010000 sys 0.000000 (best of 199) 2) wall 0.012211 comb 0.020000 user 0.020000 sys 0.000000 (best of 197) revset #1: :10000 and public() 0) wall 0.007141 comb 0.010000 user 0.010000 sys 0.000000 (best of 361) 1) wall 0.014139 comb 0.010000 user 0.010000 sys 0.000000 (best of 186) 2) wall 0.008334 comb 0.010000 user 0.010000 sys 0.000000 (best of 308) revset #2: draft() 0) wall 0.009610 comb 0.010000 user 0.010000 sys 0.000000 (best of 279) 1) wall 0.010942 comb 0.010000 user 0.010000 sys 0.000000 (best of 243) 2) wall 0.011036 comb 0.010000 user 0.010000 sys 0.000000 (best of 239) revset #3: :10000 and draft() 0) wall 0.006852 comb 0.010000 user 0.010000 sys 0.000000 (best of 383) 1) wall 0.014641 comb 0.010000 user 0.010000 sys 0.000000 (best of 183) 2) wall 0.008314 comb 0.010000 user 0.010000 sys 0.000000 (best of 299) We can see this changeset gains back the regression for `and` operation on spanset. We are still a bit slowerfor the `public()` and `draft()`. Predicates not touched by this changeset.
-
- Apr 30, 2014
-
-
Matt Mackall authored
The current situation is a bit of a layering violation as merge-specific knowledge is pushed down to lower layers and leaks merge assumptions into other code paths. Here, we simply silence the warning with a hack. Both the warning and the hack will probably go away in the near future when bid merge is made the default.
-
- Apr 25, 2014
-
-
Pierre-Yves David authored
We want to display the commands, not all arguments of the function. (The old code actually crash, failing to joining a list of lists.)
-
- Apr 28, 2014
-
-
Pierre-Yves David authored
The argument is `x` but the variable tested for filtering is `rev`. `rev` happens to be a revset methods, ... never part of the filtered revs. This method is now using `rev` for everything.
-
- Apr 29, 2014
-
-
Pierre-Yves David authored
Revset calls use to return a list. Graft use to mutate that list. We cannot do this anymore leading to a crash when grafting multiple changeset with a revset. File ".../mercurial/commands.py", line 3117, in graft revs.remove(rev) AttributeError: '_addset' object has no attribute 'remove' We are late in code-freeze so we make the shortest possible fix by turning it back to a list.
-
- Apr 28, 2014
-
-
Greg Hurrell authored
For a Mercurial new-comer, the distinction between `contains(x)`, `file(x)`, and `filelog(x)` in the "revsets" help page may not be obvious. This commit tries to make things more obvious (text based on an explanation from Matt in an FB group thread).
-
- Apr 24, 2014
-
-
Mads Kiilerich authored
8a9e0b523d2d made discovery more helpful - too helpful for some extreme use cases. Instead, we arbitrarily limit the list it at 4 and add 'or more'.
-
- Apr 23, 2014
-
-
Julien Cristau authored
The documentation says we exit 1 if we have nothing to do, so avoid breaking that contract when we're passed an empty revset. This was changed in http://www.selenic.com/hg/rev/a259f7b488ab to improve the error message; keep the improved message, just not the abort.
-
- Apr 26, 2014
-
-
Matt Harbison authored
-
Yuya Nishihara authored
Command server is designed to use the channel protocol even if the server process is accessible to tty, whereas vanilla hg should be able to read password from tty in that case. So it isn't enough to swap sys.stdin: # works only if the server process is detached from the console sys.stdin = self.fin getpass.getpass('') sys.stdin = oldin or test isatty: # vanilla hg can't talk to tty if stdin is redirected if self._isatty(self.fin): return getpass.getpass('') else: ... Since ui.nontty flag is undocumented and command-server channels don't provide isatty(), this change won't affect the other uses of ui._isatty(). issue3161 also suggests to provide some context of messages. I think it can be implemented by using the generic templating function.
-
- Apr 29, 2014
-
-
Yuya Nishihara authored
-
Yuya Nishihara authored
-
Yuya Nishihara authored
-
Yuya Nishihara authored
'pat' was renamed to 'regex' in 9d28fd795215.
-
- Apr 27, 2014
-
-
Yuya Nishihara authored
It wouldn't raise exception without this change, but _bufferstates was wrong because of missing _bufferstates.pop() in colorui.popbuffer().
-
- Apr 23, 2014
-
-
Javi Merino authored
The current version of excanvas is unknown. Substitute it with the latest version from the excanvas website: http://code.google.com/p/explorercanvas/ Instead of using the "compiled" version, just use the readable one.
-
Mads Kiilerich authored
Including the missing test coverage that would have caught it.
-
- Apr 21, 2014
-
-
Pierre-Yves David authored
We make sure any exceptions raised during the whole span of handling bundle2 processing are decorated. This let us catch exceptions raised by hooks prior to transaction commit.
-
- Apr 22, 2014
-
-
Pierre-Yves David authored
Same drill again. We catch the PushRaced error, check if it cames from a bundle2 processing, if so we turn it into a bundle2 with a part transporting error information to be reraised client side.
-
Pierre-Yves David authored
Errors with no explanations makes my uncle Bob sad.
-