Vadim Gelfer <vadim.gelfer@gmail.com> [Wed, 03 May 2006 14:35:17 -0700] rev 2191
make templater bit more flexible and efficient for external users.
Vadim Gelfer <vadim.gelfer@gmail.com> [Wed, 03 May 2006 11:00:24 -0700] rev 2190
fix minor bugs in localrepo.hook.
Vadim Gelfer <vadim.gelfer@gmail.com> [Wed, 03 May 2006 10:25:28 -0700] rev 2189
move changeset_templater into templater module.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Wed, 03 May 2006 13:12:34 +0200] rev 2188
merge with crew
TK Soh <teekaysoh@yahoo.com> [Wed, 03 May 2006 11:25:36 +0200] rev 2187
tests: support older version of bunzip2 and, possibly, gunzip too
TK Soh <teekaysoh@yahoo.com> [Wed, 03 May 2006 11:25:25 +0200] rev 2186
tests: fix compatibility on Solaris
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 03 May 2006 11:57:14 +0200] rev 2185
Better help for mq: Corrected synopses, get qcommit options from commands.py.
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 03 May 2006 10:53:51 +0200] rev 2184
Add debugaddremove alias to addremove, so it doesn't show up in 'hg help'.
Add an explicit description of 'hg commit --addremove'.
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 03 May 2006 10:45:20 +0200] rev 2183
Always clean the build directory before installing for running the tests.
Otherwise tests might run an old version, when e.g. commands.py.orig is
moved back after a revert (old timestamp).
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 03 May 2006 10:18:52 +0200] rev 2182
Corrected test output for deprecated addremove command.
Vadim Gelfer <vadim.gelfer@gmail.com> [Tue, 02 May 2006 21:50:53 -0700] rev 2181
deprecate addremove command.
Vadim Gelfer <vadim.gelfer@gmail.com> [Tue, 02 May 2006 21:45:53 -0700] rev 2180
make test-remove check some more cases.
Vadim Gelfer <vadim.gelfer@gmail.com> [Tue, 02 May 2006 21:44:24 -0700] rev 2179
add --after option to remove command.
Vadim Gelfer <vadim.gelfer@gmail.com> [Tue, 02 May 2006 14:38:32 -0700] rev 2178
merge with crew.
Vadim Gelfer <vadim.gelfer@gmail.com> [Tue, 02 May 2006 14:37:55 -0700] rev 2177
merge with crew.
Vadim Gelfer <vadim.gelfer@gmail.com> [Tue, 02 May 2006 14:30:00 -0700] rev 2176
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.
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 02 May 2006 18:44:02 +0200] rev 2175
Make hg update more verbose by default (issue12)
(including small changes to revert and backout to not show these stats
with the exception of backout --merge)
Show update stats (unless -q), e.g.:
K files updated, L files merged, M files removed, N files unresolved
Inform the user what to do after a merge:
(branch merge, don't forget to commit)
Inform the user what to do if a branch merge failed:
There are unresolved merges, you can redo the full merge using:
hg update -C X
hg merge Y
Inform the user what to do if a working directory merge failed:
There are unresolved merges with locally modified files.
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 01 May 2006 19:17:34 +0200] rev 2174
If default sorting is name, offer name-descending with one click.
Additionally no longer ignore case when sorting by name to match default
sorting. This makes e.g. a repository "FOO" being listed before "bar".
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 01 May 2006 18:38:25 +0200] rev 2173
Make hgwebdir columns sortable.
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 01 May 2006 10:04:25 +0200] rev 2172
Merge with crew
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 01 May 2006 10:02:17 +0200] rev 2171
Add download links to hgwebdir index page for allowed archive types.
Based on a patch by Colin McMillen <mcmillen@cs.cmu.edu>
Colin McMillen <mcmillen@cs.cmu.edu> [Mon, 01 May 2006 09:01:59 +0200] rev 2170
Add archive download links to tip on main changeset list page
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 30 Apr 2006 22:46:54 +0200] rev 2169
Combine catching exceptions added in dd4ec4576cc8 in one except statement.
Colin McMillen <mcmillen@cs.cmu.edu> [Sun, 30 Apr 2006 22:43:41 +0200] rev 2168
Proper check to see if zip dest needs to be wrapped in tellable
From hgweb, calling archival.zipit fails with the error message
"Illegal seek". This happens because sys.stdout.tell() throws an
exception:
Traceback (most recent call last):
File "/usr/lib/python2.4/site-packages/mercurial/archival.py", line 99, in addfile
self.z.writestr(i, data)
File "/usr/lib/python2.4/zipfile.py", line 468, in writestr
zinfo.header_offset = self.fp.tell() # Start of header bytes
Checking whether hasattr(dest, 'tell') is insufficient, because
sys.stdout has a tell() method; you just can't call it.
This patch instead determines whether a fileobj is tellable by trying
to tell(), wrapping the fileobj if an exception is generated.
Vadim Gelfer <vadim.gelfer@gmail.com> [Sun, 30 Apr 2006 16:30:57 -0700] rev 2167
merge with crew.
Vadim Gelfer <vadim.gelfer@gmail.com> [Sun, 30 Apr 2006 16:30:39 -0700] rev 2166
do not check sys.argv from localrepo when running hooks.
instead add traceback field to ui class.
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 30 Apr 2006 21:11:22 +0200] rev 2165
Use better names (hg-{usage}-{random}.{suffix}) for temporary files.
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 30 Apr 2006 19:30:59 +0200] rev 2164
Applied $PWD fix (changeset 278f9b13c39a) to tests/test-hook, too.
Sascha Wilde <wilde@sha-bang.de> [Sun, 30 Apr 2006 19:29:57 +0200] rev 2163
SunOS fix: Replaced $PWD with `pwd`
under certain conditioins $PWD isn't up to date,
observed on SunOS 5.8
Colin McMillen <mcmillen@cs.cmu.edu> [Sun, 30 Apr 2006 18:52:34 +0200] rev 2162
Add self to CONTRIBUTORS
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Sun, 30 Apr 2006 18:50:53 +0200] rev 2161
Fix just introduced possible old-http bug
My last patch changed httprangereader.read to read only the specified
amount of data from the connection, to prevent it from returning more
than what was asked.
I just realized that this could lead to the connection not being closed.
In practice, it looks like the connection is closed just fine, but it's
probably safer to read everything and then return only what's necessary.
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 30 Apr 2006 18:46:49 +0200] rev 2160
Cleanup archive command: Don't overwrite gettext, quoting in cmd table entry.
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 30 Apr 2006 18:40:30 +0200] rev 2159
Small cleanups to backout command:
- Accept -m for --message (like commit and similar commands), too.
- Don't ignore --logfile option.
- Fix command table entry (synopsis, group commit related option)
Vadim Gelfer <vadim.gelfer@gmail.com> [Sat, 29 Apr 2006 20:56:46 -0700] rev 2158
add backout command.
command undoes effect of an earlier commit, commits new changeset
as result.
Vadim Gelfer <vadim.gelfer@gmail.com> [Sat, 29 Apr 2006 20:39:28 -0700] rev 2157
make test-revert check executable bit.
Vadim Gelfer <vadim.gelfer@gmail.com> [Fri, 28 Apr 2006 15:50:56 -0700] rev 2156
merge with crew.
Vadim Gelfer <vadim.gelfer@gmail.com> [Fri, 28 Apr 2006 15:50:22 -0700] rev 2155
support hooks written in python.
to write hook in python, create module with hook function inside.
make sure mercurial can import module (put it in $PYTHONPATH or load it
as extension). hook function should look like this:
def myhook(ui, repo, hooktype, **kwargs):
if hook_passes:
return True
elif hook_explicitly_fails:
return False
elif some_other_failure:
import util
raise util.Abort('helpful failure message')
else:
return
# implicit return of None makes hook fail!
then in .hgrc, add hook with "python:" prefix:
[hooks]
commit = python:mymodule.myhook
Vadim Gelfer <vadim.gelfer@gmail.com> [Fri, 28 Apr 2006 14:51:36 -0700] rev 2154
merge with crew.
Vadim Gelfer <vadim.gelfer@gmail.com> [Fri, 28 Apr 2006 14:50:23 -0700] rev 2153
move SignalInterrupt class into util module.
Thomas Arendsen Hein <thomas@intevation.de> [Fri, 28 Apr 2006 21:52:08 +0200] rev 2152
Show repo's revlog format on verify only if it doesn't match the default format.
This makes it easier to run the tests with different revlog formats.
Thomas Arendsen Hein <thomas@intevation.de> [Fri, 28 Apr 2006 12:38:11 +0200] rev 2151
Ignore annotated coverage output of run-tests.py -C
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 28 Apr 2006 11:36:33 +0200] rev 2150
fix a NameError in changegroupsubset
Vincent Danjean <vdanjean@free.fr> [Thu, 27 Apr 2006 22:29:02 -0700] rev 2149
allow to pull from an empty repo without getting a backtrace
Colin McMillen <mcmillen@cs.cmu.edu> [Thu, 27 Apr 2006 22:11:13 -0700] rev 2148
Add MOTD display to hgweb and hgwebdir.
The hgweb "footer" template now has space for an optional message of
the day (MOTD). This is used in two contexts:
1) On the hgwebdir index page
2) On various pages of each individual repo
For both cases, the MOTD is read out of an entry named "motd" in the
[web] section of a config file -- the only difference is which file is
used. For #1, you need to add the section to hgweb.config; for #2, you
need to add to the repo's .hgrc file.
I suggest something like this:
[web]
motd = <p>To download these repositories, <a href="http://www.selenic.com/mercurial">get Mercurial</a> and then type something like:</p><p><pre>hg clone http://gs3080.sp.cs.cmu.edu/hg.cgi/cpmpy</pre></p>You can also click the Download links to get an archive of the latest revision.
An online sample is available here:
http://gs3080.sp.cs.cmu.edu/hg.cgi
Vadim Gelfer <vadim.gelfer@gmail.com> [Thu, 27 Apr 2006 22:10:45 -0700] rev 2147
merge with crew.
Vadim Gelfer <vadim.gelfer@gmail.com> [Thu, 27 Apr 2006 22:01:57 -0700] rev 2146
run-tests.py: remove trailing white space
Vadim Gelfer <vadim.gelfer@gmail.com> [Thu, 27 Apr 2006 22:01:28 -0700] rev 2145
make indentation of coverage code in run-tests.py nicer.
Stephen Darnell <stephen@darnell.plus.com> [Thu, 27 Apr 2006 21:59:44 -0700] rev 2144
Add code coverage to the python version of run-tests (inc. annotation)
Also include a minor work-around to coverage.py to avoid errors about /<string>
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 27 Apr 2006 21:58:47 +0200] rev 2143
Show repo's revlog format on verify. Warn if some files use a different format.
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 27 Apr 2006 21:16:46 +0200] rev 2142
Replaced 0 with REVLOGV0 where this meaning is used.
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 27 Apr 2006 21:03:07 +0200] rev 2141
Corrected error message for incompatible revision flags.
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 27 Apr 2006 13:11:23 +0200] rev 2140
Make the deprecated forget an alias of debugforget.
This way it doesn't show up in the non-debug help.
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 27 Apr 2006 13:05:02 +0200] rev 2139
Fixed test output for not using the deprecated 'hg forget'.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Wed, 26 Apr 2006 22:42:07 -0700] rev 2138
Fix revlog-ng interaction with old-http.
revlog.py wasn't trying to detect the version of a revlog file that
doesn't exist on the filesystem (as is the case with old-http).
Additionally, there was an off-by-one error in httprangereader.read
(ranges in HTTP Range headers are inclusive), making it get more data
than what was asked for. This made a struct.unpack complain that
"unpack str size does not match format".
Finally, with the two fixes above, test-static-http fails, since
BaseHTTPServer doesn't understand ranges and returns too much data.
Work around that by reading only the specified amount.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Wed, 26 Apr 2006 22:15:01 -0700] rev 2137
Fix timezone check.
According to http://en.wikipedia.org/wiki/List_of_time_zones
timezones go from UTC-12 to UTC+14.
Vadim Gelfer <vadim.gelfer@gmail.com> [Wed, 26 Apr 2006 12:06:21 -0700] rev 2136
mke test-nested-repo use "revert" instead of "forget"
Vadim Gelfer <vadim.gelfer@gmail.com> [Wed, 26 Apr 2006 12:05:16 -0700] rev 2135
mark forget command as deprecated.
will be removed after 0.9 released.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Wed, 26 Apr 2006 10:57:40 -0700] rev 2134
write to stderr with a single write call.
this works around issue88.
Stephen Darnell <stephen@darnell.plus.com> [Wed, 26 Apr 2006 16:54:07 +0200] rev 2133
Tidyups for run-tests.py inc. try/finally cleanup and allow tests to be specified on command line
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 26 Apr 2006 07:31:04 +0200] rev 2132
hgweb: Synchronised filelogentry to changelogentry.
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 26 Apr 2006 07:03:10 +0200] rev 2131
Try harder to display node hashes in tags view in monospaced font.
Used to work around Firefox's behaviour if "Allow pages to choose their
own fonts" is disabled.
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 26 Apr 2006 06:12:42 +0200] rev 2130
hgweb templates: Don't word wrap "foo bar ago" (e.g. "3 months\nago")
This made log entries or hgwebdir index look ugly with certain browser widths.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Tue, 25 Apr 2006 23:28:40 +0200] rev 2129
cached data was wrong: rev is different from self.rev(node) in bundlerepo.py
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 25 Apr 2006 19:38:45 +0200] rev 2128
Merge with crew
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 25 Apr 2006 19:38:19 +0200] rev 2127
Allow 'hg serve --webdir-conf foo' to be run outside a repository.
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 25 Apr 2006 18:50:40 +0200] rev 2126
Use <link> tag instead if CDATA import for CSS stylesheets. Fixes issue200.
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 25 Apr 2006 09:00:09 +0200] rev 2125
Use string literal concatenation for optlist and import -p option
Alexander Schremmer <alex AT alexanderweb DOT de> [Tue, 25 Apr 2006 00:43:40 +0200] rev 2124
Cleaned trailing whitespace in hgweb.py, removed command line shortcut for webdir-conf.
Alexander Schremmer <alex AT alexanderweb DOT de> [Sun, 23 Apr 2006 00:34:07 +0200] rev 2123
Fixed path handling of the standalone server, fixed typo.
Alexander Schremmer <alex AT alexanderweb DOT de> [Sun, 23 Apr 2006 00:31:09 +0200] rev 2122
Added hgwebdir support to hg serve.
Alexander Schremmer <alex AT alexanderweb DOT de> [Sun, 23 Apr 2006 00:27:46 +0200] rev 2121
Added threading support to hg serve.
Alexander Schremmer <alex AT alexanderweb DOT de> [Sun, 23 Apr 2006 00:18:58 +0200] rev 2120
Added my name to the contributors list.
Alexander Schremmer <alex AT alexanderweb DOT de> [Sun, 23 Apr 2006 00:15:30 +0200] rev 2119
Cleaned hgweb.py a little bit
Vadim Gelfer <vadim.gelfer@gmail.com> [Tue, 25 Apr 2006 08:38:15 -0700] rev 2118
merge with crew.
Vadim Gelfer <vadim.gelfer@gmail.com> [Tue, 25 Apr 2006 08:37:05 -0700] rev 2117
fix issue 217.
fall back to fixed path if windows >= nt function not present.
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 22 Apr 2006 09:19:27 +0200] rev 2116
Merge with upstream
Jim Meyering <list+hg@meyering.net> [Fri, 21 Apr 2006 16:09:43 -0700] rev 2115
Fix issue 165: `hg status' with abs path containing a symlink-to-dir fails
Vadim Gelfer <vadim.gelfer@gmail.com> [Fri, 21 Apr 2006 15:47:27 -0700] rev 2114
update tests after changing archival code.
test-archive now contains tests for archive command.
Vadim Gelfer <vadim.gelfer@gmail.com> [Fri, 21 Apr 2006 15:28:50 -0700] rev 2113
make hgweb use new archival module.
also use "x-gzip" encoding for ".tar.gz" files, so mozilla and firefox
will not transparently decompress stream and save with wrong name.
Vadim Gelfer <vadim.gelfer@gmail.com> [Fri, 21 Apr 2006 15:27:57 -0700] rev 2112
add "archive" command, like "cvs export" only better.
most code in mercurial/archival.py module, for sharing with hgweb.
Matt Mackall <mpm@selenic.com> [Fri, 21 Apr 2006 16:30:49 -0500] rev 2111
Merge with crew
Stephen Darnell <stephen@darnell.plus.com> [Fri, 21 Apr 2006 18:47:55 +0200] rev 2110
Add a pure python version of run-tests.
If this works well for most people, it should replace the shell version
of run-test.
Matt Mackall <mpm@selenic.com> [Fri, 21 Apr 2006 16:30:23 -0500] rev 2109
Revert push new heads logic
This breaks push -r's new head detection but fixes the common case.
For now we'll assume that someone doing push -r knows what they're doing.
Matt Mackall <mpm@selenic.com> [Fri, 21 Apr 2006 15:33:51 -0500] rev 2108
Move empty local repo logic for pull into findincoming
This fixes a silly attempt to pull a changegroup from an empty repo.
Matt Mackall <mpm@selenic.com> [Fri, 21 Apr 2006 15:14:27 -0500] rev 2107
Don't die calling outgoing hook if we have no changesets
Matt Mackall <mpm@selenic.com> [Thu, 20 Apr 2006 12:13:54 -0500] rev 2106
Merge with crew
Matt Mackall <mpm@selenic.com> [Thu, 20 Apr 2006 12:12:03 -0500] rev 2105
Merge with cmason
Andrew Thompson <andrewkt@aktzero.com> [Thu, 20 Apr 2006 16:33:49 +0200] rev 2104
Add tests/test-committer
This checks to see if the EMAIL environment variable is being used for commit.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 20 Apr 2006 15:42:02 +0200] rev 2103
Use application/octet-stream as the content-type of unknown binary files
Vadim Gelfer <vadim.gelfer@gmail.com> [Wed, 19 Apr 2006 22:18:03 -0700] rev 2102
remove appendfile data as soon as not needed.
Chris Mason <mason@suse.com> [Thu, 20 Apr 2006 13:08:16 -0400] rev 2101
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.
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 19 Apr 2006 21:39:51 +0200] rev 2100
Merge with crew
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 19 Apr 2006 21:37:43 +0200] rev 2099
Merge with cmason
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