Fri, 01 Jun 2012 12:37:18 -0700 revlog: ancestors(*revs) becomes ancestors(revs) (API)
Bryan O'Sullivan <bryano@fb.com> [Fri, 01 Jun 2012 12:37:18 -0700] rev 16866
revlog: ancestors(*revs) becomes ancestors(revs) (API) Accepting a variable number of arguments as the old API did is deeply ugly, particularly as it means the API can't be extended with new arguments. Partly as a result, we have at least three different implementations of the same ancestors algorithm (!?). Most callers were forced to call ancestors(*somelist), adding to both inefficiency and ugliness.
Tue, 29 May 2012 23:26:55 +0200 config: make sortdict keys() and iterkeys() methods respect the item order
Angel Ezquerra <angel.ezquerra@gmail.com> [Tue, 29 May 2012 23:26:55 +0200] rev 16865
config: make sortdict keys() and iterkeys() methods respect the item order The config.sortdict class is a simple "sorted dictionary" container class, based on python's regular dict container. The main difference compared to regular dicts is that sortdicts remember the order in which items have been added to it. Without this patch the items() method returns the sortdict elements in the right order. However, getting the list of keys by using the keys() or iterkeys() methods, and consequencly, looping through the container elements in a for loop does not respect that order. This patch fixes this problem.
Mon, 04 Jun 2012 16:59:57 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 04 Jun 2012 16:59:57 -0500] rev 16864
merge with stable
Fri, 01 Jun 2012 15:19:08 -0700 parsers: replace magic number 64 with symbolic constant
Bryan O'Sullivan <bryano@fb.com> [Fri, 01 Jun 2012 15:19:08 -0700] rev 16863
parsers: replace magic number 64 with symbolic constant
Fri, 01 Jun 2012 15:50:22 -0700 revset: introduce and use _revsbetween
Bryan O'Sullivan <bryano@fb.com> [Fri, 01 Jun 2012 15:50:22 -0700] rev 16862
revset: introduce and use _revsbetween This is similar in spirit to revlog.nodesbetween, but less ambitious, much simpler, and ~2x faster.
Fri, 01 Jun 2012 15:50:22 -0700 revset: implement dagrange directly
Bryan O'Sullivan <bryano@fb.com> [Fri, 01 Jun 2012 15:50:22 -0700] rev 16861
revset: implement dagrange directly This is much faster than the older implementation (~8x).
Fri, 01 Jun 2012 15:50:22 -0700 revset: turn dagrange into a function
Bryan O'Sullivan <bryano@fb.com> [Fri, 01 Jun 2012 15:50:22 -0700] rev 16860
revset: turn dagrange into a function
Fri, 01 Jun 2012 15:50:22 -0700 revset: drop unreachable code
Bryan O'Sullivan <bryano@fb.com> [Fri, 01 Jun 2012 15:50:22 -0700] rev 16859
revset: drop unreachable code
Fri, 01 Jun 2012 15:50:22 -0700 perf: add a benchmark for revrange
Bryan O'Sullivan <bryano@fb.com> [Fri, 01 Jun 2012 15:50:22 -0700] rev 16858
perf: add a benchmark for revrange
Mon, 04 Jun 2012 21:40:38 +0200 test-tags: enable for Windows
Adrian Buehlmann <adrian@cadifra.com> [Mon, 04 Jun 2012 21:40:38 +0200] rev 16857
test-tags: enable for Windows It turns out that MSYS does have a chmod.exe, but it has no effect. So, the inserted "#if unix-permissions" is somewhat redundant, as the test would pass without it as well: it would simply write the tag cache, despite what the comment says. But I'm actually in favor of inserting the #if, as it makes it clearer what's going on.
Mon, 04 Jun 2012 21:09:54 +0200 tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com> [Mon, 04 Jun 2012 21:09:54 +0200] rev 16856
tests: roll test-copy2.t into test-copy.t
Sun, 03 Jun 2012 17:49:04 +0200 help: fix keyword search output for extension commands
Olav Reinert <seroton10@gmail.com> [Sun, 03 Jun 2012 17:49:04 +0200] rev 16855
help: fix keyword search output for extension commands This patch fixes the help keyword search "hg help -k" to show correct results in the section listing extension commands.
Sat, 02 Jun 2012 11:28:43 +0200 help: format all output using RST
Olav Reinert <seroton10@gmail.com> [Sat, 02 Jun 2012 11:28:43 +0200] rev 16854
help: format all output using RST This change is the last patch needed to implement help text generation based only on formatting a single text object marked up with RST.
Sat, 02 Jun 2012 11:25:40 +0200 help: format command and option list help using RST
Olav Reinert <seroton10@gmail.com> [Sat, 02 Jun 2012 11:25:40 +0200] rev 16853
help: format command and option list help using RST This patch changes the function which generates help text about commands and options to use RST formatting. Tables describing options have been formatted using RST table markup for some time already, so their appearance does not change. Command lists, however, change appearance. To format non-verbose command lists, RST field list markup was chosen, because it resembles the old format: <http://docutils.sourceforge.net/docs/user/rst/quickref.html#field-lists> In the old (hand-coded) format of non-verbose command lists, the left column is 12 characters wide. Our minirst implementation formats field lists with a left column 14 characters wide, so this patch changes the appearance of help output correspondingly: <http://markmail.org/message/krl4cxopsnii7s6z?q=mercurial+reinert+from:%22Olav+Reinert%22&page=2> The minirst markup most closely resembling the old verbose command lists is definition lists. But using it would cause a blank line to be inserted between each command definition, making the output excessively long, and no more useful than before. To avoid this, I chose to use field lists also for verbose command help, resulting in output like this example: add add the specified files on the next commit annotate, blame show changeset information by line for each file clone make a copy of an existing repository commit, ci commit the specified files or all outstanding changes diff diff repository (or selected files) export dump the header and diffs for one or more changesets forget forget the specified files on the next commit init create a new repository in the given directory log, history show revision history of entire repository or files merge merge working directory with another revision phase set or show the current phase name pull pull changes from the specified source push push changes to the specified destination qdiff diff of the current patch and subsequent modifications qinit init a new queue repository (DEPRECATED) qnew create a new patch qpop pop the current patch off the stack qpush push the next patch onto the stack qrefresh update the current patch remove, rm remove the specified files on the next commit serve start stand-alone webserver status, st show changed files in the working directory summary, sum summarize working directory state update, up, checkout, co update working directory (or switch revisions) This change is a move towards generating all help text as a list of strings marked up with RST.
Sat, 02 Jun 2012 11:22:33 +0200 help: format extension lists using RST
Olav Reinert <seroton10@gmail.com> [Sat, 02 Jun 2012 11:22:33 +0200] rev 16852
help: format extension lists using RST This change is a move towards generating all help text as a list of strings marked up with RST.
Sun, 03 Jun 2012 09:06:15 +0200 test-revset: enable for Windows
Adrian Buehlmann <adrian@cadifra.com> [Sun, 03 Jun 2012 09:06:15 +0200] rev 16851
test-revset: enable for Windows In MSYS, the test fails like this if the hghave exit at the beginning is removed: --- C:\Users\adi\hgrepos\hg-main\tests\test-revset.t +++ C:\Users\adi\hgrepos\hg-main\tests\test-revset.t.err @@ -58,7 +58,7 @@ $ hg co 3 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg branch /a/b/c/ - marked working directory as branch /a/b/c/ + marked working directory as branch a:/b/c/ (branches are permanent and global, did you want a bookmark?) $ hg ci -Aqm"5 bug" @@ -252,7 +252,7 @@ 2 a-b-c- 3 +a+b+c+ 4 -a-b-c- - 5 /a/b/c/ + 5 a:/b/c/ 6 _a_b_c_ 7 .a.b.c. $ log 'children(ancestor(4,5))' due to the posix path conversion done by MSYS globally, as explained here http://www.mingw.org/wiki/Posix_path_conversion The solution is a bit lame, but it is simple and works: don't use strings that look like '/a/b', in order not to trigger the path magic done by MSYS. So, if we can agree not to insist on testing branch names starting with '/', then this relatively simple patch makes the test pass both on Windows with MSYS and Linux.
Mon, 04 Jun 2012 15:43:16 +0300 graft: restore config option on correct ui stable
Idan Kamara <idankk86@gmail.com> [Mon, 04 Jun 2012 15:43:16 +0300] rev 16850
graft: restore config option on correct ui
Mon, 04 Jun 2012 18:40:31 +0200 tests: roll test-commit-copy.t into test-commit.t
Adrian Buehlmann <adrian@cadifra.com> [Mon, 04 Jun 2012 18:40:31 +0200] rev 16849
tests: roll test-commit-copy.t into test-commit.t
Mon, 04 Jun 2012 16:59:34 +0200 base85: cast Py_ssize_t values to int (issue3481)
Adrian Buehlmann <adrian@cadifra.com> [Mon, 04 Jun 2012 16:59:34 +0200] rev 16848
base85: cast Py_ssize_t values to int (issue3481) If it outputs a nonsense value, no harm done, it was nonsense to start with.
Mon, 04 Jun 2012 19:05:22 +0200 tests: roll test-clone-failure.t into test-clone.t
Adrian Buehlmann <adrian@cadifra.com> [Mon, 04 Jun 2012 19:05:22 +0200] rev 16847
tests: roll test-clone-failure.t into test-clone.t
Fri, 01 Jun 2012 13:38:18 +0200 test-clone-failure: enable for Windows using #if
Adrian Buehlmann <adrian@cadifra.com> [Fri, 01 Jun 2012 13:38:18 +0200] rev 16846
test-clone-failure: enable for Windows using #if
Mon, 04 Jun 2012 10:45:56 +0400 help: fix search with `-k` option in non-ASCII locales
Nikolaj Sjujskij <sterkrig@myopera.com> [Mon, 04 Jun 2012 10:45:56 +0400] rev 16845
help: fix search with `-k` option in non-ASCII locales Keyword search in help (introduced in 497deec204d1 and a17983680f12 by Augie Fackler) tries to translate already translated strings, which results in Unicode errors in gettext when non-ASCII locale is used. Also command descriptions should be translated before searching there (thanks to FUJIWARA Katsunori for pointing this out and actual fix), (issue3482).
Mon, 04 Jun 2012 18:03:23 +0200 hgweb: fixes linebreak location in gitweb filediff.tmpl view stable
wujek srujek <wujek.srujek@googlemail.com> [Mon, 04 Jun 2012 18:03:23 +0200] rev 16844
hgweb: fixes linebreak location in gitweb filediff.tmpl view It is consistent with other templates now and doesn't cause the help link to (incorrectly) appear on the next line.
Sun, 03 Jun 2012 19:35:45 +0200 test-paths.t: enable for Windows using #if
Adrian Buehlmann <adrian@cadifra.com> [Sun, 03 Jun 2012 19:35:45 +0200] rev 16843
test-paths.t: enable for Windows using #if If the no-msys exit at the beginning is removed, the test fails on Windows with MSYS with: --- C:\Users\adi\hgrepos\hg-main\tests\test-paths.t +++ C:\Users\adi\hgrepos\hg-main\tests\test-paths.t.err @@ -24,7 +24,7 @@ expand = $TESTTMP/a/foo/bar (glob) $ SOMETHING=/foo hg paths dupe = $TESTTMP/b (glob) - expand = /foo/bar + expand = c:/MinGW/msys/1.0/foo/bar $ hg paths -q dupe expand caused by http://www.mingw.org/wiki/Posix_path_conversion .
Fri, 01 Jun 2012 02:25:12 +0200 tests: introduce c-style conditional sections in .t tests
Mads Kiilerich <mads@kiilerich.com> [Fri, 01 Jun 2012 02:25:12 +0200] rev 16842
tests: introduce c-style conditional sections in .t tests This makes it possible to have conditional sections like: #if windows $ echo foo foo #else $ echo bar bar #endif The directives and skipped sections are treated like comments, so don't interleave them with commands and their output. The parameters to #if are evaluated while preparing the test by passing them over to hghave. Requirements can thus be negated with 'no-' prefix, and multiple requirements must all be true to return true.
Wed, 30 May 2012 14:28:57 +0200 run-tests: don't add python lines to expected dict
Adrian Buehlmann <adrian@cadifra.com> [Wed, 30 May 2012 14:28:57 +0200] rev 16841
run-tests: don't add python lines to expected dict For test input lines of *.t files starting with ' >>> ', the code block for ' >>> ' 609: if l.startswith(' >>> '): # python inlines 610: after.setdefault(pos, []).append(l) was (unsurprisingly) executed, but because there was an "if" instead of an "elif" on the condition "l.startswith(' ... ')", program execution proceeded to line 636 635: elif l.startswith(' '): # results 636: # queue up a list of expected results 637: expected.setdefault(pos, []).append(l[2:]) due to the fact that if l starts with ' >>> ' it also starts with ' '. The net effect was that python command lines in *.t files were (surprisingly) also added to the "expected" dict. This caused no externally observable bad behavior, as the "expected" dict was not consulted for these lines.
Sun, 03 Jun 2012 19:35:23 +0200 run-test: replace backslashes in TESTDIR
Adrian Buehlmann <adrian@cadifra.com> [Sun, 03 Jun 2012 19:35:23 +0200] rev 16840
run-test: replace backslashes in TESTDIR This may cause troubles in MSYS on Windows.
Fri, 25 May 2012 14:24:07 +0200 dispatch: tolerate non-standard version strings in tuplever() (issue3470)
Adrian Buehlmann <adrian@cadifra.com> [Fri, 25 May 2012 14:24:07 +0200] rev 16839
dispatch: tolerate non-standard version strings in tuplever() (issue3470) When developing, we may see non-standard version strings of the form 5d64306f39bb+20120525 which caused tuplever() to raise ValueError: invalid literal for int() with base 10: '5d64306f39bb' and shadowing the real traceback.
Thu, 24 May 2012 13:05:06 +0200 revset: cache alias expansions
Patrick Mezard <patrick@mezard.eu> [Thu, 24 May 2012 13:05:06 +0200] rev 16838
revset: cache alias expansions Caching has no performance effect on the revset aliases which triggered the recent recursive evaluation bug. I wrote it not to feel bad about expanding several times the same complicated expression.
Thu, 24 May 2012 01:30:12 +0200 base85: use Py_ssize_t for string lengths
Adrian Buehlmann <adrian@cadifra.com> [Thu, 24 May 2012 01:30:12 +0200] rev 16837
base85: use Py_ssize_t for string lengths
Tue, 22 May 2012 15:17:37 -0700 hg-ssh: read-only flag
David Schleimer <dschleimer@fb.com> [Tue, 22 May 2012 15:17:37 -0700] rev 16836
hg-ssh: read-only flag Allows you to restrict a ssh key to have read-only access to a set of repos by passing the --read-only flag to hg-ssh. This is useful in an environment where the number of unix users you can or are willing to create is limited. In such an environment, multiple users or applications will share a single unix account. Some of those applications will likely need read-only access to the repository. This change makes it possible to grant them such access without requiring that they use a separate unix account.
Sun, 13 May 2012 10:21:27 +0200 bookmarks: allow existing remote bookmarks to become heads when pushing
Levi Bard <levi@unity3d.com> [Sun, 13 May 2012 10:21:27 +0200] rev 16835
bookmarks: allow existing remote bookmarks to become heads when pushing
Fri, 01 Jun 2012 17:05:31 -0700 util: subclass deque for Python 2.4 backwards compatibility
Bryan O'Sullivan <bryano@fb.com> [Fri, 01 Jun 2012 17:05:31 -0700] rev 16834
util: subclass deque for Python 2.4 backwards compatibility It turns out that Python 2.4's deque type is lacking a remove method. We can't implement remove in terms of find, because it doesn't have find either.
Sat, 02 Jun 2012 15:35:53 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 02 Jun 2012 15:35:53 -0500] rev 16833
merge with stable
Fri, 01 Jun 2012 23:48:27 -0500 Added signature for changeset 85a358df5bbb stable
Matt Mackall <mpm@selenic.com> [Fri, 01 Jun 2012 23:48:27 -0500] rev 16832
Added signature for changeset 85a358df5bbb
Fri, 01 Jun 2012 23:48:22 -0500 Added tag 2.2.2 for changeset 85a358df5bbb stable
Matt Mackall <mpm@selenic.com> [Fri, 01 Jun 2012 23:48:22 -0500] rev 16831
Added tag 2.2.2 for changeset 85a358df5bbb
Fri, 01 Jun 2012 23:44:10 -0500 localrepo: move filecache clearing into invalidate
Matt Mackall <mpm@selenic.com> [Fri, 01 Jun 2012 23:44:10 -0500] rev 16830
localrepo: move filecache clearing into invalidate Moving from self.destroy to _rollback fixed rollback fixed rollback but broke mq. Move it lower rather than sideways.
Fri, 01 Jun 2012 23:42:27 -0500 strip: move bookmark deletion before strip to deal with filecache invalidation
Matt Mackall <mpm@selenic.com> [Fri, 01 Jun 2012 23:42:27 -0500] rev 16829
strip: move bookmark deletion before strip to deal with filecache invalidation
Fri, 01 Jun 2012 15:14:29 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 01 Jun 2012 15:14:29 -0500] rev 16828
merge with stable
Fri, 01 Jun 2012 15:14:13 -0500 merge with i18n stable 2.2.2
Matt Mackall <mpm@selenic.com> [Fri, 01 Jun 2012 15:14:13 -0500] rev 16827
merge with i18n
Thu, 31 May 2012 21:47:40 -0300 i18n-pt_BR: synchronized with 2a0efa1112ac stable
Wagner Bruna <wbruna@yahoo.com> [Thu, 31 May 2012 21:47:40 -0300] rev 16826
i18n-pt_BR: synchronized with 2a0efa1112ac
Fri, 01 Jun 2012 15:13:05 -0500 revset: avoid validating all tag nodes for tag(x)
Matt Mackall <mpm@selenic.com> [Fri, 01 Jun 2012 15:13:05 -0500] rev 16825
revset: avoid validating all tag nodes for tag(x) This generally causes the entire node->rev table to get built when we're only interested in one node.
Wed, 30 May 2012 23:14:04 +0100 revset: add pattern matching to 'extra' revset expression
Simon King <simon@simonking.org.uk> [Wed, 30 May 2012 23:14:04 +0100] rev 16824
revset: add pattern matching to 'extra' revset expression
Wed, 30 May 2012 23:13:58 +0100 revset: add pattern matching to the 'user' revset expression
Simon King <simon@simonking.org.uk> [Wed, 30 May 2012 23:13:58 +0100] rev 16823
revset: add pattern matching to the 'user' revset expression
Wed, 30 May 2012 23:13:33 +0100 revset: add pattern matching to 'bookmarks' revset expression
Simon King <simon@simonking.org.uk> [Wed, 30 May 2012 23:13:33 +0100] rev 16822
revset: add pattern matching to 'bookmarks' revset expression
Wed, 30 May 2012 23:13:33 +0100 revset: add pattern matching to 'branch' revset expression
Simon King <simon@simonking.org.uk> [Wed, 30 May 2012 23:13:33 +0100] rev 16821
revset: add pattern matching to 'branch' revset expression
Wed, 30 May 2012 23:13:33 +0100 revset: add pattern matching to 'tag' revset expression
Simon King <simon@simonking.org.uk> [Wed, 30 May 2012 23:13:33 +0100] rev 16820
revset: add pattern matching to 'tag' revset expression If the string provided to the 'tag' predicate starts with 're:', the rest of the string will be treated as a regular expression and matched against all tags in the repository. There is a slight backwards-compatibility problem for people who actually have tags that start with 're:'. As a workaround, these tags can be matched using a 'literal:' prefix. If no tags match the pattern, an error is raised. This matches the behaviour of the previous exact-match code.
Wed, 30 May 2012 23:13:33 +0100 revset: add helper function for matching strings to patterns
Simon King <simon@simonking.org.uk> [Wed, 30 May 2012 23:13:33 +0100] rev 16819
revset: add helper function for matching strings to patterns
Fri, 01 Jun 2012 12:35:30 +0200 help: format command help using RST
Olav Reinert <seroton10@gmail.com> [Fri, 01 Jun 2012 12:35:30 +0200] rev 16818
help: format command help using RST
Fri, 01 Jun 2012 12:15:45 +0200 help: format topic help using RST
Olav Reinert <seroton10@gmail.com> [Fri, 01 Jun 2012 12:15:45 +0200] rev 16817
help: format topic help using RST
Fri, 01 Jun 2012 12:01:33 +0200 help: inline helper function used once only
Olav Reinert <seroton10@gmail.com> [Fri, 01 Jun 2012 12:01:33 +0200] rev 16816
help: inline helper function used once only
Fri, 01 Jun 2012 11:58:23 +0200 minirst: generate tables as a list of joined lines
Olav Reinert <seroton10@gmail.com> [Fri, 01 Jun 2012 11:58:23 +0200] rev 16815
minirst: generate tables as a list of joined lines
Thu, 31 May 2012 20:55:30 -0700 scmutil: seen.union should be seen.update (issue3476) stable
Bryan O'Sullivan <bryano@fb.com> [Thu, 31 May 2012 20:55:30 -0700] rev 16814
scmutil: seen.union should be seen.update (issue3476)
Fri, 01 Jun 2012 17:37:56 +0200 patch: keep patching after missing copy source (issue3480) stable
Patrick Mezard <patrick@mezard.eu> [Fri, 01 Jun 2012 17:37:56 +0200] rev 16813
patch: keep patching after missing copy source (issue3480) When applying a patch renaming/copying 'a' to 'b' on a revision where 'a' does not exist, the patching process would abort immediately, without processing the remaining hunks and without reporting it. This patch makes the patching no longer abort and possible hunks applied on the copied/renamed file be written in reject files.
Sat, 26 May 2012 20:49:51 +0200 keyword: update copyleft
Christian Ebert <blacktrash@gmx.net> [Sat, 26 May 2012 20:49:51 +0200] rev 16812
keyword: update copyleft
Sat, 26 May 2012 20:49:44 +0200 keyword: wlock cmdutil.copy wrapper
Christian Ebert <blacktrash@gmx.net> [Sat, 26 May 2012 20:49:44 +0200] rev 16811
keyword: wlock cmdutil.copy wrapper Expanding/shrinking happens outside the wrapped copy function; therefore write lock the repo.
Sat, 26 May 2012 20:46:12 +0200 keyword: support commit --amend (issue3471)
Christian Ebert <blacktrash@gmx.net> [Sat, 26 May 2012 20:46:12 +0200] rev 16810
keyword: support commit --amend (issue3471) Include a test as well.
Fri, 25 May 2012 19:32:29 +0200 keyword: rename kwt.record attribute to kwt.postcommit
Christian Ebert <blacktrash@gmx.net> [Fri, 25 May 2012 19:32:29 +0200] rev 16809
keyword: rename kwt.record attribute to kwt.postcommit A more general descriptive name, as the attribute will be used for commit --amend as well.
Sun, 27 May 2012 11:30:03 +0200 scmutil: use _winreg.HKEY_LOCAL_MACHINE
Adrian Buehlmann <adrian@cadifra.com> [Sun, 27 May 2012 11:30:03 +0200] rev 16808
scmutil: use _winreg.HKEY_LOCAL_MACHINE
Sun, 27 May 2012 11:29:52 +0200 win32: move lookupreg() to windows.py
Adrian Buehlmann <adrian@cadifra.com> [Sun, 27 May 2012 11:29:52 +0200] rev 16807
win32: move lookupreg() to windows.py lookupreg() doesn't use the win32 API directly any more, it uses the Python standard library module _winreg.
Sun, 27 May 2012 11:29:45 +0200 win32: use Python's _winreg again
Adrian Buehlmann <adrian@cadifra.com> [Sun, 27 May 2012 11:29:45 +0200] rev 16806
win32: use Python's _winreg again This is a partial backout of f1fa8f481c7c. f1fa8f481c7c switched win32.py to using ctypes with the intention to get rid of the dependency on the pywin32 package. But f1fa8f481c7c replaced the usage of the Python standard module _winreg in lookup_reg as well, which was uneeded (note that lookup_reg was later renamed into lookupreg). Basically, we're switching back to the previous _winreg-based implementation, which uses _winreg.QueryValueEx(). QueryValueEx returns a unicode code string. See also: issue3467
Tue, 29 May 2012 18:27:12 +0300 localrepo: clear _filecache earlier to really force reloading (issue3462) stable
Idan Kamara <idankk86@gmail.com> [Tue, 29 May 2012 18:27:12 +0300] rev 16805
localrepo: clear _filecache earlier to really force reloading (issue3462) ce0ad184f489 attempted to force the filecaches in localrepo to reload everything after a rollback. But simply clearing _filecache isn't enough, invalidate() needs to be called before/after. localrepo._rollback calls invalidate() already, so we clear the map right afterwards which ensures everything will be reread.
Wed, 30 May 2012 13:57:41 -0700 lsprof: report units correctly
Bryan O'Sullivan <bryano@fb.com> [Wed, 30 May 2012 13:57:41 -0700] rev 16804
lsprof: report units correctly
Tue, 15 May 2012 10:46:23 -0700 cleanup: use the deque type where appropriate
Bryan O'Sullivan <bryano@fb.com> [Tue, 15 May 2012 10:46:23 -0700] rev 16803
cleanup: use the deque type where appropriate There have been quite a few places where we pop elements off the front of a list. This can turn O(n) algorithms into something more like O(n**2). Python has provided a deque type that can do this efficiently since at least 2.4. As an example of the difference a deque can make, it improves perfancestors performance on a Linux repo from 0.50 seconds to 0.36.
(0) -10000 -3000 -1000 -300 -100 -64 +64 +100 +300 +1000 +3000 +10000 +30000 tip