Fri, 20 Aug 2010 00:17:50 +0200 revlog.revision(): remove debug code
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 20 Aug 2010 00:17:50 +0200] rev 11997
revlog.revision(): remove debug code
Fri, 20 Aug 2010 00:17:50 +0200 revlog.revision(): don't use nullrev as the default value for the cache
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 20 Aug 2010 00:17:50 +0200] rev 11996
revlog.revision(): don't use nullrev as the default value for the cache I is probably a bug if the deltachain computation think there was a cache hit at nullrev. Use None instead, this will never trigger a cache hit.
Fri, 20 Aug 2010 00:17:50 +0200 revlog.revision(): minor cleanup
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 20 Aug 2010 00:17:50 +0200] rev 11995
revlog.revision(): minor cleanup Rename some variables, making the name more obvious (in particular "cache" was actually two different variable. Move code around, moving the index preloading before the deltachain computation, without that index preloading was useless (everything was read in deltachain).
Thu, 19 Aug 2010 15:04:21 -0400 bookmarks: Check if the bookmark to delete exists on the remote stable
David Soria Parra <dsp@php.net> [Thu, 19 Aug 2010 15:04:21 -0400] rev 11994
bookmarks: Check if the bookmark to delete exists on the remote
Thu, 19 Aug 2010 23:13:20 +0200 Merge with stable
Patrick Mezard <pmezard@gmail.com> [Thu, 19 Aug 2010 23:13:20 +0200] rev 11993
Merge with stable
Thu, 19 Aug 2010 22:51:09 +0200 win32: remove useless lstat() fallback in nlinks() stable
Patrick Mezard <pmezard@gmail.com> [Thu, 19 Aug 2010 22:51:09 +0200] rev 11992
win32: remove useless lstat() fallback in nlinks() The fallback was introduced by 3b4f05ff3130 at the same time than nlinks(). Apparently it only handles the case where target path does not exist. Just raise IOError directly.
Thu, 19 Aug 2010 22:51:09 +0200 win32: correctly break hardlinks on network drives (issue761) stable
Patrick Mezard <pmezard@gmail.com> [Thu, 19 Aug 2010 22:51:09 +0200] rev 11991
win32: correctly break hardlinks on network drives (issue761) win32.nlinks() was often returning 1 instead of the correct hardlinks count when reading from network drives. This made commit or push to a repository on a network share to fail breaking the hardlinks in the datastore, possibly causing integrity errors in repositories linked locally on the remote side. Here is what the MSDN says about GetFileInformationByHandle(): Depending on the underlying network features of the operating system and the type of server connected to, the GetFileInformationByHandle function may fail, return partial information, or full information for the given file. In practice, we never got the correct hardlinks count when reading from and to many combinations of Window XP, 2003, Vista and 7, via network drives or RDP shares. It always returned 1 instead. The only setup returning an accurate links count was a samba on Debian. To avoid this, Mercurial now breaks the hardlinks unconditionally when writing to a network drive.
Thu, 19 Aug 2010 11:51:30 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 19 Aug 2010 11:51:30 -0500] rev 11990
merge with stable
Wed, 18 Aug 2010 18:56:44 -0400 aliases: provide more flexible ways to work with shell alias arguments
Steve Losh <steve@stevelosh.com> [Wed, 18 Aug 2010 18:56:44 -0400] rev 11989
aliases: provide more flexible ways to work with shell alias arguments This patch changes the functionality of shell aliases to add more powerful options for working with shell alias arguments. First: the alias name + arguments to a shell alias are set as an HG_ARGS environment variable, delimited by spaces. This matches the behavior of hooks. Second: any occurrences of "$@" (without quotes) are replaced with the arguments, separated by spaces. This happens *before* the alias gets to the shell. Third: any positive numeric variables ("$1", "$2", etc) are replaced with the appropriate argument, indexed from 1. "$0" is replaced with the name of the alias. Any "extra" numeric variables are replaced with an empty string. This happens *before* the alias gets to the shell. These changes allow for more flexible shell aliases: [alias] echo = !echo $@ count = !hg log -r "$@" --template='.' | wc -c | sed -e 's/ //g' qqueuemv = !mv "`hg root`/.hg/patches-$1" "`hg root`/.hg/patches-$2" In action: $ hg echo foo foo $ hg count 'branch(default)' 901 $ hg count 'branch(stable) and keyword(fixes)' 102 $ hg qqueuemv myfeature somefeature
Wed, 18 Aug 2010 18:18:26 -0400 util: add an interpolate() function to for replacing multiple values
Steve Losh <steve@stevelosh.com> [Wed, 18 Aug 2010 18:18:26 -0400] rev 11988
util: add an interpolate() function to for replacing multiple values util.interpolate can be used to replace multiple items in a string all at once (and optionally apply a function to the replacement), without worrying about recursing: >>> import util >>> s = '$foo, $spam' >>> util.interpolate(r'\$', { 'foo': 'bar', 'spam': 'eggs' }, s) 'bar, eggs' >>> util.interpolate(r'\$', { 'foo': 'spam', 'spam': 'foo' }, s) 'spam, foo' >>> util.interpolate(r'\$', { 'foo': 'spam', 'spam': 'foo' }, s, lambda s: s.upper()) 'SPAM, FOO' The patch also changes filemerge.py to use this new function.
(0) -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 +30000 tip