Commit Graph

3392 Commits

Author SHA1 Message Date
Patrick Mezard
58988c1395 localrepo: fix undelete() on merge working directory (issue 746) 2007-09-23 14:40:44 +02:00
Patrick Mezard
f770ac70cd Merge with crew-stable 2007-09-22 18:56:36 +02:00
Paul Bx
ab0ccce138 statichttprepo: fix calls on '/' URI (issue 747) 2007-09-22 18:37:35 +02:00
Matt Mackall
e38e06ffb3 verify: report first bad changeset
- add linkrev and file arguments to err
- track lowest reported linkrev in err
- find linkrev in a couple cases
- sort linkrevs when reporting a bunch of errors against a file
- tidy up lots of messages
- make more robust against damaged indexes
- report first bad changeset if an error is encountered
2007-09-21 17:18:06 -05:00
Matt Mackall
ccc415d026 revlog: more robust for damaged indexes
- fix flag reporting
- make broken length reporting smarter
2007-09-21 17:14:39 -05:00
Matt Mackall
44c4641c5d debugindex: more robust for damaged indexes 2007-09-21 17:13:38 -05:00
Patrick Mezard
f54216b36e debuginstall: stop looking for patch utility, just test it 2007-09-15 16:07:05 +02:00
Patrick Mezard
6e671bc489 Merge with crew-stable 2007-09-11 23:38:29 +02:00
Patrick Mezard
285f71a370 parents: make it match the doc when called on a file
parents used to return the parent revision of the last revision updating selected file, instead of the updating revision itself.
2007-09-11 23:04:42 +02:00
Patrick Mezard
7c1d0710ee Merge with crew-stable 2007-09-10 23:53:23 +02:00
Alexis S. L. Carvalho
29dea75576 sshrepo: fix Windows command quoting 2007-09-10 23:34:33 +02:00
Patrick Mezard
239ea63571 extdiff: avoid repr() doubling paths backslashes under Windows 2007-09-10 23:36:01 +02:00
Thomas Arendsen Hein
128a411ed1 merge with crew-stable 2007-09-07 17:54:38 +02:00
Dirkjan Ochtman
a80e1eb528 Prevent WSGI apps from touching sys.stdin by setting ui.interactive to False. 2007-09-07 17:38:52 +02:00
Benoit Boissinot
e0d07dc91a merge with crew 2007-08-31 23:15:44 +02:00
Benoit Boissinot
5025962412 merge with crew-stable 2007-08-31 22:31:43 +02:00
Benoit Boissinot
5e4804df51 fix the dummy 00changelog.i not being copied on clone 2007-08-31 22:31:03 +02:00
Thomas Arendsen Hein
23916758e6 hgweb: Show date of last change for each file in manifest 2007-08-31 11:18:29 +02:00
Benoit Boissinot
284f2adff1 remove unneeded statement 2007-08-31 01:21:31 +02:00
Benoit Boissinot
ecc5117277 kill lonely docstring 2007-08-30 23:54:01 +02:00
Robert Bachmann
ecb337b8cb Added support for the Atom syndication format 2007-08-30 16:42:17 +02:00
Brendan Cully
ff7b7ccc24 Merge with crew-stable 2007-08-29 16:19:27 -07:00
Brendan Cully
ebae83c8bb When reverting a file which was renamed, also revert the old name 2007-08-29 16:15:23 -07:00
Alexis S. L. Carvalho
de9e404b5c Avoid a working dir walk while trying to detect copies for diff --git 2007-08-28 23:02:41 -03:00
Alexis S. L. Carvalho
a718b1f9b5 Make hg diff --git -r revA:revB detect (inverted) copies if revA > revB 2007-08-28 22:48:25 -03:00
Brendan Cully
b485f45f0f bundle: fix up lazy reads 2007-08-27 17:08:53 -07:00
Brendan Cully
1d15f900b3 Make bundlerepo lazier
This allows the localbranch extension to override sopener in time.
2007-08-27 15:48:21 -07:00
Bryan O'Sullivan
6fbb9f2f2f Push capability checking into protocol-level code. 2007-08-27 14:48:08 -07:00
Bryan O'Sullivan
eba82ab39c Turn capabilities into a mutable set, instead of a fixed tuple. 2007-08-27 14:16:04 -07:00
Alexis S. L. Carvalho
369cb57512 Merge with crew-stable. 2007-08-27 14:55:33 -03:00
Alexis S. L. Carvalho
4bb4d97472 correctly record file-level history when the local side renames a directory 2007-08-27 14:21:04 -03:00
Alexis S. L. Carvalho
7eed9874b5 Fix theoretical issue in filecommit.
If the file was copied, we don't want to reuse the original entry.

I think this is mostly a theoretical issue - when there are copies,
fp1 == nullid, so it's very unlikely that the fl.cmp(fp1, t) would
think the file was unmodified.  In any case, if there was a copy,
we should forcefully create a new entry.
2007-08-27 14:21:04 -03:00
Alexis S. L. Carvalho
a409e26406 Avoid adding to the changelog executable files added by the second parent.
This was a regression introduced by 349443e942a7.
2007-08-27 14:21:04 -03:00
Alexis S. L. Carvalho
714fa94597 Merge with crew-stable 2007-08-27 02:21:58 -03:00
Alexis S. L. Carvalho
b7234419e2 clone: remove "file://" before making the path absolute
This avoids writing bogus paths to .hgrc.  Fixes issue695.
2007-08-27 01:44:35 -03:00
Alexis S. L. Carvalho
73454f8d16 pull -u: if "url#rev" was given, update to rev 2007-08-27 01:44:35 -03:00
Alexis S. L. Carvalho
616367be9a clone: if "url#rev" was given, update to rev 2007-08-27 01:44:35 -03:00
Alexis S. L. Carvalho
88d2731fa8 parseurl: also return the revision after the "#"; add a test 2007-08-27 01:44:35 -03:00
Alexis S. L. Carvalho
1e3fbe3765 pull -r: pass the revisions as the heads argument of findincoming
This can make a hg pull -r faster if the remote repo has many heads,
and fixes an "abort: received changelog group is empty".
2007-08-27 01:44:35 -03:00
Benoit Boissinot
513ea49cfc improve error message for 'hg merge' when repo already at branchtip 2007-08-25 11:30:11 +02:00
Benoit Boissinot
6c80bb0bbe merge with crew-stable 2007-08-24 00:39:59 +02:00
Benoit Boissinot
0d54a05da3 merge with -stable 2007-08-24 00:39:16 +02:00
Benoit Boissinot
f71cd2e266 check exec: return fallback in case of error during the check
If there is any error while checking if exec is supported,
we can return fallback.
fix issue705
2007-08-24 00:38:08 +02:00
Brendan Cully
1e7be967ee Merge with crew-stable 2007-08-23 12:24:54 -07:00
Brendan Cully
ea30b97aed Do not lose previous tags when adding a tag in raw mode 2007-08-23 12:23:07 -07:00
Alexis S. L. Carvalho
a345c2c9da merge: forcefully mark files that we get from the second parent as dirty
After a hg merge, we want to include in the commit all the files that we
got from the second parent, so that we have the correct file-level
history.  To make them visible to hg commit, we try to mark them as dirty.

Unfortunately, right now we can't really mark them as dirty[1] - the
best we can do is to mark them as needing a full comparison of their
contents, but they will still be considered clean if they happen to be
identical to the version in the first parent.

This changeset extends the dirstate format in a compatible way, so that
we can mark a file as dirty:

Right now we use a negative file size to indicate we don't have valid
stat data for this entry.  In practice, this size is always -1.

This patch uses -2 to indicate that the entry is dirty.  Older versions
of hg won't choke on this dirstate, but they may happily mark the file
as clean after a full comparison, destroying all of our hard work.

The patch adds a dirstate.normallookup method with the semantics of the
current normaldirty, and changes normaldirty to forcefully mark the
entry as dirty.

This should fix issue522.

[1] - well, we could put them in state 'm', but that state has a
different meaning.
2007-08-23 01:48:29 -03:00
Matt Mackall
c3fd750ce3 Merge with -crew 2007-08-20 21:14:53 -05:00
Benoit Boissinot
13bbfcaf55 make hg add of a removed file unremove the file
if a file was removed, hg add shouldn't mark the file
as added, but as normal

see issue683
2007-08-21 02:13:32 +02:00
Benoit Boissinot
b71f9f2bbf abort when adding a file in merged state 2007-08-21 02:02:08 +02:00
rupert.thurner@gmail.com
8e267a0e78 add import from url capability 2007-08-20 22:02:05 +02:00
Matt Mackall
dbef99a2d7 Merge with -stable 2007-08-19 14:04:26 -05:00
Matt Mackall
0bcff0f870 match: handle large regexes
Some Python versions don't handle large regexes, so when we hit an
overflow, split our regex in two.
2007-08-19 14:03:56 -05:00
Alexis S. L. Carvalho
3b929dfbb5 path_auditor: cache names of audited directories
We use a separate cache to avoid problems with

audit = path_auditor(repo.root)
audit("subrepo")
audit("subrepo/file")

whitelisting "subrepo" (which is fine) and then using the same whitelist
with "subrepo/file" (which is not fine).

Since we create a separate path_auditor for every path on the command line,
a "hg add dir/a dir/b dir/c" will still lstat dir 3 times just to audit
the paths.
2007-08-18 21:36:10 -03:00
Alexis S. L. Carvalho
d11dad17a3 Remove demandimport.enable from dispatch.py 2007-08-18 14:25:55 -03:00
Thomas Arendsen Hein
90d76a6ec9 Enable demandimport only in scripts, not in importable modules (issue605)
This way other applications can choose if and when they want this feature,
because it might be problematic if those applications rely on ImportError.
2007-08-18 11:37:08 +02:00
Alexis S. L. Carvalho
1ee06d75a7 Merge with crew-stable 2007-08-17 23:20:13 -03:00
Alexis S. L. Carvalho
11336d4a94 Fix sshrepo.unbundle
We weren't reading all the data sent by the server.  Depending on
the system, the remote hg (actually, the remote python) could send a
"close failed: [Errno 32] Broken pipe", making some tests fail.
2007-08-17 22:43:38 -03:00
Peter Meerwald
263e23ecf3 recognize user:password in URLs that include port numbers.
when giving user/pwd in an URL, eg.
hg pull http://user:pwd@host.com:666/hg/something,
hg would still ask for user/pwd in interactive mode (or fail in
non-interactive)
2007-08-17 22:43:38 -03:00
Alexis S. L. Carvalho
0f222fbdf3 Move enabling of demandimport to dispatch.py
This avoids loading many modules before enabling demandimport.
2007-08-17 17:33:27 -03:00
Alexis S. L. Carvalho
dc23a7db18 Move cmdtable and reposetup handling out of extensions.py
A new function (extensions.extensions) allows the code that is
interested in those attributes to handle them directly.

This allows some cleanups of extensions.py.  Notably, we can
remove the extensions.commandtable hack.

It also makes it easier to add standard extension attributes,
like a "hgwebsetup" function or a "helptable" dict that augments
the data in help.py, etc.
2007-08-17 17:33:27 -03:00
Matt Mackall
7065cf1716 Merge with crew 2007-08-17 00:35:16 -05:00
Benoit Boissinot
0369364273 merge with -stable 2007-08-17 00:43:49 +02:00
Benoit Boissinot
c012edc900 clone: do not delete the target if only the update fails 2007-08-17 00:42:22 +02:00
Matt Mackall
57b8fee517 verify: report expected linkrev 2007-08-15 16:55:15 -05:00
Matt Mackall
c08427e0e8 dispatch: move command dispatching into its own module
- move command dispatching functions from commands and cmdutil to dispatch
- change findcmd to take a table argument
- remove circular import of commands in cmdutil
- privatize helper functions in dispatch
2007-08-15 16:55:13 -05:00
Matt Mackall
1d9daf6473 move parseurl from cmdutil to hg 2007-08-15 16:10:36 -05:00
Matt Mackall
2bf7253b8a fix-up references to repo.RepoError 2007-08-15 16:10:24 -05:00
Matt Mackall
b4f06de2ba remove unneeded imports of mdiff 2007-08-15 16:09:50 -05:00
Patrick Mezard
4ad44c80f1 Merge with crew-stable 2007-08-15 16:43:40 +02:00
Patrick Mezard
498ca5601a Fix issue 685: trackback in grep -r after rename 2007-08-15 16:09:04 +02:00
Benoit Boissinot
eb931a15ff fix bundlerepo broken by f778fb08323c
since we now use struct in case of lazy parser, this have to be an integer
instead of None
see issue681
2007-08-14 18:25:27 +02:00
Patrick Mezard
1c4c581aa9 Merge with crew-stable 2007-08-14 16:30:38 +02:00
Patrick Mezard
38b7c18bab demandimport: ignore resource module, not available under Windows. 2007-08-14 16:03:15 +02:00
Patrick Mezard
e7663b6ff8 demandimport: ignore pwd and grp.
Both are unavailable under Windows and tarfile detects them via ImportError.
2007-08-13 19:42:52 +02:00
Patrick Mezard
9e00bc29ee demandimport: ignore pwd and grp.
Both are unavailable under Windows and tarfile detects them via ImportError.
2007-08-13 19:42:52 +02:00
Patrick Mezard
aebb857395 util: ignore invalid path errors in path_auditor. 2007-08-13 19:42:50 +02:00
Alexis S. L. Carvalho
a866998db8 merge with crew-stable 2007-08-12 12:43:52 -03:00
Alexis S. L. Carvalho
664fc9f5dd merge: fix a copy detection bug (issue672)
When merging rev1 and rev2, we want to search for copies that happened
in rev1 but not in rev2 and vice-versa.  We were starting the search at
rev1/rev2 and then going back, stopping as soon as we reached the revno
of the ancestor, but that can miss some cases (see the new
test-issue672).

Now we calculate the revisions that are ancestors of rev1 or rev2 (but
not both) and make sure the search doesn't stop too early.

Simplified test provided by mpm, based on a test case provided by
Edward Lee.
2007-08-12 12:15:10 -03:00
Thomas Arendsen Hein
beed59edcd merge with crew-stable 2007-08-11 13:35:25 +02:00
Thomas Arendsen Hein
37a2cd8e7d fancyopts: Copy list arguments in command table before modifying.
Before this, executing
commands.dispatch(['log', '-r', '0'])
commands.dispatch(['log', '-r', 'tip'])
would look like:
hg log -r 0
hg log -r 0 -r tip

Reported by TK Soh, patch by Alexis S. L. Carvalho
2007-08-11 13:07:47 +02:00
Bryan O'Sullivan
6cbcae9959 Make a few portability improvements to path auditing code. 2007-08-10 10:51:47 -07:00
Bryan O'Sullivan
1b98353d91 Make audit_path more stringent.
The following properties of a path are now checked for:

    - under top-level .hg
    - starts at the root of a windows drive
    - contains ".."
    - traverses a symlink (e.g. a/symlink_here/b)
    - inside a nested repository

If any of these is true, the path is rejected.

The check for traversing a symlink is arguably stricter than necessary;
perhaps we should be checking for symlinks that point outside the
repository.
2007-08-10 10:46:03 -07:00
Bryan O'Sullivan
d003ab09e5 debugstate: print symlinks as 'lnk', not '777' 2007-08-09 20:03:34 -07:00
Bryan O'Sullivan
c42c6ca456 manifest: accept -r for rev specification 2007-08-09 19:42:33 -07:00
Bryan O'Sullivan
46880a1c4f record: improve docs, improve prompts 2007-08-09 17:29:16 -07:00
Brendan Cully
127294b50c fix up previous commit for stable 2007-08-09 12:34:25 -07:00
Brendan Cully
c8c558a817 Merge with crew-stable 2007-08-09 11:37:47 -07:00
Brendan Cully
38822453d6 Cache extension load failures.
hg commands call extensions.loadall twice, once during dispatch and
once when the repository is instantiated. Without this change, load
caches successful loads, but not unsuccessful, causing errors to be
displayed twice.
2007-08-08 18:04:06 -07:00
Benoit Boissinot
5c3e74025c merge with -stable 2007-08-09 01:07:11 +02:00
Benoit Boissinot
25ee8ea56b unobfuscate part of fec055ae35cc 2007-08-09 01:04:27 +02:00
Benoit Boissinot
258f71b5a3 merge with -stable 2007-08-08 23:00:01 +02:00
Eric Hopper
e7f6d77433 Fix hgwebdir after aaaee74b883fc144cc3472c81c61157bc69374b6 broke it. 2007-08-08 22:47:30 +02:00
Benoit Boissinot
ce6a51c4eb refactor options from cmdtable
- add extracommitopts for user and date
- factor stuff
2007-08-08 12:27:20 +02:00
Thomas Arendsen Hein
e34927453f Remove trailing spaces, fix indentation 2007-08-07 10:28:43 +02:00
Thomas Arendsen Hein
001b7980f8 Remove trailing spaces 2007-08-07 10:24:33 +02:00
Thomas Arendsen Hein
bbd3ff0014 merge with crew-stable 2007-08-06 20:31:15 +02:00
Thomas Arendsen Hein
502b9e407c Update on pull -u when heads were closed (fixes issue666).
Patch written by Benoit Boissinot.

This should probably be improved in the future to handle long-living
branches, as joining two "other" heads will switch to that new head.
But this is not a new problem, as adding to the "other" head would have
switched to that new head, too.
2007-08-06 20:25:50 +02:00
Patrick Mezard
6b51a27d18 Merge with crew-stable 2007-08-06 10:57:51 +02:00
Patrick Mezard
3857228c9a Fix issue 653: symlinks checkout failure on non-supporting platforms 2007-08-06 10:08:28 +02:00
Alexis S. L. Carvalho
9107d93d2f merge with crew-stable 2007-08-06 01:00:10 -03:00
Alexis S. L. Carvalho
56d1444a26 httprepo: quote the path part of the URL
This should fix a 'hg clone "http://hg.example.org/path with spaces/"'

The code tries to do the right thing when the user passes a path that's
already escaped in part (e.g. "http://hg.example.org/path%20with spaces/").

If we're redirected, urllib2 will happily follow the URL it's given
without escaping anything.  I'm not sure what we would have to hook
to work around that.
2007-08-06 00:35:06 -03:00
Alexis S. L. Carvalho
502ca449fe dirstate: fix rebuild; add a test
If rebuild calls invalidate, it will just queue a (re)read of the dirstate
file, while what we really want is to empty the current state.
2007-08-05 23:04:56 -03:00
Alexis S. L. Carvalho
ed3d96430e hgweb: don't use os.path.join to build URL parts 2007-08-05 22:36:39 -03:00
Alexis S. L. Carvalho
cba13b82f6 hgwebdir: change os.sep in the name of repos to "/" 2007-08-05 22:36:39 -03:00
Brendan Cully
7bd6f8b503 patch: add git symlink support 2007-08-04 23:07:52 -07:00
Thomas Arendsen Hein
325c8db06b merge with crew-stable 2007-08-04 22:27:52 +02:00
Thomas Arendsen Hein
ae0d60a260 Simplify/correct finding the hg executable (fixes issue644)
Simply use find_exe('hg') as the default value for $HG and require to manually
set it if you have special requirements.

While the default will not always be 100% correct (i.e. the identical hg
version) for many users it is and for the others the hg executable found in
the PATH should do most things correctly.

Developers or other users with multiple installs can set $HG or run something
like util.set_hgexecutable in their shell or python scripts.

Additionally util.hgexecutable() is now available so extensions can access
the value with a public interface, too.
2007-08-04 22:25:12 +02:00
Matt Mackall
f5270b4251 Merge with -stable 2007-08-02 13:23:53 -05:00
Matt Mackall
2cee92939f merge: avoid double deletion mentioned in issue636 2007-08-02 12:29:10 -05:00
Alexis S. L. Carvalho
5af674774c del transaction before lock before wlock
This way rollbacks happen while the repo is still locked.

Deleting lock before wlock is not strictly necessary, but is
more consistent with the locking order.
2007-08-02 01:56:08 -03:00
Brendan Cully
fc8076b99a Merge with mpm 2007-08-01 14:26:30 -07:00
Matt Mackall
600c42bfbf Merge with stable 2007-08-01 14:03:48 -05:00
Bryan O'Sullivan
a487c999a8 dirstate: improve error message on file/directory clash 2007-08-01 12:03:10 -07:00
Matt Mackall
d76c06eeb0 merge: do early copy to deal with issue636
Without copies/renames, merges source names are 1:1 with their
targets. Copies and renames introduce the possibility that there will
be two merges with the same input but different output. By doing the
copy to the destination name before the merge, the actual merge
becomes 1:1 again, and no source is the input to two different merges.

- add a preliminary scan to applyupdates to do copies
- for the merge action, pass the old name (for finding ancestors) and
  the new name (for input to the merge) to filemerge
- eliminate the old post-merge copy
- lookup file contents from new name in filemerge
- pass new name to external merge helper
- report merge failure at new name
- add a test
2007-08-01 12:33:12 -05:00
Bryan O'Sullivan
b89554c4ea localrepository: allow rawcommit to commit with an empty message 2007-08-01 09:57:05 -07:00
Thomas Arendsen Hein
e05f361209 os.isatty isn't available on Windows, so use sys.stdin.isatty() 2007-08-01 10:33:21 +02:00
Bryan O'Sullivan
80c88dabf8 ui: get readline and prompt to behave better depending on interactivity 2007-07-31 16:28:05 -07:00
Bryan O'Sullivan
ce7f264f24 patch: make internal code a bit friendlier to use 2007-07-31 16:28:05 -07:00
Bryan O'Sullivan
3bcee4b94e commands: move commit to cmdutil as wrapper for commit-like functions 2007-07-31 16:28:05 -07:00
Bryan O'Sullivan
46b7a3a9ca patch: remove unused parameter from b85diff 2007-07-30 20:49:08 -07:00
Bryan O'Sullivan
f2fb8a0b42 extensions: don't get confused by aliasing between "foo" and "hgext.foo" 2007-07-30 14:53:03 -07:00
Thomas Arendsen Hein
1640028059 merge with crew-stable 2007-07-30 20:06:11 +02:00
Thomas Arendsen Hein
c8e49d5f09 Fix re: and glob: patterns in .hgignore (reported by Brad Schick)
relglob: and relre: were already detected for a long time, so
I kept this undocumented functionality, especially as it was already
tested in test-hgignore.
2007-07-30 20:01:16 +02:00
Bryan O'Sullivan
04aae067fa localrepo.commit: only munge comment text if committing via dirstate 2007-07-26 14:47:31 -07:00
Matt Mackall
37cc19c8c5 revlog: localize some fastpath functions 2007-07-26 12:02:58 -05:00
Matt Mackall
eeb8f14a99 revlog: minor chunk speed-up 2007-07-26 12:02:58 -05:00
Matt Mackall
d106fa8150 revlog: minor revdiff reorganization 2007-07-26 12:02:58 -05:00
Matt Mackall
9429a0a390 revlog: move flag checking out of the offset fastpath 2007-07-26 12:02:58 -05:00
Matt Mackall
fc2b62f41f dirstate: localize a bunch of methods in status fastpath 2007-07-26 12:02:58 -05:00
Matt Mackall
c16b9a14c4 dirstate: speed up sorting in findfiles 2007-07-26 12:02:58 -05:00
Matt Mackall
24095cdf2c revlog: pass mode to _supported directly 2007-07-26 12:02:58 -05:00
Matt Mackall
8e7fb240b4 dirstate: localize a bunch of methods for findfiles 2007-07-26 12:02:58 -05:00
Matt Mackall
169bd362a1 Merge with -stable 2007-07-26 12:02:55 -05:00
Matt Mackall
0ac116e475 merge: don't forget to update the dirstate for exec bit changes 2007-07-26 11:19:53 -05:00
Shun-ichi GOTO
da82dc7d46 posixfile_nt: '+' should allow read access.
This fixes unexpected I/O error on committing many files
due to cset:f75d8ba770e0 (r4902 in crew).
2007-07-25 15:58:10 +09:00
Shun-ichi GOTO
419d6d63b2 posixfile_nt: '+' should allow read access.
This fixes unexpected I/O error on committing many files
due to cset:f75d8ba770e0 (r4902 in crew).
2007-07-25 15:58:10 +09:00
Matt Mackall
767bb11dd5 revlog: avoid some unnecessary seek/tell syscalls 2007-07-23 20:44:08 -05:00
Matt Mackall
f7f7d43737 manifest: speed up creation of the manifestdict
- fold iteration and rawset into parse
- avoid creating extra new strings with [:] where possible
- speed up node.bin
2007-07-23 20:44:08 -05:00
Matt Mackall
dd01d60440 lazyparser.findnode: fix typo and s/rfind/find/
There's no reason to use reverse string search and it's slightly slower
2007-07-23 20:44:08 -05:00
Matt Mackall
7292978647 lazyindex: speed up __getitem__
This function is fairly performance sensitive, so we make a couple
ugly tweaks:

- keep all entries packed so we needn't test entry types
- fold index lookup/load into unpack call to eliminate
  local variable setting
2007-07-23 20:44:08 -05:00
Matt Mackall
a68e049384 lazyparser: up the blocksize from 512 bytes to 64k 2007-07-23 20:44:08 -05:00
Matt Mackall
b607d22a05 revlog: implement a fast path for heads 2007-07-23 20:44:08 -05:00
Matt Mackall
cb95c386e8 revlogio: speed up parsing
- precalcuate ending offset
- pull some variables into local scope
- separate inline and out of line code paths
2007-07-23 20:44:08 -05:00
Matt Mackall
8fa2498ebf revlog: eliminate diff and patches functions
call mdiff variants directly
2007-07-23 20:44:08 -05:00
Matt Mackall
9257ef4f4f revlog: speed up chunkcache
- use a reasonable cache size
- avoid an extra copy when we pull in big revs
2007-07-23 20:44:08 -05:00
Matt Mackall
141c035280 revlog: some basic code reordering 2007-07-23 20:44:08 -05:00
Matt Mackall
ff72ed852c revlog: abstract out index entry packing
This lets us remove most of the remaining v0/v1 logic from revlog
2007-07-23 20:44:08 -05:00
Matt Mackall
1f16099cd0 revlog: simplify revlog.__init__
- move stat into io helper
- get rid of self.defversion and self.indexstat
- fold _load into __init__
2007-07-23 20:44:08 -05:00
Matt Mackall
f3686b0a39 revlog: mark cache private 2007-07-23 20:44:08 -05:00
Matt Mackall
9a71ba31c4 revlog: pull chunkcache back into revlog 2007-07-23 20:44:08 -05:00