Hello community, here is the log from the commit of package mercurial for openSUSE:Factory checked in at 2015-03-05 15:40:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mercurial (Old) and /work/SRC/openSUSE:Factory/.mercurial.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mercurial" Changes: -------- --- /work/SRC/openSUSE:Factory/mercurial/mercurial.changes 2015-02-05 11:01:28.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.mercurial.new/mercurial.changes 2015-03-05 18:16:29.000000000 +0100 @@ -1,0 +2,20 @@ +Tue Mar 3 13:04:29 UTC 2015 - devel...@develop7.info + +- update to v3.3.2 + An unscheduled bugfix release to fix the fix. + + transaction: really disable hardlink backups (issue4546) + +- update to v3.3.1 + This is a regularly scheduled bugfix release. It fixes a significant regression with transactions on Windows network shares. + + dispatch: work around UnicodeDecodeError caused by SSLError of Python 2.7.9 + + hgweb: recreate old DOM structure for css in monoblue style + + largefiles: access to specific fields only if largefiles enabled (issue4547) + + log: fix json-formatted output when file copies are listed (issue4523) + + repoview: invalidate cached changelog if _delayed changes (issue4549) + + revisionbranchcache: fall back to slow path if starting readonly (issue4531) + + revset: mask specific names for named() predicate + + shellquote: fix missing quotes for empty string + + templatekw: fix {join(bookmarks, sep)} to always show associated bookmarks + + transaction: disable hardlink backups (issue4546) + +------------------------------------------------------------------- Old: ---- mercurial-3.3.tar.gz New: ---- mercurial-3.3.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mercurial.spec ++++++ --- /var/tmp/diff_new_pack.NjG9AX/_old 2015-03-05 18:16:30.000000000 +0100 +++ /var/tmp/diff_new_pack.NjG9AX/_new 2015-03-05 18:16:30.000000000 +0100 @@ -17,7 +17,7 @@ Name: mercurial -Version: 3.3 +Version: 3.3.2 Release: 0 Summary: Scalable Distributed SCM License: GPL-2.0+ ++++++ mercurial-3.3.tar.gz -> mercurial-3.3.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/.hgsigs new/mercurial-3.3.2/.hgsigs --- old/mercurial-3.3/.hgsigs 2015-02-02 03:21:03.000000000 +0100 +++ new/mercurial-3.3.2/.hgsigs 2015-03-02 17:29:45.000000000 +0100 @@ -101,3 +101,5 @@ 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/.hgtags new/mercurial-3.3.2/.hgtags --- old/mercurial-3.3/.hgtags 2015-02-02 03:21:03.000000000 +0100 +++ new/mercurial-3.3.2/.hgtags 2015-03-02 17:29:45.000000000 +0100 @@ -114,3 +114,5 @@ 6dad422ecc5adb63d9fa649eeb8e05a5f9bc4900 3.2.3 1265a3a71d75396f5d4cf6935ae7d9ba5407a547 3.2.4 db8e3f7948b1fdeb9ad12d448fc3525759908b9f 3.3-rc +fbdd5195528fae4f41feebc1838215c110b25d6a 3.3 +5b4ed033390bf6e2879c8f5c28c84e1ee3b87231 3.3.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/PKG-INFO new/mercurial-3.3.2/PKG-INFO --- old/mercurial-3.3/PKG-INFO 2015-02-02 03:21:13.000000000 +0100 +++ new/mercurial-3.3.2/PKG-INFO 2015-03-02 17:29:55.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: mercurial -Version: 3.3 +Version: 3.3.2 Summary: Fast scalable distributed SCM (revision control, version control) system Home-page: http://mercurial.selenic.com/ Author: Matt Mackall and many others diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/hgext/largefiles/lfutil.py new/mercurial-3.3.2/hgext/largefiles/lfutil.py --- old/mercurial-3.3/hgext/largefiles/lfutil.py 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/hgext/largefiles/lfutil.py 2015-03-02 17:29:40.000000000 +0100 @@ -577,7 +577,7 @@ Otherwise, this returns the function to always write out (or ignore if ``not forcibly``) status. ''' - if forcibly is None: + if forcibly is None and util.safehasattr(repo, '_largefilesenabled'): return repo._lfstatuswriters[-1] else: if forcibly: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/hgext/largefiles/overrides.py new/mercurial-3.3.2/hgext/largefiles/overrides.py --- old/mercurial-3.3/hgext/largefiles/overrides.py 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/hgext/largefiles/overrides.py 2015-03-02 17:29:40.000000000 +0100 @@ -832,6 +832,9 @@ return result def overriderebase(orig, ui, repo, **opts): + if not util.safehasattr(repo, '_largefilesenabled'): + return orig(ui, repo, **opts) + resuming = opts.get('continue') repo._lfcommithooks.append(lfutil.automatedcommithook(resuming)) repo._lfstatuswriters.append(lambda *msg, **opts: None) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/hgext/largefiles/reposetup.py new/mercurial-3.3.2/hgext/largefiles/reposetup.py --- old/mercurial-3.3/hgext/largefiles/reposetup.py 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/hgext/largefiles/reposetup.py 2015-03-02 17:29:40.000000000 +0100 @@ -24,6 +24,9 @@ return class lfilesrepo(repo.__class__): + # the mark to examine whether "repo" object enables largefiles or not + _largefilesenabled = True + lfstatus = False def status_nolfiles(self, *args, **kwargs): return super(lfilesrepo, self).status(*args, **kwargs) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/i18n/ja.po new/mercurial-3.3.2/i18n/ja.po --- old/mercurial-3.3/i18n/ja.po 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/i18n/ja.po 2015-03-02 17:29:40.000000000 +0100 @@ -149,8 +149,8 @@ msgstr "" "Project-Id-Version: Mercurial\n" "Report-Msgid-Bugs-To: <mercurial-de...@selenic.com>\n" -"POT-Creation-Date: 2015-01-31 23:43+0900\n" -"PO-Revision-Date: 2015-02-01 08:15+0900\n" +"POT-Creation-Date: 2015-02-28 17:53+0900\n" +"PO-Revision-Date: 2015-03-01 01:23+0900\n" "Last-Translator: Japanese translation team <mercurial...@googlegroups.com>\n" "Language-Team: Japanese\n" "Language: ja\n" @@ -24938,13 +24938,13 @@ msgid "parsing obsolete marker: unknown version %r" msgstr "廃止情報解析: 未知のリビジョン %r" +msgid "bad obsolescence marker detected: invalid successors nullid" +msgstr "不正な廃止情報を検出: 後継としての null 指定は不正です" + #, python-format msgid "in-marker cycle with %s" msgstr "マーカ %s における循環参照があります" -msgid "bad obsolescence marker detected: invalid successors nullid" -msgstr "不正な廃止情報を検出: 後継としての null 指定は不正です" - #, python-format msgid "unknown key: %r" msgstr "未知のキーです: %r" @@ -25559,6 +25559,9 @@ "we'll\n" " work around it to return a non-filtered value." msgstr "" +" 不可視なリビジョンが該当する場合は、 別な可視リビジョンが無いか、\n" +" ある程度の事後処理が実施されます (※ 訳注: 代替リビジョンの返却は、\n" +" 未保証です)" #. i18n: "filelog" is a keyword msgid "filelog requires a pattern" @@ -26990,6 +26993,9 @@ msgid ":subrepos: List of strings. Updated subrepositories in the changeset." msgstr ":subrepos: 文字列挙。 当該リビジョンで更新されたサブリポジトリ名。" +msgid ":tags: List of strings. Any tags associated with the changeset." +msgstr ":tags: 文字列列挙。 当該リビジョンに付与されたタグの一覧。" + msgid "" ":parents: List of strings. The parents of the changeset in \"rev:node\"\n" " format. If the changeset has only one \"natural\" parent (the " @@ -27591,6 +27597,3 @@ msgid "number of cpus must be an integer" msgstr "CPU 数には数値を指定してください" - -msgid ":tags: List of strings. Any tags associated with the changeset." -msgstr ":tags: 文字列列挙。 当該リビジョンに付与されたタグの一覧。" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/i18n/pt_BR.po new/mercurial-3.3.2/i18n/pt_BR.po --- old/mercurial-3.3/i18n/pt_BR.po 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/i18n/pt_BR.po 2015-03-02 17:29:40.000000000 +0100 @@ -25509,15 +25509,15 @@ msgid "parsing obsolete marker: unknown version %r" msgstr "decodificando marcações de obsolescência: versão desconhecida %r" -#, python-format -msgid "in-marker cycle with %s" -msgstr "ciclo nos marcadores com %s" - msgid "bad obsolescence marker detected: invalid successors nullid" msgstr "" "marcação de obsolescência inválida detectada: sucessores nullid inválidos" #, python-format +msgid "in-marker cycle with %s" +msgstr "ciclo nos marcadores com %s" + +#, python-format msgid "unknown key: %r" msgstr "chave desconhecida: %r" @@ -25690,8 +25690,9 @@ msgstr "morto pelo sinal %d" #, python-format -msgid "unknown strip-bundle2-version value %r; " -msgstr "valor desconhecido de strip-bundle2-version %r; " +msgid "unknown strip-bundle2-version value %r; should be one of %r\n" +msgstr "" +"valor desconhecido de strip-bundle2-version %r; deveria ser um dentre %r\n" #, python-format msgid "saved backup bundle to %s\n" @@ -27610,6 +27611,9 @@ msgid ":subrepos: List of strings. Updated subrepositories in the changeset." msgstr ":subrepos: Lista de strings. Sub-repositórios atualizados na revisão." +msgid ":tags: List of strings. Any tags associated with the changeset." +msgstr ":tags: Lista de strings. Quaisquer etiquetas associadas à revisão." + msgid "" ":parents: List of strings. The parents of the changeset in \"rev:node\"\n" " format. If the changeset has only one \"natural\" parent (the predecessor\n" @@ -28249,6 +28253,3 @@ #~ msgid "graft for revision %s is empty\n" #~ msgstr "o enxerto para a revisão %s é vazio\n" - -#~ msgid ":tags: List of strings. Any tags associated with the changeset." -#~ msgstr ":tags: Lista de strings. Quaisquer etiquetas associadas à revisão." diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/mercurial/__version__.py new/mercurial-3.3.2/mercurial/__version__.py --- old/mercurial-3.3/mercurial/__version__.py 2015-02-02 03:21:12.000000000 +0100 +++ new/mercurial-3.3.2/mercurial/__version__.py 2015-03-02 17:29:53.000000000 +0100 @@ -1,2 +1,2 @@ # this file is autogenerated by setup.py -version = "3.3" +version = "3.3.2" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/mercurial/branchmap.py new/mercurial-3.3.2/mercurial/branchmap.py --- old/mercurial-3.3/mercurial/branchmap.py 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/mercurial/branchmap.py 2015-03-02 17:29:40.000000000 +0100 @@ -330,7 +330,7 @@ and will grow with it but be 1/8th of its size. """ - def __init__(self, repo): + def __init__(self, repo, readonly=True): assert repo.filtername is None self._names = [] # branch names in local encoding with static index self._rbcrevs = array('c') # structs of type _rbcrecfmt @@ -342,6 +342,10 @@ except (IOError, OSError), inst: repo.ui.debug("couldn't read revision branch cache names: %s\n" % inst) + if readonly: + # don't try to use cache - fall back to the slow path + self.branchinfo = self._branchinfo + if self._names: try: data = repo.vfs.read(_rbcrevs) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/mercurial/cmdutil.py new/mercurial-3.3.2/mercurial/cmdutil.py --- old/mercurial-3.3/mercurial/cmdutil.py 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/mercurial/cmdutil.py 2015-03-02 17:29:40.000000000 +0100 @@ -1091,8 +1091,8 @@ if copies: self.ui.write(',\n "copies": {%s}' % - ", ".join('"%s": %s' % (j(k), j(copies[k])) - for k in copies)) + ", ".join('"%s": "%s"' % (j(k), j(v)) + for k, v in copies)) matchfn = self.matchfn if matchfn: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/mercurial/dispatch.py new/mercurial-3.3.2/mercurial/dispatch.py --- old/mercurial-3.3/mercurial/dispatch.py 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/mercurial/dispatch.py 2015-03-02 17:29:40.000000000 +0100 @@ -230,6 +230,9 @@ except (AttributeError, IndexError): # it might be anything, for example a string reason = inst.reason + if isinstance(reason, unicode): + # SSLError of Python 2.7.9 contains a unicode + reason = reason.encode(encoding.encoding, 'replace') ui.warn(_("abort: error: %s\n") % reason) elif (util.safehasattr(inst, "args") and inst.args and inst.args[0] == errno.EPIPE): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/mercurial/namespaces.py new/mercurial-3.3.2/mercurial/namespaces.py --- old/mercurial-3.3/mercurial/namespaces.py 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/mercurial/namespaces.py 2015-03-02 17:29:40.000000000 +0100 @@ -41,7 +41,8 @@ # i18n: column positioning for "hg log" logfmt=_("tag: %s\n"), listnames=tagnames, - namemap=tagnamemap, nodemap=tagnodemap) + namemap=tagnamemap, nodemap=tagnodemap, + deprecated=set(['tip'])) self.addnamespace(n) bnames = lambda repo: repo.branchmap().keys() @@ -126,11 +127,13 @@ dictionary) 'namemap': function that takes a name and returns a list of nodes 'nodemap': function that takes a node and returns a list of names + 'deprecated': set of names to be masked for ordinary use """ def __init__(self, name, templatename=None, logname=None, colorname=None, - logfmt=None, listnames=None, namemap=None, nodemap=None): + logfmt=None, listnames=None, namemap=None, nodemap=None, + deprecated=None): """create a namespace name: the namespace to be registered (in plural form) @@ -144,6 +147,7 @@ listnames: function to list all names namemap: function that inputs a node, output name(s) nodemap: function that inputs a name, output node(s) + deprecated: set of names to be masked for ordinary use """ self.name = name @@ -168,6 +172,11 @@ # i18n: column positioning for "hg log" self.logfmt = ("%s:" % self.logname).ljust(13) + "%s\n" + if deprecated is None: + self.deprecated = set() + else: + self.deprecated = deprecated + def names(self, repo, node): """method that returns a (sorted) list of names in a namespace that match a given node""" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/mercurial/posix.py new/mercurial-3.3.2/mercurial/posix.py --- old/mercurial-3.3/mercurial/posix.py 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/mercurial/posix.py 2015-03-02 17:29:40.000000000 +0100 @@ -322,7 +322,7 @@ global _needsshellquote if _needsshellquote is None: _needsshellquote = re.compile(r'[^a-zA-Z0-9._/-]').search - if not _needsshellquote(s): + if s and not _needsshellquote(s): # "s" shouldn't have to be quoted return s else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/mercurial/repoview.py new/mercurial-3.3.2/mercurial/repoview.py --- old/mercurial-3.3/mercurial/repoview.py 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/mercurial/repoview.py 2015-03-02 17:29:40.000000000 +0100 @@ -274,7 +274,8 @@ unfichangelog = unfi.changelog revs = filterrevs(unfi, self.filtername) cl = self._clcache - newkey = (len(unfichangelog), unfichangelog.tip(), hash(revs)) + newkey = (len(unfichangelog), unfichangelog.tip(), hash(revs), + unfichangelog._delayed) if cl is not None: # we need to check curkey too for some obscure reason. # MQ test show a corruption of the underlying repo (in _clcache) @@ -282,7 +283,7 @@ oldfilter = cl.filteredrevs try: cl.filteredrevs = () # disable filtering for tip - curkey = (len(cl), cl.tip(), hash(oldfilter)) + curkey = (len(cl), cl.tip(), hash(oldfilter), cl._delayed) finally: cl.filteredrevs = oldfilter if newkey != self._clcachekey or newkey != curkey: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/mercurial/revset.py new/mercurial-3.3.2/mercurial/revset.py --- old/mercurial-3.3/mercurial/revset.py 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/mercurial/revset.py 2015-03-02 17:29:40.000000000 +0100 @@ -527,7 +527,7 @@ import branchmap urepo = repo.unfiltered() ucl = urepo.changelog - getbi = branchmap.revbranchcache(urepo).branchinfo + getbi = branchmap.revbranchcache(urepo, readonly=True).branchinfo try: b = getstring(x, '') @@ -1277,7 +1277,8 @@ names = set() for ns in namespaces: for name in ns.listnames(repo): - names.update(ns.nodes(repo, name)) + if name not in ns.deprecated: + names.update(repo[n].rev() for n in ns.nodes(repo, name)) names -= set([node.nullrev]) return subset & names diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/mercurial/subrepo.py new/mercurial-3.3.2/mercurial/subrepo.py --- old/mercurial-3.3/mercurial/subrepo.py 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/mercurial/subrepo.py 2015-03-02 17:29:40.000000000 +0100 @@ -245,7 +245,7 @@ 'use (c)hanged version or (d)elete?' '$$ &Changed $$ &Delete') % s, 0) == 0: debug(s, "prompt recreate", r) - wctx.sub(s).get(r) + mctx.sub(s).get(r) sm[s] = r # record merged .hgsubstate diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/mercurial/templatekw.py new/mercurial-3.3.2/mercurial/templatekw.py --- old/mercurial-3.3/mercurial/templatekw.py 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/mercurial/templatekw.py 2015-03-02 17:29:40.000000000 +0100 @@ -199,10 +199,10 @@ """ repo = args['ctx']._repo bookmarks = args['ctx'].bookmarks() - hybrid = showlist('bookmark', bookmarks, **args) - for value in hybrid.values: - value['current'] = repo._bookmarkcurrent - return hybrid + current = repo._bookmarkcurrent + c = [{'bookmark': x, 'current': current} for x in bookmarks] + f = _showlist('bookmark', bookmarks, **args) + return _hybrid(f, c, lambda x: x['bookmark']) def showchildren(**args): """:children: List of strings. The children of the changeset.""" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/mercurial/templates/monoblue/changeset.tmpl new/mercurial-3.3.2/mercurial/templates/monoblue/changeset.tmpl --- old/mercurial-3.3/mercurial/templates/monoblue/changeset.tmpl 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/mercurial/templates/monoblue/changeset.tmpl 2015-03-02 17:29:40.000000000 +0100 @@ -39,7 +39,7 @@ <h2 class="no-link no-border">changeset</h2> <h3 class="changeset"><a href="{url|urlescape}raw-rev/{node|short}">{desc|strip|escape|firstline|nonempty} <span class="logtags">{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}{bookmarks%bookmarktag}</span></a></h3> - <p class="changeset-age age">{date|rfc822date}</p> + <p class="changeset-age"><span class="age">{date|rfc822date}</span></p> <dl class="overview"> <dt>author</dt> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/mercurial/templates/monoblue/fileannotate.tmpl new/mercurial-3.3.2/mercurial/templates/monoblue/fileannotate.tmpl --- old/mercurial-3.3/mercurial/templates/monoblue/fileannotate.tmpl 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/mercurial/templates/monoblue/fileannotate.tmpl 2015-03-02 17:29:40.000000000 +0100 @@ -41,7 +41,7 @@ <h2 class="no-link no-border">{file|escape}@{node|short} (annotated)</h2> <h3 class="changeset">{file|escape}</h3> - <p class="changeset-age age">{date|rfc822date}</p> + <p class="changeset-age"><span class="age">{date|rfc822date}</span></p> <dl class="overview"> <dt>author</dt> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/mercurial/templates/monoblue/filerevision.tmpl new/mercurial-3.3.2/mercurial/templates/monoblue/filerevision.tmpl --- old/mercurial-3.3/mercurial/templates/monoblue/filerevision.tmpl 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/mercurial/templates/monoblue/filerevision.tmpl 2015-03-02 17:29:40.000000000 +0100 @@ -41,7 +41,7 @@ <h2 class="no-link no-border">{file|escape}@{node|short}</h2> <h3 class="changeset">{file|escape}</h3> - <p class="changeset-age age">{date|rfc822date}</p> + <p class="changeset-age"><span class="age">{date|rfc822date}</span></p> <dl class="overview"> <dt>author</dt> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/mercurial/util.py new/mercurial-3.3.2/mercurial/util.py --- old/mercurial-3.3/mercurial/util.py 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/mercurial/util.py 2015-03-02 17:29:40.000000000 +0100 @@ -720,7 +720,9 @@ "copy a file, preserving mode and atime/mtime" if os.path.lexists(dest): unlink(dest) - if hardlink: + # hardlinks are problematic on CIFS, quietly ignore this flag + # until we find a way to work around it cleanly (issue4546) + if False and hardlink: try: oslink(src, dest) return diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/mercurial/windows.py new/mercurial-3.3.2/mercurial/windows.py --- old/mercurial-3.3/mercurial/windows.py 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/mercurial/windows.py 2015-03-02 17:29:40.000000000 +0100 @@ -159,7 +159,7 @@ # they are used as a part of path name (and the latter doesn't # work as "escape character", like one on posix) on Windows _needsshellquote = re.compile(r'[^a-zA-Z0-9._:/\\-]').search - if not _needsshellquote(s) and not _quotere.search(s): + if s and not _needsshellquote(s) and not _quotere.search(s): # "s" shouldn't have to be quoted return s return '"%s"' % _quotere.sub(r'\1\1\\\2', s) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/tests/test-command-template.t new/mercurial-3.3.2/tests/test-command-template.t --- old/mercurial-3.3/tests/test-command-template.t 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/tests/test-command-template.t 2015-03-02 17:29:40.000000000 +0100 @@ -2381,6 +2381,11 @@ 2 1 0 + $ hg book -r1 baz + $ hg log --template "{rev} {join(bookmarks, ' ')}\n" + 2 bar foo + 1 baz + 0 Test stringify on sub expressions diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/tests/test-extdiff.t new/mercurial-3.3.2/tests/test-extdiff.t --- old/mercurial-3.3/tests/test-extdiff.t 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/tests/test-extdiff.t 2015-03-02 17:29:40.000000000 +0100 @@ -179,7 +179,23 @@ TODO #else $ hg --debug odd | grep '^running' - running "*/bin/echo --foo='sp ace' 'sp ace' --bar='sp ace' 'sp ace'" in * (glob) + running "*/echo --foo='sp ace' 'sp ace' --bar='sp ace' 'sp ace'" in * (glob) +#endif + +Empty argument must be quoted + + $ cat <<EOF >> $HGRCPATH + > [extdiff] + > kdiff3 = echo + > [merge-tools] + > kdiff3.diffargs=--L1 \$plabel1 --L2 \$clabel \$parent \$child + > EOF +#if windows + $ hg --debug kdiff3 -r0 | grep '^running' + running 'echo --L1 "@0" --L2 "" a.8a5febb7f867 a' in * (glob) +#else + $ hg --debug kdiff3 -r0 | grep '^running' + running "echo --L1 '@0' --L2 '' a.8a5febb7f867 a" in * (glob) #endif #if execbit diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/tests/test-hardlinks.t new/mercurial-3.3.2/tests/test-hardlinks.t --- old/mercurial-3.3/tests/test-hardlinks.t 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/tests/test-hardlinks.t 2015-03-02 17:29:40.000000000 +0100 @@ -159,7 +159,7 @@ 1 r2/.hg/store/00manifest.i 1 r2/.hg/store/data/d1/f2.i 2 r2/.hg/store/data/f1.i - 2 r2/.hg/store/fncache + 1 r2/.hg/store/fncache $ hg -R r2 verify checking changesets @@ -184,7 +184,7 @@ 1 r2/.hg/store/00manifest.i 1 r2/.hg/store/data/d1/f2.i 1 r2/.hg/store/data/f1.i - 2 r2/.hg/store/fncache + 1 r2/.hg/store/fncache $ cd r3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/tests/test-largefiles-misc.t new/mercurial-3.3.2/tests/test-largefiles-misc.t --- old/mercurial-3.3/tests/test-largefiles-misc.t 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/tests/test-largefiles-misc.t 2015-03-02 17:29:40.000000000 +0100 @@ -907,6 +907,77 @@ $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS #endif +Test overridden functions work correctly even for repos disabling +largefiles (issue4547) + + $ hg showconfig extensions | grep largefiles + extensions.largefiles=! + +(test updating implied by clone) + + $ hg init enabled-but-no-largefiles + $ echo normal1 > enabled-but-no-largefiles/normal1 + $ hg -R enabled-but-no-largefiles add enabled-but-no-largefiles/normal1 + $ hg -R enabled-but-no-largefiles commit -m '#0@enabled-but-no-largefiles' + Invoking status precommit hook + A normal1 + $ cat >> enabled-but-no-largefiles/.hg/hgrc <<EOF + > [extensions] + > # enable locally + > largefiles= + > EOF + $ hg clone -q enabled-but-no-largefiles no-largefiles + +(test rebasing implied by pull: precommit while rebasing unexpectedly +shows "normal3" as "?", because lfdirstate isn't yet written out at +that time) + + $ echo normal2 > enabled-but-no-largefiles/normal2 + $ hg -R enabled-but-no-largefiles add enabled-but-no-largefiles/normal2 + $ hg -R enabled-but-no-largefiles commit -m '#1@enabled-but-no-largefiles' + Invoking status precommit hook + A normal2 + + $ echo normal3 > no-largefiles/normal3 + $ hg -R no-largefiles add no-largefiles/normal3 + $ hg -R no-largefiles commit -m '#1@no-largefiles' + Invoking status precommit hook + A normal3 + + $ hg -R no-largefiles -q pull --rebase + Invoking status precommit hook + ? normal3 + +(test reverting) + + $ hg init subrepo-root + $ cat >> subrepo-root/.hg/hgrc <<EOF + > [extensions] + > # enable locally + > largefiles= + > EOF + $ echo large > subrepo-root/large + $ hg -R subrepo-root add --large subrepo-root/large + $ hg clone -q no-largefiles subrepo-root/no-largefiles + $ cat > subrepo-root/.hgsub <<EOF + > no-largefiles = no-largefiles + > EOF + $ hg -R subrepo-root add subrepo-root/.hgsub + $ hg -R subrepo-root commit -m '#0' + Invoking status precommit hook + A .hgsub + A large + ? .hgsubstate + $ echo dirty >> subrepo-root/large + $ echo dirty >> subrepo-root/no-largefiles/normal1 + $ hg -R subrepo-root status -S + M large + M no-largefiles/normal1 + $ hg -R subrepo-root revert --all + reverting subrepo-root/.hglf/large (glob) + reverting subrepo no-largefiles + reverting subrepo-root/no-largefiles/normal1 (glob) + $ cd .. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/tests/test-log.t new/mercurial-3.3.2/tests/test-log.t --- old/mercurial-3.3/tests/test-log.t 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/tests/test-log.t 2015-03-02 17:29:40.000000000 +0100 @@ -494,7 +494,23 @@ e - + $ hg log -vC -r4 -Tjson + [ + { + "rev": 4, + "node": "7e4639b4691b9f84b81036a8d4fb218ce3c5e3a3", + "branch": "default", + "phase": "draft", + "user": "test", + "date": [5, 0], + "desc": "e", + "bookmarks": [], + "tags": ["tip"], + "parents": ["2ca5ba7019804f1f597249caddf22a64d34df0ba"], + "files": ["dir/b", "e"], + "copies": {"e": "dir/b"} + } + ] log copies, non-linear manifest diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/tests/test-revset.t new/mercurial-3.3.2/tests/test-revset.t --- old/mercurial-3.3/tests/test-revset.t 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/tests/test-revset.t 2015-03-02 17:29:40.000000000 +0100 @@ -787,6 +787,11 @@ $ log 'present(named("unknown"))' $ log 'present(named("re:unknown"))' + $ log 'tag()' + 6 + $ log 'named("tags")' + 6 + issue2437 $ log '3 and p1(5)' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.3/tests/test-subrepo.t new/mercurial-3.3.2/tests/test-subrepo.t --- old/mercurial-3.3/tests/test-subrepo.t 2015-02-02 03:20:50.000000000 +0100 +++ new/mercurial-3.3.2/tests/test-subrepo.t 2015-03-02 17:29:40.000000000 +0100 @@ -304,6 +304,138 @@ t3 >>>>>>> other: 7af322bc1198 - test: 7 +11: remove subrepo t + + $ hg co -C 5 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg revert -r 4 .hgsub # remove t + $ hg ci -m11 + created new head + $ hg debugsub + path s + source s + revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 + +local removed, remote changed, keep changed + + $ hg merge 6 + remote changed subrepository t which local removed + use (c)hanged version or (d)elete? c + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) +BROKEN: should include subrepo t + $ hg debugsub + path s + source s + revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 + $ cat .hgsubstate + e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s + 6747d179aa9a688023c4b0cad32e4c92bb7f34ad t + $ hg ci -m 'local removed, remote changed, keep changed' +BROKEN: should include subrepo t + $ hg debugsub + path s + source s + revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 +BROKEN: should include subrepo t + $ cat .hgsubstate + e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s + $ cat t/t + t2 + +local removed, remote changed, keep removed + + $ hg co -C 11 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg merge --config ui.interactive=true 6 <<EOF + > d + > EOF + remote changed subrepository t which local removed + use (c)hanged version or (d)elete? d + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) + $ hg debugsub + path s + source s + revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 + $ cat .hgsubstate + e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s + $ hg ci -m 'local removed, remote changed, keep removed' + created new head + $ hg debugsub + path s + source s + revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 + $ cat .hgsubstate + e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s + +local changed, remote removed, keep changed + + $ hg co -C 6 + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg merge 11 + local changed subrepository t which remote removed + use (c)hanged version or (d)elete? c + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) +BROKEN: should include subrepo t + $ hg debugsub + path s + source s + revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 +BROKEN: should include subrepo t + $ cat .hgsubstate + e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s + $ hg ci -m 'local changed, remote removed, keep changed' + created new head +BROKEN: should include subrepo t + $ hg debugsub + path s + source s + revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 +BROKEN: should include subrepo t + $ cat .hgsubstate + e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s + $ cat t/t + t2 + +local changed, remote removed, keep removed + + $ hg co -C 6 + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg merge --config ui.interactive=true 11 <<EOF + > d + > EOF + local changed subrepository t which remote removed + use (c)hanged version or (d)elete? d + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) + $ hg debugsub + path s + source s + revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 + $ cat .hgsubstate + e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s + $ hg ci -m 'local changed, remote removed, keep removed' + created new head + $ hg debugsub + path s + source s + revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 + $ cat .hgsubstate + e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s + +clean up to avoid having to fix up the tests below + + $ hg co -C 10 + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ cat >> $HGRCPATH <<EOF + > [extensions] + > strip= + > EOF + $ hg strip -r 11:15 + saved backup bundle to $TESTTMP/t/.hg/strip-backup/*-backup.hg (glob) + clone $ cd .. -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org