Commit Graph

48 Commits

Author SHA1 Message Date
Matt Mackall
e0735a1762 error: move repo errors
rename NoCapability to CapabilityError
2009-01-12 10:42:31 -06:00
Matt Mackall
d15d559b7c errors: move revlog errors
- create error.py for exception classes to reduce demandloading
- move revlog exceptions to it
- change users to import error and drop revlog import if possible
2009-01-11 22:48:28 -06:00
Dirkjan Ochtman
35a7a2d857 bundlerepo doesn't really have a dirstate, throw AttributeError if requested 2008-11-27 16:07:17 +01:00
Martin Geisler
28fb695e9a i18n: mark strings for translation in Mercurial 2008-08-31 16:12:02 +02:00
Matt Mackall
bc715be859 add __len__ and __iter__ methods to repo and revlog 2008-06-26 14:35:50 -05:00
Peter Arrenbrecht
892bff8c6e drop superfluous param from revlog.addgroup() 2008-06-05 16:25:11 +02:00
Benoit Allard
22f4c84650 add support for HG10GZ bundles to bundlerepo.bundlerevlog() 2008-04-24 11:48:07 +02:00
Matt Mackall
0dec779241 clone: use cancopy 2008-03-20 11:12:35 -05:00
John Mulligan
8bbfa5b0b7 Add ability to directly clone from all-history bundles
bundlerepos can be used as clone src, even if CWD is not a repo
2008-03-15 12:04:28 -04:00
Matt Mackall
cfa4e83bd1 repo classes: remove unused dev() method 2008-03-20 11:12:35 -05:00
Matt Mackall
865487e7f2 revlog: report node and file when lookup fails 2008-03-11 17:42:29 -05:00
Joel Rosdahl
5dae3059a0 Expand import * to allow Pyflakes to find problems 2008-03-06 22:23:26 +01:00
Peter Arrenbrecht
a04490ff3f bundlerepo: fix inconsistency of parsed and internal name (issue #821) 2008-02-10 08:53:39 +01:00
Peter Arrenbrecht
18fb9f5e5e Fix income/pull with bundle and -R (issue 820).
Uses ui.setconfig() to tell bundlerepo where the main repo is. This is
needed for when the --repository option is used.

Adds tests to test-bundle and a new test script
test-mq-pull-from-bundle, which plays out the situation that initially
made me detect this bug

(hg -R .hg/patches pull ../bundle.hg).
2007-12-18 14:11:13 -06:00
Bryan O'Sullivan
d32d6fb57f make LookupError more detailed 2007-11-28 08:36:55 -08: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
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
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
f3686b0a39 revlog: mark cache private 2007-07-23 20:44:08 -05:00
Matt Mackall
2cb4c11520 revlog: add a magic null revision to our index
We expand our index by one entry so that index[nullrev] points to a
unique entry, the null revision. This naturally eliminates numerous
extra tests in the performance-sensitive index access functions, most
of which are now trivial again.

Adding new entries is now done with insert(-1, e) rather than
append(e).
2007-07-23 20:44:08 -05:00
Matt Mackall
9eea27ad83 revlog: raise offset/type helpers to global scope 2007-07-21 16:18:21 -05:00
Thomas Arendsen Hein
4d29c6dc8e Updated copyright notices and add "and others" to "hg version" 2007-06-19 08:51:34 +02:00
Matt Mackall
b4f6965b1d revlog: don't pass datafile as an argument 2007-03-22 19:12:03 -05:00
Benoit Boissinot
4af82ec145 merge with -stable 2007-01-15 18:23:21 +01:00
Benoit Boissinot
a033481246 bundlerepo: it was meant to be revdiff() instead of chunk() 2007-01-15 17:56:20 +01:00
Brendan Cully
8a6eea2483 Add revlog.LookupError exception, and use it instead of RevlogError.
Remove repo.LookupError, which devolves to the revlog version.
2006-12-18 12:22:43 -08:00
Matt Mackall
296d6a7cb8 Simplify i18n imports 2006-12-14 20:25:19 -06:00
Matt Mackall
f17a4e1934 Replace demandload with new demandimport 2006-12-13 13:27:09 -06:00
Benoit Boissinot
84f8507dc8 introduce localrepo.spath for the store path, sopener fixes 2006-12-05 11:28:23 +01:00
Benoit Boissinot
d701ab590c bundlerepo: don't hardcode the revlog filename 2006-12-04 09:38:49 +01:00
Thomas Arendsen Hein
9813e25f31 Explicitly use REVLOGV0 instead of 0 in bundlerepo. 2006-10-29 10:55:38 +01:00
Alexis S. L. Carvalho
35d879891a bundlerepo: avoid exception in __del__ when the bundle doesn't exist
$ hg -R bundle://foo.hg
abort: No such file or directory: foo.hg
Exception exceptions.AttributeError: "'bundlerepository' object has no attribute 'bundlefile'" in <bound method bundlerepository.__del__ of <mercurial.bundlerepo.bundlerepository object at 0xa7ab9fac>> ignored
2006-10-16 20:38:04 -03:00
Vadim Gelfer
b7a96d1742 clean up hg.py: move repo constructor code into each repo module 2006-07-31 07:11:12 -07:00
Vadim Gelfer
0778999161 hooks: add url to changegroup, incoming, prechangegroup, pretxnchangegroup hooks
all repository classes now have url() method that returns url of repo.
2006-07-25 13:50:32 -07:00
Benoit Boissinot
600d0a563c add support for compressed bundle repositories
we simply create a uncompressed bundle in a tempfile
in .hg
2006-05-12 18:38:56 +02:00
Benoit Boissinot
137780258f indent: fix alignment 2006-05-11 11:24:28 +02:00
Benoit Boissinot
45eac475a5 fix errors spotted by pychecker (mostly scope problems) 2006-05-11 11:15:23 +02:00
Vadim Gelfer
fad839fb0b fix file handling bugs on windows.
add util.posixfile class that has posix semantics on windows.
fix util.rename so it works with stupid windows delete semantics.
2006-05-02 14:30:00 -07:00
Benoit Boissinot
b5423b8015 cached data was wrong: rev is different from self.rev(node) in bundlerepo.py 2006-04-25 23:28:40 +02:00
Chris Mason
19f27664d2 Make bundlerepo use proper index format for revlogng
bundlerepo just appends index entries from the bundle onto the index for the
current repo.  This patch makes sure it appends the correct format.
2006-04-20 13:08:16 -04:00
mason@suse.com
f12a5d7469 Fix bundle repos to use an index tuple consistent with revlogng
The bundle repo code was adding a field to the index tuple, which
confused the revlogng changes.  This creates a new dict instead
to maintain the extra bundle info.
2006-04-04 16:38:43 -04:00
Thomas Arendsen Hein
b246223f51 make incoming work via ssh (issue139); move chunk code into separate module.
Incoming ssh needs to detect the end of the changegroup, otherwise it would
block trying to read from the ssh pipe. This is done by parsing the
changegroup chunks.

bundlerepo.getchunk() already is identical to
localrepo.addchangegroup.getchunk(), which is followed by getgroup which
looks much like what you can re-use in bundlerepository.__init__() and in
write_bundle(). bundlerevlog.__init__.genchunk() looks very similar, too,
as do some while loops in localrepo.py.

Applied patch from Benoit Boissinot to move duplicate/related code
to mercurial/changegroup.py and use this to fix incoming ssh.
2006-03-21 11:47:21 +01:00
Benoit Boissinot
716b941d75 use HG10UN header for uncompressed bundle
- use HG10UN instead of HG11 for uncompressed bundles header
- check HG10BZ for compressed bundle
- better error handling for invalid header

some notes:
- people who created uncompressed bundle will no longer be
  able to use them (it could be fixed with hand-editing)
- older hg cannot detect an uncompressed bundle
  (bzip2 decompression will fail).
2006-03-21 06:03:33 +01:00
Thomas Arendsen Hein
8dceca25c4 imported patch /home/thomas/fix-incoming-abortion4.patch 2006-03-18 09:13:27 +01:00
Benoit Boissinot
979ec0cfd3 bundlerepo: remove relative import, fix a comment 2006-03-13 06:58:31 +01:00
Benoit Boissinot
dcc6cfca90 add bundlerepo.py: a read-only repo that can use uncompressed bundles
The idea is to create a repo consisting of a normal local repository
plus all the changesets contained in a bundle.

The bundle needs to be uncompressed. A futur version could implement
the seeking through a compressed bundle.
2006-03-13 03:54:23 +01:00