# HG changeset patch # User Martin Geisler # Date 1266359326 -3600 # Node ID 3232dba5d521db6d0836c79ddd3fd5068f1d6c4f # Parent 7a6b5f85c3ab9561a447bb02ada7eda53263cb94# Parent 93b5a957294cb13647ead3077cd7eab18b209358 Merge with i18n diff -r 93b5a957294c -r 3232dba5d521 contrib/mergetools.hgrc --- a/contrib/mergetools.hgrc Tue Feb 16 22:01:27 2010 +0100 +++ b/contrib/mergetools.hgrc Tue Feb 16 23:28:46 2010 +0100 @@ -18,6 +18,7 @@ gpyfm.gui=True meld.gui=True +meld.args=--label='local' $local --label='base' $base --label='other' $other tkdiff.args=$local $other -a $base -o $output tkdiff.gui=True @@ -27,7 +28,10 @@ xxdiff.gui=True xxdiff.priority=-8 -diffmerge.args=--nosplash --merge --title1=base --title2=local --title3=other $base $local $other +diffmerge.regkey=Software\SourceGear\SourceGear DiffMerge\ +diffmerge.regname=Location +diffmerge.priority=-7 +diffmerge.args=-nosplash -merge -title1=local -title2=merged -title3=other $local $base $other -result=$output diffmerge.checkchanged=True diffmerge.gui=True @@ -42,6 +46,7 @@ tortoisemerge.regkey=Software\TortoiseSVN tortoisemerge.checkchanged=True tortoisemerge.gui=True +tortoisemerge.priority=-8 ecmerge.args=$base $local $other --mode=merge3 --title0=base --title1=local --title2=other --to=$output ecmerge.regkey=Software\Elli\xc3\xa9 Computing\Merge @@ -51,13 +56,31 @@ filemerge.args=-left $other -right $local -ancestor $base -merge $output filemerge.gui=True +; Windows version of Beyond Compare beyondcompare3.args=$local $other $base $output /ro /lefttitle=local /centertitle=base /righttitle=other /automerge /reviewconflicts /solo beyondcompare3.regkey=Software\Scooter Software\Beyond Compare 3 beyondcompare3.regname=ExePath beyondcompare3.gui=True +beyondcompare3.priority=-2 -winmerge.args=/e /u /dl local /dr other /wr $local $other $output +; Linux version of Beyond Compare +bcompare.args=$local $other $base -mergeoutput=$output -ro -lefttitle=parent1 -centertitle=base -righttitle=parent2 -outputtitle=merged -automerge -reviewconflicts -solo +bcompare.premerge=False +bcompare.gui=True +bcompare.priority=-1 + +winmerge.args=/e /x /wl /ub /dl other /dr local $other $local $output winmerge.regkey=Software\Thingamahoochie\WinMerge winmerge.regname=Executable winmerge.checkchanged=True winmerge.gui=True +winmerge.priority=-10 + +araxis.regkey=SOFTWARE\Classes\TypeLib\{46799e0a-7bd1-4330-911c-9660bb964ea2}\7.0\HELPDIR +araxis.regappend=\ConsoleCompare.exe +araxis.priority=-2 +araxis.args=/3 /a2 /wait /merge /title1:"Other" /title2:"Base" /title3:"Local :"$local $other $base $local $output +araxis.premerge=False +araxis.checkconflict=True +araxis.binary=True +araxis.gui=True diff -r 93b5a957294c -r 3232dba5d521 doc/hgrc.5.txt --- a/doc/hgrc.5.txt Tue Feb 16 22:01:27 2010 +0100 +++ b/doc/hgrc.5.txt Tue Feb 16 23:28:46 2010 +0100 @@ -431,7 +431,8 @@ The priority in which to evaluate this tool. Default: 0. ``executable`` - Either just the name of the executable or its pathname. + Either just the name of the executable or its pathname. On Windows, + the path can use environment variables with ${ProgramFiles} syntax. Default: the tool name. ``args`` The arguments to pass to the tool executable. You can refer to the diff -r 93b5a957294c -r 3232dba5d521 mercurial/url.py --- a/mercurial/url.py Tue Feb 16 22:01:27 2010 +0100 +++ b/mercurial/url.py Tue Feb 16 23:28:46 2010 +0100 @@ -51,10 +51,11 @@ else: hostport = host if user: + quote = lambda s: urllib.quote(s, safe='') if passwd: - userpass = urllib.quote(user) + ':' + urllib.quote(passwd) + userpass = quote(user) + ':' + quote(passwd) else: - userpass = urllib.quote(user) + userpass = quote(user) return userpass + '@' + hostport return hostport diff -r 93b5a957294c -r 3232dba5d521 mercurial/util.py --- a/mercurial/util.py Tue Feb 16 22:01:27 2010 +0100 +++ b/mercurial/util.py Tue Feb 16 23:28:46 2010 +0100 @@ -1343,14 +1343,17 @@ if prevhandler is not None: signal.signal(signal.SIGCHLD, prevhandler) -def any(iterable): - for i in iterable: - if i: - return True - return False +try: + any, all = any, all +except NameError: + def any(iterable): + for i in iterable: + if i: + return True + return False -def all(iterable): - for i in iterable: - if not i: - return False - return True + def all(iterable): + for i in iterable: + if not i: + return False + return True