Hello community, here is the log from the commit of package mercurial for openSUSE:Factory checked in at 2014-01-13 12:03:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 2013-12-16 16:35:49.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.mercurial.new/mercurial.changes 2014-01-13 12:03:11.000000000 +0100 @@ -1,0 +2,8 @@ +Thu Jan 9 15:07:08 UTC 2014 - w...@rosenauer.org + +- update to version 2.8.2 + * fileset, revset: do not use global parser object for thread safety + * hgweb: avoid initialization race (issue3953) + * mpatch: rewrite pointer overflow checks + +------------------------------------------------------------------- Old: ---- mercurial-2.8.1.tar.gz New: ---- mercurial-2.8.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mercurial.spec ++++++ --- /var/tmp/diff_new_pack.AW41pZ/_old 2014-01-13 12:03:12.000000000 +0100 +++ /var/tmp/diff_new_pack.AW41pZ/_new 2014-01-13 12:03:12.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package mercurial # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: mercurial -Version: 2.8.1 +Version: 2.8.2 Release: 0 Summary: Scalable Distributed SCM License: GPL-2.0+ ++++++ mercurial-2.8.1.tar.gz -> mercurial-2.8.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-2.8.1/.hgsigs new/mercurial-2.8.2/.hgsigs --- old/mercurial-2.8.1/.hgsigs 2013-12-02 03:51:16.000000000 +0100 +++ new/mercurial-2.8.2/.hgsigs 2014-01-02 04:46:45.000000000 +0100 @@ -80,3 +80,4 @@ e7fa36d2ad3a7944a52dca126458d6f482db3524 0 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-2.8.1/.hgtags new/mercurial-2.8.2/.hgtags --- old/mercurial-2.8.1/.hgtags 2013-12-02 03:51:16.000000000 +0100 +++ new/mercurial-2.8.2/.hgtags 2014-01-02 04:46:45.000000000 +0100 @@ -93,3 +93,4 @@ e7fa36d2ad3a7944a52dca126458d6f482db3524 2.7.2 1596f2d8f2421314b1ddead8f7d0c91009358994 2.8-rc d825e4025e39d1c39db943cdc89818abd0a87c27 2.8 +209e04a06467e2969c0cc6501335be0406d46ef0 2.8.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-2.8.1/PKG-INFO new/mercurial-2.8.2/PKG-INFO --- old/mercurial-2.8.1/PKG-INFO 2013-12-02 03:51:25.000000000 +0100 +++ new/mercurial-2.8.2/PKG-INFO 2014-01-02 04:46:53.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: mercurial -Version: 2.8.1 +Version: 2.8.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-2.8.1/i18n/check-translation.py new/mercurial-2.8.2/i18n/check-translation.py --- old/mercurial-2.8.1/i18n/check-translation.py 2013-12-02 03:51:10.000000000 +0100 +++ new/mercurial-2.8.2/i18n/check-translation.py 2014-01-02 04:46:39.000000000 +0100 @@ -122,6 +122,7 @@ (options, args) = optparser.parse_args() if options.doctest: + import os if 'TERM' in os.environ: del os.environ['TERM'] import doctest diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-2.8.1/i18n/ja.po new/mercurial-2.8.2/i18n/ja.po --- old/mercurial-2.8.1/i18n/ja.po 2013-12-02 03:51:10.000000000 +0100 +++ new/mercurial-2.8.2/i18n/ja.po 2014-01-02 04:46:39.000000000 +0100 @@ -149,8 +149,8 @@ msgstr "" "Project-Id-Version: Mercurial\n" "Report-Msgid-Bugs-To: <mercurial-de...@selenic.com>\n" -"POT-Creation-Date: 2013-11-28 16:18+0900\n" -"PO-Revision-Date: 2013-11-28 20:03+0900\n" +"POT-Creation-Date: 2013-12-30 21:16+0900\n" +"PO-Revision-Date: 2013-12-30 21:26+0900\n" "Last-Translator: Japanese translation team <mercurial...@googlegroups.com>\n" "Language-Team: Japanese\n" "Language: ja\n" @@ -8023,7 +8023,7 @@ " # 3 * refresh よりも小さい値の場合は、\n" " # この設定は無視されます。\n" " refresh = 0.1 # 進捗率表示更新間隔の秒数\n" -" format = topic bar number estimate # format of the progress bar\n" +" format = topic bar number estimate # 進捗率表示の形式指定\n" " width = <none> # 進捗率表示の最大カラム数\n" " # (width 設定と画面幅の小さい方が有効になります)\n" " clear-complete = True # 実行完了時の進捗率表示クリアの有無\n" @@ -10770,9 +10770,9 @@ " その他の非 0 終了コードは bad とみなされます。" msgid "" -" - start a bisection with known bad revision 12, and good revision 34::" +" - start a bisection with known bad revision 34, and good revision 12::" msgstr "" -" - 既知の bad なリビジョン 12 と good なリビジョン 34 から探索開始::" +" - 既知の bad なリビジョン 34 と good なリビジョン 12 から探索開始::" msgid "" " hg bisect --bad 34\n" @@ -10863,8 +10863,8 @@ msgid " hg log -r \"bisect(range)\"" msgstr " hg log -r \"bisect(range)\"" -msgid " - with the graphlog extension, you can even get a nice graph::" -msgstr " - graphlog エクステンション有効時は、履歴ツリー表示も可能::" +msgid " - you can even get a nice graph::" +msgstr " - ASCII文字による履歴ツリー表示も可能::" msgid " hg log --graph -r \"bisect(range)\"" msgstr " hg log --graph -r \"bisect(range)\"" @@ -17047,14 +17047,14 @@ msgid "" " [extensions]\n" -" # (the mq extension will get loaded from Mercurial's path)\n" -" mq =\n" +" # (the progress extension will get loaded from Mercurial's path)\n" +" progress =\n" " # (this extension will get loaded from the file specified)\n" " myfeature = ~/.hgext/myfeature.py" msgstr "" " [extensions]\n" -" # (mq エクステンションは Mercurial 同梱のものが読み込まれます)\n" -" mq =\n" +" # (progress エクステンションは Mercurial 同梱のものが読み込まれます)\n" +" progress =\n" " # (以下のエクステンションは指定のパスから読み込まれます)\n" " myfeature = ~/.hgext/myfeature.py" @@ -20264,15 +20264,15 @@ " system (DVCS) can be described as a directed acyclic graph (DAG),\n" " consisting of nodes and edges, where nodes correspond to\n" " changesets and edges imply a parent -> child relation. This graph\n" -" can be visualized by graphical tools such as :hg:`glog`\n" -" (graphlog). In Mercurial, the DAG is limited by the requirement\n" -" for children to have at most two parents." +" can be visualized by graphical tools such as :hg:`log --graph`. In\n" +" Mercurial, the DAG is limited by the requirement for children to\n" +" have at most two parents." msgstr "" "DAG\n" " 分散構成管理システム (DVCS) のリポジトリにおけるリビジョン群は、\n" " リビジョンに相当するノード (node) と、 親〜子の関係に相当するエッジ\n" " (edge) から成る、 非循環有向グラフ (directed acyclic graph:DAG)\n" -" として表すことができます。 このグラフは、 :hg:`glog` (graphlog)\n" +" として表すことができます。 このグラフは、 :hg:`log --graph`\n" " などにより可視化できます。 各リビジョンは最大2つの親しか持てない、\n" " というのが、 Mercurial の DAG における制約です。(※ 訳注:\n" " 多くのケースで DAG は 「履歴ツリー」 的なニュアンスで用いられるため、\n" @@ -20363,10 +20363,10 @@ msgid "" "Graph\n" -" See DAG and :hg:`help graphlog`." +" See DAG and :hg:`log --graph`." msgstr "" "Graph\n" -" DAG および :hg:`help graphlog` を参照してください。" +" 用語集の DAG の項目および :hg:`log --graph` 出力を参照してください。" msgid "" "Head\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-2.8.1/mercurial/__version__.py new/mercurial-2.8.2/mercurial/__version__.py --- old/mercurial-2.8.1/mercurial/__version__.py 2013-12-02 03:51:23.000000000 +0100 +++ new/mercurial-2.8.2/mercurial/__version__.py 2014-01-02 04:46:52.000000000 +0100 @@ -1,2 +1,2 @@ # this file is autogenerated by setup.py -version = "2.8.1" +version = "2.8.2" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-2.8.1/mercurial/fileset.py new/mercurial-2.8.2/mercurial/fileset.py --- old/mercurial-2.8.1/mercurial/fileset.py 2013-12-02 03:51:10.000000000 +0100 +++ new/mercurial-2.8.2/mercurial/fileset.py 2014-01-02 04:46:39.000000000 +0100 @@ -78,7 +78,9 @@ pos += 1 yield ('end', None, pos) -parse = parser.parser(tokenize, elements).parse +def parse(expr): + p = parser.parser(tokenize, elements) + return p.parse(expr) def getstring(x, err): if x and (x[0] == 'string' or x[0] == 'symbol'): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-2.8.1/mercurial/hgweb/hgweb_mod.py new/mercurial-2.8.2/mercurial/hgweb/hgweb_mod.py --- old/mercurial-2.8.1/mercurial/hgweb/hgweb_mod.py 2013-12-02 03:51:10.000000000 +0100 +++ new/mercurial-2.8.2/mercurial/hgweb/hgweb_mod.py 2014-01-02 04:46:39.000000000 +0100 @@ -59,15 +59,16 @@ u = baseui.copy() else: u = ui.ui() - self.repo = hg.repository(u, repo) + r = hg.repository(u, repo) else: - self.repo = repo + r = repo - self.repo = self._getview(self.repo) - self.repo.ui.setconfig('ui', 'report_untrusted', 'off') - self.repo.baseui.setconfig('ui', 'report_untrusted', 'off') - self.repo.ui.setconfig('ui', 'nontty', 'true') - self.repo.baseui.setconfig('ui', 'nontty', 'true') + r = self._getview(r) + r.ui.setconfig('ui', 'report_untrusted', 'off') + r.baseui.setconfig('ui', 'report_untrusted', 'off') + r.ui.setconfig('ui', 'nontty', 'true') + r.baseui.setconfig('ui', 'nontty', 'true') + self.repo = r hook.redirect(True) self.mtime = -1 self.size = -1 @@ -94,7 +95,8 @@ untrusted=untrusted) def _getview(self, repo): - viewconfig = self.config('web', 'view', 'served') + viewconfig = repo.ui.config('web', 'view', 'served', + untrusted=True) if viewconfig == 'all': return repo.unfiltered() elif viewconfig in repoview.filtertable: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-2.8.1/mercurial/mpatch.c new/mercurial-2.8.2/mercurial/mpatch.c --- old/mercurial-2.8.1/mercurial/mpatch.c 2013-12-02 03:51:10.000000000 +0100 +++ new/mercurial-2.8.2/mercurial/mpatch.c 2014-01-02 04:46:39.000000000 +0100 @@ -202,7 +202,7 @@ { struct flist *l; struct frag *lt; - const char *data = bin + 12, *end = bin + len; + int pos = 0; /* assume worst case size, we won't have many of these lists */ l = lalloc(len / 12); @@ -211,21 +211,18 @@ lt = l->tail; - while (data <= end) { - lt->start = getbe32(bin); - lt->end = getbe32(bin + 4); - lt->len = getbe32(bin + 8); + while (pos >= 0 && pos < len) { + lt->start = getbe32(bin + pos); + lt->end = getbe32(bin + pos + 4); + lt->len = getbe32(bin + pos + 8); if (lt->start > lt->end) break; /* sanity check */ - bin = data + lt->len; - if (bin < data) - break; /* big data + big (bogus) len can wrap around */ - lt->data = data; - data = bin + 12; + lt->data = bin + pos + 12; + pos += 12 + lt->len; lt++; } - if (bin != end) { + if (pos != len) { if (!PyErr_Occurred()) PyErr_SetString(mpatch_Error, "patch cannot be decoded"); lfree(l); @@ -355,32 +352,26 @@ static PyObject * patchedsize(PyObject *self, PyObject *args) { - long orig, start, end, len, outlen = 0, last = 0; + long orig, start, end, len, outlen = 0, last = 0, pos = 0; Py_ssize_t patchlen; - char *bin, *binend, *data; + char *bin; if (!PyArg_ParseTuple(args, "ls#", &orig, &bin, &patchlen)) return NULL; - binend = bin + patchlen; - data = bin + 12; - - while (data <= binend) { - start = getbe32(bin); - end = getbe32(bin + 4); - len = getbe32(bin + 8); + while (pos >= 0 && pos < patchlen) { + start = getbe32(bin + pos); + end = getbe32(bin + pos + 4); + len = getbe32(bin + pos + 8); if (start > end) break; /* sanity check */ - bin = data + len; - if (bin < data) - break; /* big data + big (bogus) len can wrap around */ - data = bin + 12; + pos += 12 + len; outlen += start - last; last = end; outlen += len; } - if (bin != binend) { + if (pos != patchlen) { if (!PyErr_Occurred()) PyErr_SetString(mpatch_Error, "patch cannot be decoded"); return NULL; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-2.8.1/mercurial/parsers.c new/mercurial-2.8.2/mercurial/parsers.c --- old/mercurial-2.8.1/mercurial/parsers.c 2013-12-02 03:51:10.000000000 +0100 +++ new/mercurial-2.8.2/mercurial/parsers.c 2014-01-02 04:46:39.000000000 +0100 @@ -155,10 +155,10 @@ { PyObject *dmap, *cmap, *parents = NULL, *ret = NULL; PyObject *fname = NULL, *cname = NULL, *entry = NULL; - char state, *str, *cur, *end, *cpos; + char state, *cur, *str, *cpos; int mode, size, mtime; unsigned int flen; - int len; + int len, pos = 40; if (!PyArg_ParseTuple(args, "O!O!s#:parse_dirstate", &PyDict_Type, &dmap, @@ -175,18 +175,17 @@ goto quit; /* read filenames */ - cur = str + 40; - end = str + len; - - while (cur < end - 17) { + while (pos >= 40 && pos < len) { + cur = str + pos; /* unpack header */ state = *cur; mode = getbe32(cur + 1); size = getbe32(cur + 5); mtime = getbe32(cur + 9); flen = getbe32(cur + 13); + pos += 17; cur += 17; - if (cur + flen > end || cur + flen < cur) { + if (flen > len - pos || flen < 0) { PyErr_SetString(PyExc_ValueError, "overflow in dirstate"); goto quit; } @@ -212,10 +211,10 @@ PyDict_SetItem(dmap, fname, entry) == -1) goto quit; } - cur += flen; Py_DECREF(fname); Py_DECREF(entry); fname = cname = entry = NULL; + pos += flen; } ret = parents; @@ -1678,28 +1677,23 @@ static long inline_scan(indexObject *self, const char **offsets) { const char *data = PyString_AS_STRING(self->data); - const char *end = data + PyString_GET_SIZE(self->data); + Py_ssize_t pos = 0; + Py_ssize_t end = PyString_GET_SIZE(self->data); long incr = v1_hdrsize; Py_ssize_t len = 0; - while (data + v1_hdrsize <= end) { + while (pos + v1_hdrsize <= end && pos >= 0) { uint32_t comp_len; - const char *old_data; /* 3rd element of header is length of compressed inline data */ - comp_len = getbe32(data + 8); + comp_len = getbe32(data + pos + 8); incr = v1_hdrsize + comp_len; - if (incr < v1_hdrsize) - break; if (offsets) - offsets[len] = data; + offsets[len] = data + pos; len++; - old_data = data; - data += incr; - if (data <= old_data) - break; + pos += incr; } - if (data != end && data + v1_hdrsize != end) { + if (pos != end) { if (!PyErr_Occurred()) PyErr_SetString(PyExc_ValueError, "corrupt index file"); return -1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-2.8.1/mercurial/revset.py new/mercurial-2.8.2/mercurial/revset.py --- old/mercurial-2.8.1/mercurial/revset.py 2013-12-02 03:51:10.000000000 +0100 +++ new/mercurial-2.8.2/mercurial/revset.py 2014-01-02 04:46:39.000000000 +0100 @@ -1880,7 +1880,9 @@ aliases[alias.name] = alias return _expandaliases(aliases, tree, [], {}) -parse = parser.parser(tokenize, elements).parse +def parse(spec): + p = parser.parser(tokenize, elements) + return p.parse(spec) def match(ui, spec): if not spec: -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org