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.
Vadim Gelfer <vadim.gelfer@gmail.com> [Thu, 13 Apr 2006 17:11:04 -0700] rev 2068
let run-tests run optional code coverage tests.
to enable, set env var TEST_COVERAGE to non-empty string. run-tests will
print report after running.
after coverage run, file tests/.coverage will contain coverage data. use
tests/coverage.py to get more info, like annotated source code.
Vadim Gelfer <vadim.gelfer@gmail.com> [Thu, 13 Apr 2006 17:06:57 -0700] rev 2067
fix bugs in coverage.py.
Vadim Gelfer <vadim.gelfer@gmail.com> [Thu, 13 Apr 2006 15:10:03 -0700] rev 2066
add coverage.py module to tests directory.
written by ned batchelder and gareth rees.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 14 Apr 2006 00:41:50 +0200] rev 2065
fix update when a locally added file match the target revision
the dirstate entry for the added file wasn't updated.
fix
issue207
Vadim Gelfer <vadim.gelfer@gmail.com> [Thu, 13 Apr 2006 13:46:56 -0700] rev 2064
util.unlink should only catch OSError.
Vadim Gelfer <vadim.gelfer@gmail.com> [Thu, 13 Apr 2006 13:46:05 -0700] rev 2063
benoit asked for comment to make avoid of recursive repo clearer.
Vadim Gelfer <vadim.gelfer@gmail.com> [Thu, 13 Apr 2006 12:44:40 -0700] rev 2062
merge with crew.
Vadim Gelfer <vadim.gelfer@gmail.com> [Fri, 31 Mar 2006 17:00:09 -0800] rev 2061
support nested repositories.
mercurial will not recurse into a subdirectory that contains a .hg
directory. it is treated as a separate repository.
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 12 Apr 2006 17:57:44 +0200] rev 2060
Don't use -u option for diff on SunOS, too.
This makes the tests work without using GNU diff on Solaris 8.
Sascha Wilde <wilde@sha-bang.de> [Wed, 12 Apr 2006 17:53:04 +0200] rev 2059
run-tests: Use appropriate (that is: none) diff options on HP-UX.
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 11 Apr 2006 12:44:13 +0200] rev 2058
Use the new format of setting tags in view extension (Debian bug #361897)
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 11 Apr 2006 08:42:07 +0200] rev 2057
Never exit directly from commands.dispatch(), but pass return code to caller.
Usually the caller is commands.run().
Some extensions still use sys.exit(), this is catched, too.
Fixed wrong return statement in commands.recover() yielding a zero exit code.
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 11 Apr 2006 07:08:16 +0200] rev 2056
Polished exception handling when importing extensions:
- Warning about failed import is printed on one line.
- For this warning the [extensions] section key is used, because the value
doesn't have to be set.
- Whan a --traceback is requested, exit immediately to not mix up problems
when importing an extension with other problems.
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 11 Apr 2006 06:34:27 +0200] rev 2055
Added doc/gendoc.py to MANIFEST.in, so docs can be regenerated on demand.
Vadim Gelfer <vadim.gelfer@gmail.com> [Sat, 08 Apr 2006 14:12:43 -0700] rev 2054
fix exception handling on windows.
move win32 code into util_win32.py.
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 08 Apr 2006 10:14:04 +0200] rev 2053
Include tests/md5sum.py in manifest.
Matt Mackall <mpm@selenic.com> [Fri, 07 Apr 2006 20:08:11 -0500] rev 2052
Radoslaw Szkodzinski <astralstorm@gorzow.mm.pl> [Fri, 07 Apr 2006 22:31:54 +0200] rev 2051
Try to use /usr/bin/test or /bin/test to work around missing features.
The builtin "test" of Solaris 8 /bin/sh doesn't understand -nt.
Vadim Gelfer <vadim.gelfer@gmail.com> [Wed, 05 Apr 2006 17:17:07 -0700] rev 2050
util.copyfiles: only switch to copy if hardlink raises IOError or OSError.
before this, interrupting clone would give "file a same as file b" error
because caught KeyboardInterrupt.
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 05 Apr 2006 19:07:50 +0200] rev 2049
Make completion for debugindex<tab><tab> show debugindexdot, too.
The special handling for commands with names that are substrings of other
commands (e.g. with st and strip) wasn't used with debug commands before.
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 05 Apr 2006 15:39:48 +0200] rev 2048
Set correct exception for another possible malloc error in mpatch.c
Edouard Gomez <ed.gomez@free.fr> [Tue, 04 Apr 2006 16:35:20 -0700] rev 2047
Register qversion as a non repository related command
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 04 Apr 2006 15:21:20 +0200] rev 2046
Show remote ssh noise only with --debug and increase the limit to 500 lines.
Messages can already be sent to the user over stderr, if one really wants this.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Mon, 03 Apr 2006 22:47:18 +0200] rev 2045
document the possible race in "hg undo"
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 03 Apr 2006 21:38:59 +0200] rev 2044
Don't allow --style and --template for hg update and hg merge.
The only way that changesets will be shown with these command is in an error
message when trying to update to an ambiguous branch name.
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 03 Apr 2006 21:01:33 +0200] rev 2043
Minor fix for revert: No need to make a backup when forgetting added files.
echo foo > foo && hg add foo && hg revert foo
creates foo.orig, though foo is not changed or deleted.
Vadim Gelfer <vadim.gelfer@gmail.com> [Mon, 03 Apr 2006 10:02:09 -0700] rev 2042
small changes to revert command.
fix bug 93: work with files that are in target manifest but not
dirstate.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Mon, 03 Apr 2006 14:56:00 +0200] rev 2041
bash_completion: completion for commands provided by extensions
Make the bash_completion function call _hg_cmd_$cmd to generate
completion candidates for $cmd if that function exists.
Add basic completion functions for:
- mq:
- qpop
- qpush
- qdelete
- qsave
- qcommit
- strip
- hbisect:
- bisect
- patchbomb:
- email
- gpg:
- sign
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 02 Apr 2006 22:12:56 +0200] rev 2040
Don't enter an endless loop if remote hg doesn't answer, show remote noise.
The endless loop is not only triggered if the remote shell is too noisy, but
even if the local ssh command dies due to an error.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Sun, 02 Apr 2006 18:20:52 +0200] rev 2039
bash_completion: small optimization
Right now we always call "hg help $cmd" to get the canonical name of $cmd
(i.e. to go from "co" to "update").
This patch optimistically assumes that $cmd is already the canonical form
and tries to generate completions for it. If that fails, it falls back
to canonicalizing $cmd and trying again.
This means that:
- if a command or alias is explicitly handled by the
_hg_command_specific function, things get somewhat faster
- as long as the canonical $cmd is handled by _hg_command_specific, all
its aliases and abbreviations are also handled.
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 02 Apr 2006 18:16:06 +0200] rev 2038
Tell the user the real "hg update -C" command, not just "-C" when aborting.
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 02 Apr 2006 08:19:41 +0200] rev 2037
Merged with crew.
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 01 Apr 2006 11:58:50 +0200] rev 2036
Don't abort when backup files already exist. Don't allow alternative names.
Rationale:
- When the user wants to revert, he shouldn't be stopped from doing
this just because some old backups will be overwritten.
- To not clobber important files by accident, alternative names for backup
files were disabled. As the backup target now has a fixed name, the user
doesn't have to be informed about the backup copy (unless --verbose)
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 01 Apr 2006 23:57:24 +0200] rev 2035
Make 'hg tags -q' only list tag names without revision numbers and hashes,
and change bash_completion to use this.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Sat, 01 Apr 2006 22:50:12 +0200] rev 2034
add --options to debugcomplete and change bash_completion to use it
make debugcomplete print one item per line (this is not needed for the
bash_completion script, but should be easier to use in other scripts)
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 01 Apr 2006 21:37:08 +0200] rev 2033
Group changes done by the same developer on the same with --style=changelog
Changeset and tags are appended to the change message for non-quiet and
non-verbose output, so grouping works.
Fixes last bit of
issue110.
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 01 Apr 2006 20:56:55 +0200] rev 2032
Don't print filenames in braces for changelog style.