- Feb 06, 2015
-
-
Anton Shestakov authored
Some templates in paper style use <tbody> elements inside <table> to assign a class to "body" part of that table (in this case, to make rows striped). The problem is that the <tbody> is preceded by <tr> element, which browsers understand as an implicit start of table body, so the following exlicit <tbody> will actually be "nested", which is not valid. Since that first <tr> contains table headers, wrapping it in <thead> is both semantically correct and follows the advertised XHTML 1.1 doctype.
-
- Jan 31, 2015
-
-
Matt Harbison authored
posixfile now handles this.
-
Matt Harbison authored
This is no longer needed now that posixfile handles seeking to EOF when it opens a file in append mode.
-
Matt Harbison authored
The position is implementation defined when opening in append mode, and it seems like Linux sets it to EOF while Windows keeps it at zero. This has caused problems in the past when a file is opened and tell() is immediately called, such as 48c232873a54 and 6bf93440a717. Since the only caller of osutil.posixfile is this windows module, this seems like a better place to fix the issue than in osutil.c and pure.osutil.
-
- Nov 20, 2014
-
-
Martin von Zweigbergk authored
There is no reason to read obsolescence markers when doing a plain 'hg status' without --rev. Use the unfiltered repo when initializing context._rev to speed things up. This speeds up 'hg status' from 1.342s to 0.080s on my repo with ~110k markers.
-
- Feb 05, 2015
-
-
Eric Sumner authored
At the moment, check-commit will complain about the topic being capitalized, but not the summary that comes after it. This diff corrects that deficiency.
-
Eric Sumner authored
When iterating over bundle2 parts, add a seek to the iterator so that processing will continue normally even if the entire part isn't consumed.
-
Eric Sumner authored
Replace bare part.read() calls with part.seek(0, 2) since the return value is being ignored. As this doesn't necessarily require building a string that contains the rest of the part, the potential exists to reduce the memory footprint of these operations.
-
Martin von Zweigbergk authored
The precursors and children dictionaries are not used by many commands. By making them lazily populated, 'hg log -r @~10::@ >/dev/null' is sped up from 0.564s to 0.440s on my hg.hg repo with 73k markers. Also make successors lazily populated, mostly for consistency with the others.
-
Martin von Zweigbergk authored
We will soon delay populating precursors until we have to. To prepare for that, make _checkinvalidmarkers() scan for a nullid precursor in the list of new markers instead of the (currently) cheaper 'if nullid in precursors' check.
-
- Jan 21, 2015
-
-
Martin von Zweigbergk authored
In preparation for making the successors, precursors, and children dictionaries lazily populated, break up _load() into one function for adding markers to each dictionary.
-
Eric Sumner authored
If the gettext utilities aren't installed, there is no way to make the translations. This causes the gettext client to fall back to the untranslated message, which triggers "** NOTHING TRANSLATED **" errors and a test failure.
-
- Feb 05, 2015
-
-
Anton Shestakov authored
The <p> elements were used to create an empty space between the diffstat link and the diffstat table, but they don't have any semantic meaning, so it is better to use css instead. Default margins for <p> elements can differ depending on the browser, but usually the margin is 1em (exceptions are IE 6 and 7 with 14pt, which is comparable). The css rule sets top margin to 1em. This change is a "better version" of 70cfa7e1611b, where <p> elements were simply properly closed.
-
Anton Shestakov authored
The <p> elements were used to create an empty space between the last menu item (i.e. "help") and the atom feed icon, but they don't have any semantic meaning, so it is better to use css instead. The css rule uses top margin of 10px, which is equal to the top margin of the menu blocks ("help", "changeset, browse", etc). Previously, with <p> elements, the margin wasn't set explicitly and was browser-dependent. This change is a "better version" of 70cfa7e1611b, where <p> elements were simply properly closed.
-
- Jan 26, 2015
-
-
Augie Fackler authored
It's now used by revsets and filesets.
-
Augie Fackler authored
-
- Feb 04, 2015
-
-
Martin von Zweigbergk authored
It may be useful to be able to get to the failed path and the underlying error message when catching a LookupError, so let's make them accessible.
-
- Jan 15, 2015
-
-
Eric Sumner authored
This implements a seek() method for unbundlepart. This allows on-disk bundle2 parts to behave enough like files for bundlerepo to handle them. A future patch will add support for bundlerepo to read the bundle2 files that are written when the experimental.strip-bundle2-version config option is used.
-
- Jan 14, 2015
-
-
Eric Sumner authored
Keep track of how many bytes we've returned from read(); fairly straightforward.
-
Eric Sumner authored
In order to make unbundlepart seekable, we need to keep a record of where the chunks are so that we can go back to the correct point.
-
Eric Sumner authored
In a future patch, seek() will need to make a new chunk iterator for the stream; this places it somewhere it can be called multiple times.
-
- Jan 24, 2015
-
-
Durham Goode authored
On machines with lots of ram, it's beneficial to increase the lru size of the manifest cache. On a large repo, configuring the lru to be size 10 can shave a large rebase (~12 commits) down from 95s to 70s.
-
- Feb 04, 2015
-
-
Augie Fackler authored
-
Yuya Nishihara authored
fullreposet.__contains__() will be rewritten in order to support "null" revision, and "rev()" won't be possible to rely on it. This backs out eb763217152a, but there is no performance regression now. revisions: 0) e1dbe0b215ae "l not in fullreposet(repo)" 1) this patch "l not in repo.changelog" revset #0: rev(210000) 0) wall 0.000056 comb 0.000000 user 0.000000 sys 0.000000 (best of 48036) 1) wall 0.000049 comb 0.000000 user 0.000000 sys 0.000000 (best of 54969)
-
Yuya Nishihara authored
Because revlog implements __iter__, "rev in revlog" works but does silly O(n) lookup unexpectedly. So it seems good to add fast version of __contains__. This allows "rev in repo.changelog" in the next patch.
-
- Feb 03, 2015
-
-
Matt Harbison authored
When cloning a repo that requires largefiles, the user had to either enable the extension on the command line and then manually edit the local hgrc file after the clone, or just enable it globally for the user. Since it is a feature of last resort, and materially affects even repos without any largefiles when it is enabled, we should make it easier to not have it enabled globally. This simply adds the enabling statement to the local hgrc if the requires file mandates its use (which only happens after the first largefile is committed). That means that a user who works with a mix of largefile and normal repos can always clone with '--config extensions.largefiles=', and the extension is permanently enabled or not as appropriate. The change in test-largefiles.t is simply because the order of loading rebase and largefiles changed. The same change occurs if the order is flipped in the hgrc file at the top of the test.
-
- Feb 04, 2015
-
-
Gregory Szorc authored
The current color mode detection on Windows assumes the presence of the TERM environment variable assumes ANSI is supported. However, this isn't always true. In MSYS (commonly found as part of MinGW), TERM is set to "cygwin" and the auto resolved color mode of "ansi" results in escape sequences getting printed literally to the terminal. The output is very difficult to read and results in a bad user experience. A workaround is to activate the pager and have it attend all commands (GNU less in MSYS can render ANSI terminal sequences properly). In Cygwin, TERM is set to "xterm." Furthermore, Cygwin supports displaying these terminal sequences properly (unlike MSYS). This patch changes the mode auto-detection logic on Windows to be more conservative about selecting the "ansi" mode. We now only select the "ansi" mode if TERM is set and it contains the string "xterm" or if we were unable to talk to win32 APIs to determine the settings. There is a chance this may take away "ansi" from a terminal that actually supports it. The recourse for this would be to patch the detection to act appropriately and to override color.mode until that patch has landed. However, the author believes this regression is tolerable, since it means MSYS users won't have gibberish printed by default. Since MSYS's common pager (less) supports display of ANSI sequences, there is room to patch the color extensions so it can select the ANSI color mode if a pager is activated. Mozilla (being an active user of MSYS) would really appreciate this being part of the stable branch. However, since I believe it is BC, I haven't explicitly requested application to stable since I figure that request will be denied.
-
Matt Mackall authored
-
- Jan 14, 2015
-
-
Eric Sumner authored
This patch adds seek(), tell(), and close() implementations for unpackermixin which forward to the file descriptor's implementation if possible. A future patch will use this to make bundle2.unbundlepart seekable, which will in turn make it usable as a file descriptor for bundlerepo.
-
- Jan 16, 2015
-
-
Martin von Zweigbergk authored
It seems natural that each element in the list corresponds to one line of output. That is currently true, but only because each element in the list has a trailing newline. Let's drop those newlines and instead add them when we print the headers.
-
Martin von Zweigbergk authored
By moving the condition out of diffline(), the call site becomes clearer and diffline() no longer closes on any variables. Note that this changes the value of the header variable from [''] to [], but there is no difference in how these two are treated by the following code. The new value seems more natural anyway.
-
Martin von Zweigbergk authored
Since diffline() is never called when 'revs' is empty, it doesn't need to handle that case.
-
Martin von Zweigbergk authored
Instead of setting revs=None to prevent the call to diffline() when opts.git is set, explicitly do not call the function in the git case.
-
Martin von Zweigbergk authored
Now that diffline no longer knows about copies/renames, it only needs one argument for the path.
-
Martin von Zweigbergk authored
This collects more of the code for writing git headers in a single place and makes diffline() close on a few variables less.
-
- Jan 27, 2015
-
-
Martin von Zweigbergk authored
This moves perfloadmarkers from ! result: 63866 ! wall 0.239217 comb 0.250000 user 0.240000 sys 0.010000 (best of 42) to ! result: 63866 ! wall 0.218795 comb 0.210000 user 0.210000 sys 0.000000 (best of 46)
-
- Jan 20, 2015
-
-
Augie Fackler authored
This moves perfloadmarkers on my linux workstation (63494 markers from mpm, crew, and myself) performance from ! wall 0.357657 comb 0.360000 user 0.350000 sys 0.010000 (best of 28) to ! wall 0.222345 comb 0.220000 user 0.210000 sys 0.010000 (best of 41) which is a pretty good improvement. On my BSD machine, which is ancient and slow, before: ! wall 3.584964 comb 3.578125 user 3.539062 sys 0.039062 (best of 3) after: ! wall 2.267974 comb 2.265625 user 2.195312 sys 0.070312 (best of 5) I feel like we could do better by moving the whole generator function into C, but I didn't want to tackle that right away.
-
- Jan 23, 2015
-
-
Augie Fackler authored
This lets us do most of the interesting work of parsing obsolete markers in C, which should provide significant time savings. Thanks to Martin von Zweigbergk for some cleanups on this code.
-
- Feb 03, 2015
-
-
Augie Fackler authored
As far as I can tell, this is wrong. double's format isn't strictly specified in the C standard, but the wikipedia article implies that platforms implementing optional Annex F "IEC 60559 floating-point arithmetic" will work correctly. My local C experts believe doing *((double *) &t) is a strict aliasing violation, and that using a union is also one. Doing memcpy appears to be the least-undefined behavior possible.
-
- Jan 20, 2015
-
-
Augie Fackler authored
-