Hello community, here is the log from the commit of package mercurial for openSUSE:Factory checked in at Mon Mar 28 11:05:23 CEST 2011.
-------- --- mercurial/mercurial.changes 2011-03-09 12:57:11.000000000 +0100 +++ /mounts/work_src_done/STABLE/mercurial/mercurial.changes 2011-03-25 13:42:22.000000000 +0100 @@ -1,0 +2,21 @@ +Fri Mar 25 12:37:39 UTC 2011 - [email protected] + +- update to version 1.8.1 + * annotate: rewrite to deal with crossed linkrevs (issue2682) + * bookmark: fix invalidation of localrepo._bookmarkcurrent + * cacert: improve error report when web.cacert file does not exist + * contrib: update tcsh_completion for Mercurial 1.8 + * hgcia: accept "queued." xmlrpc return as success + * hgweb: fix filelog rss links generation + * hgweb: use tip in gitweb/monoblue filelog rss links (issue2677) + * merge: back out single-parent fast-forward merge + * merge: drop resolve state for mergers with identical contents (issue2680) + * merge: improve unresolved conflicts warning (issue2681) + * mergetools: add alternate registry keys for 32bit apps on 64bit O/S + * mq: forbid commit of merge involving mq patches + * subrepo: backout 67fbe566eff1, --force requires svn >= 1.5 + * subrepo: don't crash when git repo is missing + * subrepo: handle svn tracked/unknown directory collisions + * wix: drop bin/ folder from MSI installers (issue2673) + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- _service:recompress:download_url:mercurial-1.8.tar.bz2 New: ---- _service:recompress:download_url:mercurial-1.8.1.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mercurial.spec ++++++ --- /var/tmp/diff_new_pack.pnO1Wg/_old 2011-03-28 10:54:27.000000000 +0200 +++ /var/tmp/diff_new_pack.pnO1Wg/_new 2011-03-28 10:54:27.000000000 +0200 @@ -15,7 +15,6 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} @@ -28,21 +27,12 @@ %endif Name: mercurial -BuildRequires: gcc python-devel python-xml -%if 0%{?with_doc} -BuildRequires: asciidoc docutils sgml-skel xmlto -%endif -BuildRequires: perl -%if 0%{?suse_version} > 1020 -BuildRequires: fdupes -%endif Summary: Scalable Distributed SCM -Version: 1.8 +Version: 1.8.1 Release: 1 License: GPLv2+ Group: Development/Tools/Version Control -BuildRoot: %{_tmppath}/%{name}-%{version}-build -Url: http://www.selenic.com/mercurial/ +Url: http://mercurial.selenic.com/ # http://mercurial.selenic.com/release/mercurial-%{version}.tar.gz Source: %{name}-%{version}.tar.bz2 Source1: cacerts.rc @@ -50,6 +40,15 @@ Patch: mercurial-hgk-path-fix.diff Patch1: mercurial-sle10-inotify-fixes.diff Patch2: mercurial-docutils-compat.diff +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: gcc python-devel python-xml +%if 0%{?with_doc} +BuildRequires: asciidoc docutils sgml-skel xmlto +%endif +BuildRequires: perl +%if 0%{?suse_version} > 1020 +BuildRequires: fdupes +%endif # hgext/hgcia needs python-xml Requires: python-xml # require rcs for 3-way "merge" command. ++++++ _service ++++++ --- /var/tmp/diff_new_pack.pnO1Wg/_old 2011-03-28 10:54:27.000000000 +0200 +++ /var/tmp/diff_new_pack.pnO1Wg/_new 2011-03-28 10:54:27.000000000 +0200 @@ -1,4 +1,11 @@ <services> - <service name="download_url"><param name="path">/release/mercurial-1.8.tar.gz</param><param name="host">mercurial.selenic.com</param></service> - <service name="recompress"><param name="file">_service:download_url:mercurial-1.8.tar.gz</param><param name="compression">bz2</param></service> + <service name="download_url"> + <param name="protocol">http</param> + <param name="host">mercurial.selenic.com</param> + <param name="path">/release/mercurial-1.8.1.tar.gz</param> + </service> + <service name="recompress"> + <param name="file">_service:download_url:mercurial-1.8.1.tar.gz</param> + <param name="compression">bz2</param> + </service> </services> ++++++ _service:recompress:download_url:mercurial-1.8.tar.bz2 -> _service:recompress:download_url:mercurial-1.8.1.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/.hgsigs new/mercurial-1.8.1/.hgsigs --- old/mercurial-1.8/.hgsigs 2011-03-01 23:01:38.000000000 +0100 +++ new/mercurial-1.8.1/.hgsigs 2011-03-10 18:30:38.000000000 +0100 @@ -34,3 +34,4 @@ e3bf16703e2601de99e563cdb3a5d50b64e6d320 0 iD8DBQBNH8WqywK+sNU5EO8RAiQTAJ9sBO+TeiGro4si77VVaQaA6jcRUgCfSA28dBbjj0oFoQwvPoZjANiZBH8= a6c855c32ea081da3c3b8ff628f1847ff271482f 0 iD8DBQBNSJJ+ywK+sNU5EO8RAoJaAKCweDEF70fu+r1Zn7pYDXdlk5RuSgCeO9gK/eit8Lin/1n3pO7aYguFLok= 2b2155623ee2559caf288fd333f30475966c4525 0 iD8DBQBNSJeBywK+sNU5EO8RAm1KAJ4hW9Cm9nHaaGJguchBaPLlAr+O3wCgqgmMok8bdAS06N6PL60PSTM//Gg= +2616325766e3504c8ae7c84bd15ee610901fe91d 0 iD8DBQBNbWy9ywK+sNU5EO8RAlWCAJ4mW8HbzjJj9GpK98muX7k+7EvEHwCfaTLbC/DH3QEsZBhEP+M8tzL6RU4= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/.hgtags new/mercurial-1.8.1/.hgtags --- old/mercurial-1.8/.hgtags 2011-03-01 23:01:38.000000000 +0100 +++ new/mercurial-1.8.1/.hgtags 2011-03-10 18:30:38.000000000 +0100 @@ -46,3 +46,4 @@ e3bf16703e2601de99e563cdb3a5d50b64e6d320 1.7.3 a6c855c32ea081da3c3b8ff628f1847ff271482f 1.7.4 2b2155623ee2559caf288fd333f30475966c4525 1.7.5 +2616325766e3504c8ae7c84bd15ee610901fe91d 1.8 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/PKG-INFO new/mercurial-1.8.1/PKG-INFO --- old/mercurial-1.8/PKG-INFO 2011-03-01 23:01:50.000000000 +0100 +++ new/mercurial-1.8.1/PKG-INFO 2011-03-10 18:30:49.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.0 Name: mercurial -Version: 1.8 +Version: 1.8.1 Summary: Scalable distributed SCM Home-page: http://mercurial.selenic.com/ Author: Matt Mackall diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/contrib/mergetools.hgrc new/mercurial-1.8.1/contrib/mergetools.hgrc --- old/mercurial-1.8/contrib/mergetools.hgrc 2011-03-01 23:01:28.000000000 +0100 +++ new/mercurial-1.8.1/contrib/mergetools.hgrc 2011-03-10 18:30:30.000000000 +0100 @@ -3,6 +3,7 @@ [merge-tools] kdiff3.args=--auto --L1 base --L2 local --L3 other $base $local $other -o $output kdiff3.regkey=Software\KDiff3 +kdiff3.regkeyalt=Software\Wow6432Node\KDiff3 kdiff3.regappend=\kdiff3.exe kdiff3.fixeol=True kdiff3.gui=True @@ -10,6 +11,7 @@ gvimdiff.args=--nofork -d -g -O $local $other $base gvimdiff.regkey=Software\Vim\GVim +gvimdiff.regkeyalt=Software\Wow6432Node\Vim\GVim gvimdiff.regname=path gvimdiff.priority=-9 @@ -36,6 +38,7 @@ xxdiff.diffargs=--title1 '$plabel1' $parent --title2 '$clabel' $child diffmerge.regkey=Software\SourceGear\SourceGear DiffMerge\ +diffmerge.regkeyalt=Software\Wow6432Node\SourceGear\SourceGear DiffMerge\ diffmerge.regname=Location diffmerge.priority=-7 diffmerge.args=-nosplash -merge -title1=local -title2=merged -title3=other $local $base $other -result=$output @@ -45,6 +48,7 @@ p4merge.args=$base $local $other $output p4merge.regkey=Software\Perforce\Environment +p4merge.regkeyalt=Software\Wow6432Node\Perforce\Environment p4merge.regname=P4INSTROOT p4merge.regappend=\p4merge.exe p4merge.gui=True @@ -53,6 +57,7 @@ tortoisemerge.args=/base:$base /mine:$local /theirs:$other /merged:$output tortoisemerge.regkey=Software\TortoiseSVN +tortoisemerge.regkeyalt=Software\Wow6432Node\TortoiseSVN tortoisemerge.checkchanged=True tortoisemerge.gui=True tortoisemerge.priority=-8 @@ -60,6 +65,7 @@ ecmerge.args=$base $local $other --mode=merge3 --title0=base --title1=local --title2=other --to=$output ecmerge.regkey=Software\Elli\xc3\xa9 Computing\Merge +ecmerge.regkeyalt=Software\Wow6432Node\Elli\xc3\xa9 Computing\Merge ecmerge.gui=True ecmerge.diffargs=$parent $child --mode=diff2 --title1='$plabel1' --title2='$clabel' @@ -84,6 +90,7 @@ winmerge.args=/e /x /wl /ub /dl other /dr local $other $local $output winmerge.regkey=Software\Thingamahoochie\WinMerge +winmerge.regkeyalt=Software\Wow6432Node\Thingamahoochie\WinMerge\ winmerge.regname=Executable winmerge.checkchanged=True winmerge.gui=True @@ -106,6 +113,7 @@ diffuse.diffargs=$parent $child UltraCompare.regkey=Software\Microsoft\Windows\CurrentVersion\App Paths\UC.exe +UltraCompare.regkeyalt=Software\Wow6432Node\Microsoft\Windows\CurrentVersion\App Paths\UC.exe UltraCompare.args = $base $local $other -title1 base -title3 other UltraCompare.priority = -2 UltraCompare.gui = True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/contrib/wix/guids.wxi new/mercurial-1.8.1/contrib/wix/guids.wxi --- old/mercurial-1.8/contrib/wix/guids.wxi 2011-03-01 23:01:28.000000000 +0100 +++ new/mercurial-1.8.1/contrib/wix/guids.wxi 2011-03-10 18:30:30.000000000 +0100 @@ -47,6 +47,5 @@ <?define paths.rc.guid = {F9ADF21D-5F0B-4934-8CD9-14BE63664721} ?> <?define cacert.pem.guid = {EC1B2630-FE21-46E6-915B-A6545AF703D4} ?> <?define ProgramMenuDir.guid = {D5A63320-1238-489B-B68B-CF053E9577CA} ?> - <?define hgcmd.guid = {65CCC756-E72E-4C5F-901E-D575EDC80DB3} ?> </Include> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/contrib/wix/mercurial.wxs new/mercurial-1.8.1/contrib/wix/mercurial.wxs --- old/mercurial-1.8/contrib/wix/mercurial.wxs 2011-03-01 23:01:28.000000000 +0100 +++ new/mercurial-1.8.1/contrib/wix/mercurial.wxs 2011-03-10 18:30:30.000000000 +0100 @@ -62,7 +62,7 @@ <Component Id='MainExecutable' Guid='$(var.ComponentMainExecutableGUID)' Win64='$(var.IsX64)'> <File Id='hgEXE' Name='hg.exe' Source='dist\hg.exe' KeyPath='yes' /> <Environment Id="Environment" Name="PATH" Part="last" System="yes" - Permanent="no" Value="[INSTALLDIR]bin" Action="set" /> + Permanent="no" Value="[INSTALLDIR]" Action="set" /> </Component> <Component Id='ReadMe' Guid='$(var.ReadMe.guid)' Win64='$(var.IsX64)'> <File Id='ReadMe' Name='ReadMe.html' Source='contrib\win32\ReadMe.html' @@ -93,11 +93,6 @@ </Component> </Directory> - <Directory Id='binFolder' Name='bin'> - <Component Id='HgCmd' Guid='$(var.hgcmd.guid)' Win64='$(var.IsX64)'> - <File Id='Hg.Cmd' Name='hg.cmd' KeyPath='yes' Source='contrib\wix\hg.cmd' /> - </Component> - </Directory> </Directory> </Directory> @@ -140,7 +135,6 @@ <ComponentRef Id='paths.rc' /> <ComponentRef Id='cacert.pem' /> <ComponentRef Id='helpFolder' /> - <ComponentRef Id='HgCmd' /> <ComponentGroupRef Id='templatesFolder' /> <MergeRef Id='VCRuntime' /> <MergeRef Id='VCRuntimePolicy' /> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/doc/hgrc.5 new/mercurial-1.8.1/doc/hgrc.5 --- old/mercurial-1.8/doc/hgrc.5 2011-03-01 23:01:43.000000000 +0100 +++ new/mercurial-1.8.1/doc/hgrc.5 2011-03-10 18:30:43.000000000 +0100 @@ -732,6 +732,14 @@ \fBHKEY_CURRENT_USER\fP and then under \fBHKEY_LOCAL_MACHINE\fP. Default: None .TP +.B \fBregkeyalt\fP +.sp +An alternate Windows registry key to try if the first key is not +found. The alternate key uses the same \fBregname\fP and \fBregappend\fP +semantics of the primary key. The most common use for this key +is to search for 32bit applications on 64bit operating systems. +Default: None +.TP .B \fBregname\fP .sp Name of value to read from specified registry key. Defaults to the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/doc/hgrc.5.html new/mercurial-1.8.1/doc/hgrc.5.html --- old/mercurial-1.8/doc/hgrc.5.html 2011-03-01 23:01:48.000000000 +0100 +++ new/mercurial-1.8.1/doc/hgrc.5.html 2011-03-10 18:30:48.000000000 +0100 @@ -576,6 +576,12 @@ tool. Mercurial will search for this key first under <tt class="docutils literal">HKEY_CURRENT_USER</tt> and then under <tt class="docutils literal">HKEY_LOCAL_MACHINE</tt>. Default: None</dd> +<dt><tt class="docutils literal">regkeyalt</tt></dt> +<dd>An alternate Windows registry key to try if the first key is not +found. The alternate key uses the same <tt class="docutils literal">regname</tt> and <tt class="docutils literal">regappend</tt> +semantics of the primary key. The most common use for this key +is to search for 32bit applications on 64bit operating systems. +Default: None</dd> <dt><tt class="docutils literal">regname</tt></dt> <dd>Name of value to read from specified registry key. Defaults to the unnamed (default) value.</dd> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/doc/hgrc.5.txt new/mercurial-1.8.1/doc/hgrc.5.txt --- old/mercurial-1.8/doc/hgrc.5.txt 2011-03-01 23:01:28.000000000 +0100 +++ new/mercurial-1.8.1/doc/hgrc.5.txt 2011-03-10 18:30:30.000000000 +0100 @@ -556,6 +556,12 @@ tool. Mercurial will search for this key first under ``HKEY_CURRENT_USER`` and then under ``HKEY_LOCAL_MACHINE``. Default: None +``regkeyalt`` + An alternate Windows registry key to try if the first key is not + found. The alternate key uses the same ``regname`` and ``regappend`` + semantics of the primary key. The most common use for this key + is to search for 32bit applications on 64bit operating systems. + Default: None ``regname`` Name of value to read from specified registry key. Defaults to the unnamed (default) value. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/hgext/hgcia.py new/mercurial-1.8.1/hgext/hgcia.py --- old/mercurial-1.8/hgext/hgcia.py 2011-03-01 23:01:28.000000000 +0100 +++ new/mercurial-1.8.1/hgext/hgcia.py 2011-03-10 18:30:30.000000000 +0100 @@ -198,7 +198,7 @@ def sendrpc(self, msg): srv = xmlrpclib.Server(self.ciaurl) res = srv.hub.deliver(msg) - if res is not True: + if res is not True and res != 'queued.': raise util.Abort(_('%s returned an error: %s') % (self.ciaurl, res)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/hgext/mq.py new/mercurial-1.8.1/hgext/mq.py --- old/mercurial-1.8/hgext/mq.py 2011-03-01 23:01:28.000000000 +0100 +++ new/mercurial-1.8.1/hgext/mq.py 2011-03-10 18:30:30.000000000 +0100 @@ -2921,8 +2921,9 @@ def abort_if_wdir_patched(self, errmsg, force=False): if self.mq.applied and not force: - parent = self.dirstate.parents()[0] - if parent in [s.node for s in self.mq.applied]: + parents = self.dirstate.parents() + patches = [s.node for s in self.mq.applied] + if parents[0] in patches or parents[1] in patches: raise util.Abort(errmsg) def commit(self, text="", user=None, date=None, match=None, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/i18n/de.po new/mercurial-1.8.1/i18n/de.po --- old/mercurial-1.8/i18n/de.po 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/i18n/de.po 2011-03-10 18:30:30.000000000 +0100 @@ -11774,7 +11774,7 @@ msgstr "" msgid "show only branches that have unmerged heads" -msgstr "Zeigt nur Branches mit mehreren Köpfen" +msgstr "Zeigt nur Branches deren Köpfe nicht zusammengeführt wurden" msgid "show normal and closed branches" msgstr "Zeigt normale und geschlossene Branches" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/i18n/pt_BR.po new/mercurial-1.8.1/i18n/pt_BR.po --- old/mercurial-1.8/i18n/pt_BR.po 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/i18n/pt_BR.po 2011-03-10 18:30:30.000000000 +0100 @@ -14975,8 +14975,8 @@ msgid "file not tracked!" msgstr "arquivo não rastreado!" -msgid "unresolved merge conflicts (see hg resolve)" -msgstr "conflitos de mesclagem não resolvidos (veja hg resolve)" +msgid "unresolved merge conflicts (see hg help resolve)" +msgstr "conflitos de mesclagem não resolvidos (veja hg help resolve)" #, python-format msgid "committing subrepository %s\n" @@ -16022,6 +16022,10 @@ msgstr "obtenha um ramo do git se você pretender fazer mudanças\n" #, python-format +msgid "subrepo %s is missing" +msgstr "o sub-repositório %s está faltando" + +#, python-format msgid "unrelated git branch checked out in subrepo %s\n" msgstr "ramo do git não relacionado obtido no sub-repositório %s\n" @@ -16191,6 +16195,10 @@ msgstr "nenhum commonName ou subjectAltName encontrado no certificado" #, python-format +msgid "could not find web.cacerts: %s" +msgstr "não foi possível encontrar web.cacerts: %s" + +#, python-format msgid "%s certificate error: %s (use --insecure to connect insecurely)" msgstr "erro no certificado de %s: %s (use --insecure para conectar de modo inseguro)" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/mercurial/__version__.py new/mercurial-1.8.1/mercurial/__version__.py --- old/mercurial-1.8/mercurial/__version__.py 2011-03-01 23:01:49.000000000 +0100 +++ new/mercurial-1.8.1/mercurial/__version__.py 2011-03-10 18:30:49.000000000 +0100 @@ -1,2 +1,2 @@ # this file is autogenerated by setup.py -version = "1.8" +version = "1.8.1" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/mercurial/cmdutil.py new/mercurial-1.8.1/mercurial/cmdutil.py --- old/mercurial-1.8/mercurial/cmdutil.py 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/mercurial/cmdutil.py 2011-03-10 18:30:31.000000000 +0100 @@ -261,6 +261,8 @@ return ret def match(repo, pats=[], opts={}, globbed=False, default='relpath'): + if pats == ("",): + pats = [] if not globbed and default == 'relpath': pats = expandpats(pats or []) m = matchmod.match(repo.root, repo.getcwd(), pats, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/mercurial/context.py new/mercurial-1.8.1/mercurial/context.py --- old/mercurial-1.8/mercurial/context.py 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/mercurial/context.py 2011-03-10 18:30:31.000000000 +0100 @@ -466,39 +466,40 @@ else: base = self - # find all ancestors - needed = {base: 1} + # This algorithm would prefer to be recursive, but Python is a + # bit recursion-hostile. Instead we do an iterative + # depth-first search. + visit = [base] - files = [base._path] + hist = {} + pcache = {} + needed = {base: 1} while visit: - f = visit.pop(0) - for p in parents(f): - if p not in needed: - needed[p] = 1 + f = visit[-1] + if f not in pcache: + pcache[f] = parents(f) + + ready = True + pl = pcache[f] + for p in pl: + if p not in hist: + ready = False visit.append(p) - if p._path not in files: - files.append(p._path) - else: - # count how many times we'll use this - needed[p] += 1 - - # sort by revision (per file) which is a topological order - visit = [] - for f in files: - visit.extend(n for n in needed if n._path == f) + needed[p] = needed.get(p, 0) + 1 + if ready: + visit.pop() + curr = decorate(f.data(), f) + for p in pl: + curr = pair(hist[p], curr) + if needed[p] == 1: + del hist[p] + else: + needed[p] -= 1 - hist = {} - for f in sorted(visit, key=lambda x: x.rev()): - curr = decorate(f.data(), f) - for p in parents(f): - curr = pair(hist[p], curr) - # trim the history of unneeded revs - needed[p] -= 1 - if not needed[p]: - del hist[p] - hist[f] = curr + hist[f] = curr + pcache[f] = [] - return zip(hist[f][0], hist[f][1].splitlines(True)) + return zip(hist[base][0], hist[base][1].splitlines(True)) def ancestor(self, fc2, actx=None): """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/mercurial/filemerge.py new/mercurial-1.8.1/mercurial/filemerge.py --- old/mercurial-1.8/mercurial/filemerge.py 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/mercurial/filemerge.py 2011-03-10 18:30:31.000000000 +0100 @@ -25,8 +25,10 @@ def _findtool(ui, tool): if tool in _internal: return tool - k = _toolstr(ui, tool, "regkey") - if k: + for kn in ("regkey", "regkeyalt"): + k = _toolstr(ui, tool, kn) + if not k: + continue p = util.lookup_reg(k, _toolstr(ui, tool, "regname")) if p: p = util.find_exe(p + _toolstr(ui, tool, "regappend")) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/mercurial/localrepo.py new/mercurial-1.8.1/mercurial/localrepo.py --- old/mercurial-1.8/mercurial/localrepo.py 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/mercurial/localrepo.py 2011-03-10 18:30:31.000000000 +0100 @@ -763,7 +763,7 @@ self._branchcachetip = None def invalidate(self): - for a in ("changelog", "manifest", "_bookmarks", "_bookmarkscurrent"): + for a in ("changelog", "manifest", "_bookmarks", "_bookmarkcurrent"): if a in self.__dict__: delattr(self, a) self.invalidatecaches() @@ -976,7 +976,7 @@ for f in changes[0]: if f in ms and ms[f] == 'u': raise util.Abort(_("unresolved merge conflicts " - "(see hg resolve)")) + "(see hg help resolve)")) cctx = context.workingctx(self, text, user, date, extra, changes) if editor: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/mercurial/merge.py new/mercurial-1.8.1/mercurial/merge.py --- old/mercurial-1.8/mercurial/merge.py 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/mercurial/merge.py 2011-03-10 18:30:31.000000000 +0100 @@ -74,7 +74,10 @@ fco = octx[ofile] fca = self._repo.filectx(afile, fileid=anode) r = filemerge.filemerge(self._repo, self._local, lfile, fcd, fco, fca) - if not r: + if r is None: + # no real conflict + del self._state[dfile] + elif not r: self.mark(dfile, 'r') return r @@ -537,7 +540,7 @@ action += manifestmerge(repo, wc, p2, pa, overwrite, partial) ### apply phase - if not branchmerge or fastforward: # just jump to the new rev + if not branchmerge: # just jump to the new rev fp1, fp2, xp1, xp2 = fp2, nullid, xp2, '' if not partial: repo.hook('preupdate', throw=True, parent1=xp1, parent2=xp2) @@ -546,7 +549,7 @@ if not partial: repo.dirstate.setparents(fp1, fp2) - recordupdates(repo, action, branchmerge and not fastforward) + recordupdates(repo, action, branchmerge) if not branchmerge and not fastforward: repo.dirstate.setbranch(p2.branch()) finally: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/mercurial/subrepo.py new/mercurial-1.8.1/mercurial/subrepo.py --- old/mercurial-1.8/mercurial/subrepo.py 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/mercurial/subrepo.py 2011-03-10 18:30:31.000000000 +0100 @@ -702,6 +702,9 @@ return retdata, p.returncode + def _gitmissing(self): + return not os.path.exists(os.path.join(self._abspath, '.git')) + def _gitstate(self): return self._gitcommand(['rev-parse', 'HEAD']) @@ -758,7 +761,7 @@ return _abssource(self) def _fetch(self, source, revision): - if not os.path.exists(os.path.join(self._abspath, '.git')): + if self._gitmissing(): self._ui.status(_('cloning subrepo %s\n') % self._relpath) self._gitnodir(['clone', self._abssource(source), self._abspath]) if self._githavelocally(revision): @@ -771,6 +774,8 @@ (revision, self._relpath)) def dirty(self, ignoreupdate=False): + if self._gitmissing(): + return True if not ignoreupdate and self._state[1] != self._gitstate(): # different version checked out return True @@ -859,6 +864,8 @@ rawcheckout() def commit(self, text, user, date): + if self._gitmissing(): + raise util.Abort(_("subrepo %s is missing") % self._relpath) cmd = ['commit', '-a', '-m', text] env = os.environ.copy() if user: @@ -895,6 +902,8 @@ mergefunc() def push(self, force): + if self._gitmissing(): + raise util.Abort(_("subrepo %s is missing") % self._relpath) # if a branch in origin contains the revision, nothing to do branch2rev, rev2branch = self._gitbranchmap() if self._state[1] in rev2branch: @@ -928,6 +937,8 @@ return False def remove(self): + if self._gitmissing(): + return if self.dirty(): self._ui.warn(_('not removing repo %s because ' 'it has changes.\n') % self._relpath) @@ -971,6 +982,9 @@ def status(self, rev2, **opts): + if self._gitmissing(): + # if the repo is missing, return no results + return [], [], [], [], [], [], [] rev1 = self._state[1] modified, added, removed = [], [], [] if rev2: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/mercurial/templates/gitweb/filelog.tmpl new/mercurial-1.8.1/mercurial/templates/gitweb/filelog.tmpl --- old/mercurial-1.8/mercurial/templates/gitweb/filelog.tmpl 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/mercurial/templates/gitweb/filelog.tmpl 2011-03-10 18:30:31.000000000 +0100 @@ -22,7 +22,7 @@ revisions | <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> | <a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> | -<a href="{url}rss-log/{node|short}/{file|urlescape}">rss</a> | +<a href="{url}rss-log/tip/{file|urlescape}">rss</a> | <a href="{url}help{sessionvars%urlparameter}">help</a> <br/> {nav%filenav} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/mercurial/templates/monoblue/filelog.tmpl new/mercurial-1.8.1/mercurial/templates/monoblue/filelog.tmpl --- old/mercurial-1.8/mercurial/templates/monoblue/filelog.tmpl 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/mercurial/templates/monoblue/filelog.tmpl 2011-03-10 18:30:31.000000000 +0100 @@ -34,7 +34,7 @@ <li class="current">revisions</li> <li><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li> <li><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li> - <li><a href="{url}rss-log/{node|short}/{file|urlescape}">rss</a></li> + <li><a href="{url}rss-log/tip/{file|urlescape}">rss</a></li> </ul> <h2 class="no-link no-border">{file|urlescape}</h2> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/mercurial/templates/rss/filelogentry.tmpl new/mercurial-1.8.1/mercurial/templates/rss/filelogentry.tmpl --- old/mercurial-1.8/mercurial/templates/rss/filelogentry.tmpl 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/mercurial/templates/rss/filelogentry.tmpl 2011-03-10 18:30:31.000000000 +0100 @@ -1,6 +1,6 @@ <item> <title>{desc|strip|firstline|strip|escape}</title> - <link>{urlbase}{url}log{{node|short}}/{file|urlescape}</link> + <link>{urlbase}{url}log{node|short}/{file|urlescape}</link> <description><![CDATA[{desc|strip|escape|addbreaks|nonempty}]]></description> <author>{author|obfuscate}</author> <pubDate>{date|rfc822date}</pubDate> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/mercurial/url.py new/mercurial-1.8.1/mercurial/url.py --- old/mercurial-1.8/mercurial/url.py 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/mercurial/url.py 2011-03-10 18:30:31.000000000 +0100 @@ -560,9 +560,13 @@ hostfingerprint = self.ui.config('hostfingerprints', host) if cacerts and not hostfingerprint: + cacerts = util.expandpath(cacerts) + if not os.path.exists(cacerts): + raise util.Abort(_('could not find ' + 'web.cacerts: %s') % cacerts) self.sock = _ssl_wrap_socket(self.sock, self.key_file, self.cert_file, cert_reqs=CERT_REQUIRED, - ca_certs=util.expandpath(cacerts)) + ca_certs=cacerts) msg = _verifycert(self.sock.getpeercert(), host) if msg: raise util.Abort(_('%s certificate error: %s ' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/tests/hghave new/mercurial-1.8.1/tests/hghave --- old/mercurial-1.8/tests/hghave 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/tests/hghave 2011-03-10 18:30:31.000000000 +0100 @@ -202,7 +202,7 @@ "outer-repo": (has_outer_repo, "outer repo"), "p4": (has_p4, "Perforce server and client"), "pygments": (has_pygments, "Pygments source highlighting library"), - "ssl": (has_ssl, "python >= 2.6 ssl module"), + "ssl": (has_ssl, "python >= 2.6 ssl module and python OpenSSL"), "svn": (has_svn, "subversion client and admin tools"), "svn-bindings": (has_svn_bindings, "subversion python bindings"), "symlink": (has_symlink, "symbolic links"), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/tests/test-commit-unresolved.t new/mercurial-1.8.1/tests/test-commit-unresolved.t --- old/mercurial-1.8/tests/test-commit-unresolved.t 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/tests/test-commit-unresolved.t 2011-03-10 18:30:31.000000000 +0100 @@ -38,7 +38,7 @@ $ echo "ABCD" > A $ hg commit -m "Merged" - abort: unresolved merge conflicts (see hg resolve) + abort: unresolved merge conflicts (see hg help resolve) [255] Mark the conflict as resolved and commit diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/tests/test-hgweb-filelog.t new/mercurial-1.8.1/tests/test-hgweb-filelog.t --- old/mercurial-1.8/tests/test-hgweb-filelog.t 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/tests/test-hgweb-filelog.t 2011-03-10 18:30:31.000000000 +0100 @@ -656,6 +656,84 @@ </html> +rss log + + $ ("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/rss-log/tip/a') + 200 Script output follows + + <?xml version="1.0" encoding="ascii"?> + <rss version="2.0"> + <channel> + <link>http://*:$HGPORT/</link> (glob) + <language>en-us</language> + + <title>test: a history</title> + <description>a revision history</description> + <item> + <title>second a</title> + <link>http://*:$HGPORT/log01de2d66a28d/a</link> (glob) + <description><![CDATA[second a]]></description> + <author>test</author> + <pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> + </item> + <item> + <title>first a</title> + <link>http://*:$HGPORT/log5ed941583260/a</link> (glob) + <description><![CDATA[first a]]></description> + <author>test</author> + <pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> + </item> + + </channel> + </rss> + +atom log + + $ ("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/atom-log/tip/a') + 200 Script output follows + + <?xml version="1.0" encoding="ascii"?> + <feed xmlns="http://www.w3.org/2005/Atom"> + <id>http://*:$HGPORT/atom-log/tip/a</id> (glob) + <link rel="self" href="http://*:$HGPORT/atom-log/tip/a"/> (glob) + <title>test: a history</title> + <updated>1970-01-01T00:00:00+00:00</updated> + + <entry> + <title>second a</title> + <id>http://*:$HGPORT/#changeset-01de2d66a28df5549090991dccda788726948517</id> (glob) + <link href="http://*:$HGPORT/rev/01de2d66a28d"/> (glob) + <author> + <name>test</name> + <email>test</email> + </author> + <updated>1970-01-01T00:00:00+00:00</updated> + <published>1970-01-01T00:00:00+00:00</published> + <content type="xhtml"> + <div xmlns="http://www.w3.org/1999/xhtml"> + <pre xml:space="preserve">second a</pre> + </div> + </content> + </entry> + <entry> + <title>first a</title> + <id>http://*:$HGPORT/#changeset-5ed941583260248620985524192fdc382ef57c36</id> (glob) + <link href="http://*:$HGPORT/rev/5ed941583260"/> (glob) + <author> + <name>test</name> + <email>test</email> + </author> + <updated>1970-01-01T00:00:00+00:00</updated> + <published>1970-01-01T00:00:00+00:00</published> + <content type="xhtml"> + <div xmlns="http://www.w3.org/1999/xhtml"> + <pre xml:space="preserve">first a</pre> + </div> + </content> + </entry> + + </feed> + errors $ cat errors.log diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/tests/test-https.t new/mercurial-1.8.1/tests/test-https.t --- old/mercurial-1.8/tests/test-https.t 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/tests/test-https.t 2011-03-10 18:30:31.000000000 +0100 @@ -96,6 +96,12 @@ $ hg serve -p $HGPORT -d --pid-file=../hg0.pid --certificate=$PRIV $ cat ../hg0.pid >> $DAEMON_PIDS +cacert not found + + $ hg in --config web.cacerts=no-such.pem https://localhost:$HGPORT/ + abort: could not find web.cacerts: no-such.pem + [255] + Test server address cannot be reused $ hg serve -p $HGPORT --certificate=$PRIV 2>&1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/tests/test-issue619.t new/mercurial-1.8.1/tests/test-issue619.t --- old/mercurial-1.8/tests/test-issue619.t 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/tests/test-issue619.t 2011-03-10 18:30:31.000000000 +0100 @@ -19,12 +19,7 @@ $ hg merge b 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) - $ hg branch - default - $ hg parent --template '{rev}:{node|short} {branches}: {desc}\n' - 1:06c2121185be b: b $ hg ci -Ammerge - created new head Bogus fast-forward should fail: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/tests/test-mq-merge.t new/mercurial-1.8.1/tests/test-mq-merge.t --- old/mercurial-1.8/tests/test-mq-merge.t 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/tests/test-mq-merge.t 2011-03-10 18:30:31.000000000 +0100 @@ -1,3 +1,32 @@ +Setup extension: + + $ echo "[extensions]" >> $HGRCPATH + $ echo "mq =" >> $HGRCPATH + $ echo "[mq]" >> $HGRCPATH + $ echo "git = keep" >> $HGRCPATH + +Test merge with mq changeset as the second parent: + + $ hg init m + $ cd m + $ touch a b c + $ hg add a + $ hg commit -m a + $ hg add b + $ hg qnew -d "0 0" b + $ hg update 0 + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ hg add c + $ hg commit -m c + created new head + $ hg merge + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) + $ hg commit -m merge + abort: cannot commit over an applied mq patch + [255] + $ cd .. + Issue529: mq aborts when merging patch deleting files $ checkundo() @@ -7,11 +36,6 @@ > fi > } - $ echo "[extensions]" >> $HGRCPATH - $ echo "mq =" >> $HGRCPATH - $ echo "[mq]" >> $HGRCPATH - $ echo "git = keep" >> $HGRCPATH - Commit two dummy files in "init" changeset: $ hg init t diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/tests/test-newbranch.t new/mercurial-1.8.1/tests/test-newbranch.t --- old/mercurial-1.8/tests/test-newbranch.t 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/tests/test-newbranch.t 2011-03-10 18:30:31.000000000 +0100 @@ -209,11 +209,12 @@ $ hg branch foo $ hg commit -m'Merge ff into foo' - created new head $ hg parents - changeset: 6:6af8030670c9 + changeset: 6:917eb54e1b4b branch: foo tag: tip + parent: 4:98d14f698afe + parent: 5:6683a60370cb user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: Merge ff into foo diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/tests/test-push-warn.t new/mercurial-1.8.1/tests/test-push-warn.t --- old/mercurial-1.8/tests/test-push-warn.t 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/tests/test-push-warn.t 2011-03-10 18:30:31.000000000 +0100 @@ -413,7 +413,6 @@ (branch merge, don't forget to commit) $ hg -R k ci -m merge - created new head $ hg -R k push -r a j pushing to j diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/tests/test-rebase-conflicts.t new/mercurial-1.8.1/tests/test-rebase-conflicts.t --- old/mercurial-1.8/tests/test-rebase-conflicts.t 2011-03-01 23:01:29.000000000 +0100 +++ new/mercurial-1.8.1/tests/test-rebase-conflicts.t 2011-03-10 18:30:31.000000000 +0100 @@ -65,7 +65,7 @@ Try to continue without solving the conflict: $ hg rebase --continue - abort: unresolved merge conflicts (see hg resolve) + abort: unresolved merge conflicts (see hg help resolve) [255] Conclude rebase: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-1.8/tests/test-subrepo-git.t new/mercurial-1.8.1/tests/test-subrepo-git.t --- old/mercurial-1.8/tests/test-subrepo-git.t 2011-03-01 23:01:30.000000000 +0100 +++ new/mercurial-1.8.1/tests/test-subrepo-git.t 2011-03-10 18:30:31.000000000 +0100 @@ -314,6 +314,26 @@ cloning subrepo s 3 files updated, 0 files merged, 0 files removed, 0 files unresolved +Don't crash if the subrepo is missing + + $ hg clone t missing -q + $ cd missing + $ rm -rf s + $ hg status -S + $ hg sum | grep commit + commit: 1 subrepos + $ hg push -q + abort: subrepo s is missing + [255] + $ hg commit -qm missing + abort: subrepo s is missing + [255] + $ hg update -C + cloning subrepo s + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg sum | grep commit + commit: (clean) + Check hg update --clean $ cd $TESTTMP/ta $ echo > s/g ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
