Chris Mason <mason@suse.com> [Wed, 19 Apr 2006 15:35:10 -0400] rev 2098
Remove bogus raise from localrepo.lookup()
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Wed, 19 Apr 2006 11:41:27 -0700] rev 2097
Fix hg qdiff <file>
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Wed, 19 Apr 2006 11:41:25 -0700] rev 2096
Ignore EPIPE in pipefilter
This hides the following traceback (there's a race condition involved,
so you may have to try a few times to hit it):
$ hg sign --key key-that-does-not-exist
Signing 2062:
4bad92f4ea65
gpg: skipped "key-that-does-not-exist": secret key not available
gpg: signing failed: secret key not available
Exception in thread Thread-1:
Traceback (most recent call last):
File "threading.py", line 442, in __bootstrap
self.run()
File "threading.py", line 422, in run
self.__target(*self.__args, **self.__kwargs)
File "mercurial/util.py", line 24, in writer
pin.close()
IOError: [Errno 32] Broken pipe
abort: Error while signing
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Wed, 19 Apr 2006 11:41:22 -0700] rev 2095
Don't send "Content-Type: none"
mimetypes.guess_type will return (None, None) when it can't detect the
filetype.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Wed, 19 Apr 2006 11:39:34 -0700] rev 2094
Fix filerevision-raw.tmpl
Two bugs:
- conteXt-type instead of conteNt-type
- trailing newline
The easiest way to fix the second one (and keep it fixed) is to put
everything inline in map-raw.
Vadim Gelfer <vadim.gelfer@gmail.com> [Wed, 19 Apr 2006 11:29:41 -0700] rev 2093
convert-repo: fix reversed time zone offset
Vadim Gelfer <vadim.gelfer@gmail.com> [Wed, 19 Apr 2006 11:17:13 -0700] rev 2092
catch SIGBREAK on windows.
Lee Cantey <lcantey@gmail.com> [Wed, 19 Apr 2006 10:56:44 -0700] rev 2091
update windows readme to document msys/mingw rxvt problems.
Vadim Gelfer <vadim.gelfer@gmail.com> [Wed, 19 Apr 2006 09:08:45 -0700] rev 2090
fix util.canonpath on windows.
old test for absolute path was not portable. use os.path api instead.
Vadim Gelfer <vadim.gelfer@gmail.com> [Wed, 19 Apr 2006 08:33:46 -0700] rev 2089
make appendfile simpler so it does not break with revlogng on windows.
it used to cache open files. this made revlogng break because it wants
to rename files when splitting .i into .i/.d, but cannot rename or unlink
open files on windows.
new code is bit slower, but safe on linux and windows. proper fix for
too many open/close of changelog/manifest belongs in different place.
can get 10% speed improvement back.
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 19 Apr 2006 07:09:15 +0200] rev 2088
Exit test-hup only after the background process has died.
Otherwise the open file might let the tests fail on NFS.
Vadim Gelfer <vadim.gelfer@gmail.com> [Tue, 18 Apr 2006 20:33:33 -0700] rev 2087
merge with mainline.
Vadim Gelfer <vadim.gelfer@gmail.com> [Tue, 18 Apr 2006 14:56:54 -0700] rev 2086
mq: do not fail if directory to create exists
Chris Mason <mason@suse.com> [Tue, 18 Apr 2006 19:50:12 -0400] rev 2085
merge revlogng with mpm tip
Chris Mason <mason@suse.com> [Mon, 17 Apr 2006 13:19:58 -0400] rev 2084
Fix transaction handling during interleaved file split.
Chris Mason <mason@suse.com> [Sat, 08 Apr 2006 20:10:46 -0400] rev 2083
merge 0.8.1 with revlogng
mason@suse.com [Sat, 08 Apr 2006 20:08:06 -0400] rev 2082
Additional appendfile fixes for interleaved data/index files
The appendfile code was not passing default version info to the
changelog or manifest classes, and so they were always being created
as version 0.
revlog.checkinlinesize had to be corrected to seek to the end
of the index file when no index file was passed (only clone does this)
Chris Mason <mason@suse.com> [Thu, 06 Apr 2006 20:13:09 -0400] rev 2081
Speedup revlog.ancestors for the linear case
revlog.ancestors can be expensive on big repos. This cuts down the overall
time for hg update by ~19% by short cutting revlog.ancestors when one of the
revisions is reachable from another.
mason@suse.com [Tue, 04 Apr 2006 19:00:40 -0400] rev 2080
Reduce index memory usage by storing the bare string instead of tuples
Storing the tuple returned by struct.unpack significantly increases
the memory required to store the entire index in ram. This patch
uses struct.unpack on demand instead.
mason@suse.com [Tue, 04 Apr 2006 16:47:12 -0400] rev 2079
New lazy index code for revlogs.
This tunes for large repositories. It does not read the whole
index file in one big chunk, but tries to buffer reads in more
reasonable chunks instead.
Search speeds are improved in two ways. When trying to find a
specific sha hash, it searches from the end of the file backward.
More recent entries are more likely to be relevant, especially the
tip.
Also, this can load only the mapping of nodes to revlog index number.
Loading the map uses less cpu (no struct.unpack) and much less
memory than loading both the map and the index.
This cuts down the time for hg tip on the 80,000 changeset
kernel repo from 1.8s to 3.69s. Most commands the pull a single
rev out of a big index get roughly the same benefit. Commands
that read the whole index are not slower.
mason@suse.com [Tue, 04 Apr 2006 16:38:44 -0400] rev 2078
Fill in the uncompressed size during revlog.addgroup
This uses code from Matt to calculate the size change that
would result from applying a delta to keep an accurate running
total of the text size during revlog.addgroup
mason@suse.com [Tue, 04 Apr 2006 16:38:44 -0400] rev 2077
Fix inlined revlogs to seek to eof after opening "a+"
mason@suse.com [Tue, 04 Apr 2006 16:38:44 -0400] rev 2076
Create an atomic opener that does not automatically rename on close
The revlog.checkinlinesize() uses an atomic opener to replace the
index file after converting it from inline to traditional .i and .d
files. If this operation is interrupted, the atomic file class can
overwrite a valid file with a partially written one.
This patch introduces an atomic opener that does not automatically
replace the destination file with the tempfile. This way
an interrupted checkinlinesize() call turns into a noop.
mason@suse.com [Tue, 04 Apr 2006 16:38:43 -0400] rev 2075
Make the appendfile class inline-data index friendly
The appendfile class needs a few changes to make it work with interleaved
index files. It needs to support the tell() method, opening in a+ mode,
and it needs to delay the checkinlinesize call until after the
append file is written.
Given that open(file, "a+") doesn't always seek to the end of the file,
this adds seek operations to appendfile that understand whence args
mason@suse.com [Tue, 04 Apr 2006 16:38:43 -0400] rev 2074
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.
mason@suse.com [Tue, 04 Apr 2006 16:38:43 -0400] rev 2073
Implement data inlined with the index file
This patch allows you to optionally inline data bytes with the
revlog index file. It saves considerable space and checkout
time by reducing the number of inodes, wasted partial blocks and
system calls.
To use the inline data add this to your .hgrc
[revlog]
# inline data only works with revlogng
format=1
# inline is the only valid flag right now.
flags=inline
mason@suse.com [Tue, 04 Apr 2006 16:38:43 -0400] rev 2072
Implement revlogng.
revlogng results in smaller indexes, can address larger data files, and
supports flags and version numbers.
By default the original revlog format is used. To use the new format,
use the following .hgrc field:
[revlog]
# format choices are 0 (classic revlog format) and 1 revlogng
format=1
Vadim Gelfer <vadim.gelfer@gmail.com> [Thu, 13 Apr 2006 17:42:49 -0700] rev 2071
import: use gpatch if present on system. patch is broken on solaris.
fixes issue 205.
add new useful function, util.find_in_path.
Vadim Gelfer <vadim.gelfer@gmail.com> [Thu, 13 Apr 2006 17:12:09 -0700] rev 2070
merge with crew.
Vadim Gelfer <vadim.gelfer@gmail.com> [Thu, 13 Apr 2006 17:11:35 -0700] rev 2069
merge with crew.