commit mercurial for openSUSE:Factory
1 Jul
2016
1 Jul
'16
07:50
Hello community, here is the log from the commit of package mercurial for openSUSE:Factory checked in at 2016-07-01 09:50:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 2016-05-24 09:33:52.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.mercurial.new/mercurial.changes 2016-07-01 09:50:37.000000000 +0200 @@ -1,0 +2,9 @@ +Sun Jun 12 17:53:35 UTC 2016 - astieger@suse.com + +- mercurial 3.8.3: + * bookmarks: allow pushing active bookmark on new remote head + * localrepo: prevent executable-bit only changes from being lost on amend + * strip: invalidate phase cache after stripping changeset +- verify source signature + +------------------------------------------------------------------- Old: ---- mercurial-3.8.2.tar.gz New: ---- mercurial-3.8.3.tar.gz mercurial-3.8.3.tar.gz.asc mercurial.keyring ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mercurial.spec ++++++ --- /var/tmp/diff_new_pack.rbX1z6/_old 2016-07-01 09:50:38.000000000 +0200 +++ /var/tmp/diff_new_pack.rbX1z6/_new 2016-07-01 09:50:38.000000000 +0200 @@ -16,44 +16,45 @@ # +%if 0%{?suse_version} && 0%{?suse_version} <= 1110 +%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} +%endif Name: mercurial -Version: 3.8.2 +Version: 3.8.3 Release: 0 Summary: Scalable Distributed SCM License: GPL-2.0+ Group: Development/Tools/Version Control -Url: http://mercurial.selenic.com/ -Source: http://mercurial.selenic.com/release/mercurial-%{version}.tar.gz +Url: https://www.mercurial-scm.org/ +Source: https://www.mercurial-scm.org/release/mercurial-%{version}.tar.gz Source1: cacerts.rc +Source2: https://www.mercurial-scm.org/release/mercurial-%{version}.tar.gz.asc +Source3: mercurial.keyring Source99: mercurial-rpmlintrc Patch0: mercurial-hgk-path-fix.diff # PATCH-FIX-OPENSUSE mercurial-docutils-compat.diff -- Fix for new docutils options not available on 11.1 and older Patch1: mercurial-docutils-compat.diff # PATCH-FIX-OPENSUSE mercurial-locale-path-fix.patch saschpe@suse.de -- locales are found in /usr/share/locale Patch2: mercurial-locale-path-fix.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: fdupes BuildRequires: python-devel -%if %suse_version < 1210 +BuildRequires: python-xml +Requires: python +Requires: python-curses +Requires: python-xml +Recommends: %{name}-lang +Provides: hg = %{version} +BuildRoot: %{_tmppath}/%{name}-%{version}-build +%if 0%{?suse_version} < 1210 BuildRequires: docutils %else BuildRequires: python-docutils %endif -BuildRequires: python-xml -Requires: python-curses -Requires: python-xml %if 0%{?sles_version} Requires: openssl-certs %else Requires: ca-certificates %endif -Requires: python -Recommends: %{name}-lang -Provides: hg = %{version} -%if 0%{?suse_version} && 0%{?suse_version} <= 1110 -%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} -%endif - %if 0%{?with_tests} Source90: tests.blacklist BuildRequires: bzr @@ -77,13 +78,13 @@ %setup -q %patch0 %if 0%{?suse_version} && 0%{?suse_version} <= 1110 -%patch1 -p0 +%patch1 %endif %patch2 -p1 chmod 644 hgweb.cgi %build -make all +make %{?_smp_mflags} all %install make install PREFIX="%{_prefix}" DESTDIR=%{buildroot} @@ -105,10 +106,11 @@ %if 0%{?with_tests} %check -make tests TESTFLAGS="-v --blacklist=%{SOURCE90}" +make %{?_smp_mflags} tests TESTFLAGS="-v --blacklist=%{SOURCE90}" %endif %files lang -f hg.lang +%defattr(-,root,root) %files %defattr(-, root, root) ++++++ mercurial-3.8.2.tar.gz -> mercurial-3.8.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.8.2/.hgsigs new/mercurial-3.8.3/.hgsigs --- old/mercurial-3.8.2/.hgsigs 2016-05-17 00:21:26.000000000 +0200 +++ new/mercurial-3.8.3/.hgsigs 2016-06-01 22:48:39.000000000 +0200 @@ -126,3 +126,4 @@ 740156eedf2c450aee58b1a90b0e826f47c5da64 0 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.8.2/.hgtags new/mercurial-3.8.3/.hgtags --- old/mercurial-3.8.2/.hgtags 2016-05-17 00:21:26.000000000 +0200 +++ new/mercurial-3.8.3/.hgtags 2016-06-01 22:48:39.000000000 +0200 @@ -139,3 +139,4 @@ 740156eedf2c450aee58b1a90b0e826f47c5da64 3.8-rc f85de28eae32e7d3064b1a1321309071bbaaa069 3.8 a56296f55a5e1038ea5016dace2076b693c28a56 3.8.1 +aaabed77791a75968a12b8c43ad263631a23ee81 3.8.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.8.2/PKG-INFO new/mercurial-3.8.3/PKG-INFO --- old/mercurial-3.8.2/PKG-INFO 2016-05-17 00:21:39.000000000 +0200 +++ new/mercurial-3.8.3/PKG-INFO 2016-06-01 22:48:53.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: mercurial -Version: 3.8.2 +Version: 3.8.3 Summary: Fast scalable distributed SCM (revision control, version control) system Home-page: https://mercurial-scm.org/ Author: Matt Mackall and many others diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.8.2/mercurial/__version__.py new/mercurial-3.8.3/mercurial/__version__.py --- old/mercurial-3.8.2/mercurial/__version__.py 2016-05-17 00:21:36.000000000 +0200 +++ new/mercurial-3.8.3/mercurial/__version__.py 2016-06-01 22:48:50.000000000 +0200 @@ -1,2 +1,2 @@ # this file is autogenerated by setup.py -version = "3.8.2" +version = "3.8.3" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.8.2/mercurial/discovery.py new/mercurial-3.8.3/mercurial/discovery.py --- old/mercurial-3.8.2/mercurial/discovery.py 2016-05-17 00:21:18.000000000 +0200 +++ new/mercurial-3.8.3/mercurial/discovery.py 2016-06-01 22:48:29.000000000 +0200 @@ -240,15 +240,16 @@ def _nowarnheads(pushop): # Compute newly pushed bookmarks. We don't warn about bookmarked heads. - - # internal config: bookmarks.pushing - newbookmarks = pushop.ui.configlist('bookmarks', 'pushing') - repo = pushop.repo.unfiltered() remote = pushop.remote localbookmarks = repo._bookmarks remotebookmarks = remote.listkeys('bookmarks') bookmarkedheads = set() + + # internal config: bookmarks.pushing + newbookmarks = [localbookmarks.expandname(b) + for b in pushop.ui.configlist('bookmarks', 'pushing')] + for bm in localbookmarks: rnode = remotebookmarks.get(bm) if rnode and rnode in repo: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.8.2/mercurial/localrepo.py new/mercurial-3.8.3/mercurial/localrepo.py --- old/mercurial-3.8.2/mercurial/localrepo.py 2016-05-17 00:21:18.000000000 +0200 +++ new/mercurial-3.8.3/mercurial/localrepo.py 2016-06-01 22:48:30.000000000 +0200 @@ -1404,6 +1404,8 @@ node = fctx.filenode() if node in [fparent1, fparent2]: self.ui.debug('reusing %s filelog entry\n' % fname) + if manifest1.flags(fname) != fctx.flags(): + changelist.append(fname) return node flog = self.file(fname) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.8.2/mercurial/manifest.c new/mercurial-3.8.3/mercurial/manifest.c --- old/mercurial-3.8.2/mercurial/manifest.c 2016-05-17 00:21:18.000000000 +0200 +++ new/mercurial-3.8.3/mercurial/manifest.c 2016-06-01 22:48:29.000000000 +0200 @@ -861,7 +861,7 @@ {"iterkeys", (PyCFunction)lazymanifest_getkeysiter, METH_NOARGS, "Iterate over file names in this lazymanifest."}, {"iterentries", (PyCFunction)lazymanifest_getentriesiter, METH_NOARGS, - "Iterate over (path, nodeid, flags) typles in this lazymanifest."}, + "Iterate over (path, nodeid, flags) tuples in this lazymanifest."}, {"copy", (PyCFunction)lazymanifest_copy, METH_NOARGS, "Make a copy of this lazymanifest."}, {"filtercopy", (PyCFunction)lazymanifest_filtercopy, METH_O, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.8.2/mercurial/repair.py new/mercurial-3.8.3/mercurial/repair.py --- old/mercurial-3.8.2/mercurial/repair.py 2016-05-17 00:21:18.000000000 +0200 +++ new/mercurial-3.8.3/mercurial/repair.py 2016-06-01 22:48:29.000000000 +0200 @@ -194,6 +194,7 @@ if not repo.ui.verbose: repo.ui.popbuffer() f.close() + repo._phasecache.invalidate() for m in updatebm: bm[m] = repo[newbmtarget].node() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.8.2/tests/test-bookmarks-pushpull.t new/mercurial-3.8.3/tests/test-bookmarks-pushpull.t --- old/mercurial-3.8.2/tests/test-bookmarks-pushpull.t 2016-05-17 00:21:18.000000000 +0200 +++ new/mercurial-3.8.3/tests/test-bookmarks-pushpull.t 2016-06-01 22:48:29.000000000 +0200 @@ -690,7 +690,7 @@ $ echo c5 > f2 $ hg ci -Am5 created new head - $ hg push -B W + $ hg push -B . pushing to http://localhost:$HGPORT/ searching for changes remote: adding changesets diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.8.2/tests/test-cache-abuse.t new/mercurial-3.8.3/tests/test-cache-abuse.t --- old/mercurial-3.8.2/tests/test-cache-abuse.t 2016-05-17 00:21:18.000000000 +0200 +++ new/mercurial-3.8.3/tests/test-cache-abuse.t 2016-06-01 22:48:30.000000000 +0200 @@ -88,7 +88,7 @@ $ damage "log -qr branch(b2)" rbc-names-v1 --- before * (glob) +++ after * (glob) - @@ -1,8 +0,0 @@ + @@ -1,8 +?,0 @@ (glob) -2:5fb7d38b9dc4 -3:60b597ffdafa -4:b1174d11b69e diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.8.2/tests/test-commit-amend.t new/mercurial-3.8.3/tests/test-commit-amend.t --- old/mercurial-3.8.2/tests/test-commit-amend.t 2016-05-17 00:21:18.000000000 +0200 +++ new/mercurial-3.8.3/tests/test-commit-amend.t 2016-06-01 22:48:30.000000000 +0200 @@ -1156,3 +1156,21 @@ rev offset length delta linkrev nodeid p1 p2 0 0 88 -1 3 34a4d536c0c0 000000000000 000000000000 +Test if amend preserves executable bit changes + $ chmod +x newdirname/commonfile.py + $ hg ci -m chmod + $ hg ci --amend -m "chmod amended" + $ hg ci --amend -m "chmod amended second time" + $ hg log -p --git -r . + changeset: 8:b1326f52dddf + branch: newdirname + tag: tip + parent: 5:7fd235f7cb2f + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: chmod amended second time + + diff --git a/newdirname/commonfile.py b/newdirname/commonfile.py + old mode 100644 + new mode 100755 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.8.2/tests/test-commit-interactive.t new/mercurial-3.8.3/tests/test-commit-interactive.t --- old/mercurial-3.8.2/tests/test-commit-interactive.t 2016-05-17 00:21:18.000000000 +0200 +++ new/mercurial-3.8.3/tests/test-commit-interactive.t 2016-06-01 22:48:30.000000000 +0200 @@ -895,11 +895,24 @@ $ LANGUAGE=ja $ export LANGUAGE - $ hg commit -i --encoding cp932 2>&1 <<EOF | grep '^y - ' + $ cat > $TESTTMP/escape.py <<EOF + > from __future__ import absolute_import + > import sys + > def escape(c): + > o = ord(c) + > if o < 0x80: + > return c + > else: + > return r'\x%02x' % o # escape char setting MSB + > for l in sys.stdin: + > sys.stdout.write(''.join(escape(c) for c in l)) + > EOF + + $ hg commit -i --encoding cp932 2>&1 <<EOF | python $TESTTMP/escape.py | grep '^y - ' > ? > q > EOF - y - \x82\xb1\x82\xcc\x95\xcf\x8dX\x82\xf0\x8bL\x98^(yes) (esc) + y - \x82\xb1\x82\xcc\x95\xcf\x8dX\x82\xf0\x8bL\x98^(yes) $ LANGUAGE= #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.8.2/tests/test-strip.t new/mercurial-3.8.3/tests/test-strip.t --- old/mercurial-3.8.2/tests/test-strip.t 2016-05-17 00:21:18.000000000 +0200 +++ new/mercurial-3.8.3/tests/test-strip.t 2016-06-01 22:48:30.000000000 +0200 @@ -838,6 +838,41 @@ date: Thu Jan 01 00:00:00 1970 +0000 summary: mergeCD +Check that the phase cache is properly invalidated after a strip with bookmark. + + $ cat > ../stripstalephasecache.py << EOF + > from mercurial import extensions, localrepo + > def transactioncallback(orig, repo, desc, *args, **kwargs): + > def test(transaction): + > # observe cache inconsistency + > try: + > [repo.changelog.node(r) for r in repo.revs("not public()")] + > except IndexError: + > repo.ui.status("Index error!\n") + > transaction = orig(repo, desc, *args, **kwargs) + > # warm up the phase cache + > list(repo.revs("not public()")) + > if desc != 'strip': + > transaction.addpostclose("phase invalidation test", test) + > return transaction + > def extsetup(ui): + > extensions.wrapfunction(localrepo.localrepository, "transaction", + > transactioncallback) + > EOF + $ hg up -C 2 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ echo k > k + $ hg add k + $ hg commit -m commitK + $ echo l > l + $ hg add l + $ hg commit -m commitL + $ hg book -r tip blah + $ hg strip ".^" --config extensions.crash=$TESTTMP/stripstalephasecache.py + 0 files updated, 0 files merged, 2 files removed, 0 files unresolved + saved backup bundle to $TESTTMP/issue4736/.hg/strip-backup/8f0b4384875c-4fa10deb-backup.hg (glob) + $ hg up -C 1 + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved Error during post-close callback of the strip transaction (They should be gracefully handled and reported) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mercurial-3.8.2/tests/test-subrepo-git.t new/mercurial-3.8.3/tests/test-subrepo-git.t --- old/mercurial-3.8.2/tests/test-subrepo-git.t 2016-05-17 00:21:18.000000000 +0200 +++ new/mercurial-3.8.3/tests/test-subrepo-git.t 2016-06-01 22:48:30.000000000 +0200 @@ -1135,7 +1135,7 @@ test for Git CVE-2016-3068 $ hg init malicious-subrepository $ cd malicious-subrepository - $ echo "s = [git]ext::sh -c echo% pwned% >&2" > .hgsub + $ echo "s = [git]ext::sh -c echo% \$PWNED_MSG% >pwned.txt" > .hgsub $ git init s Initialized empty Git repository in $TESTTMP/tc/malicious-subrepository/s/.git/ $ cd s @@ -1145,23 +1145,30 @@ $ hg add .hgsub $ hg commit -m "add subrepo" $ cd .. - $ env -u GIT_ALLOW_PROTOCOL hg clone malicious-subrepository malicious-subrepository-protected + $ rm -f pwned.txt + $ env -u GIT_ALLOW_PROTOCOL \ + > PWNED_MSG="your git is too old or mercurial has regressed" hg clone \ + > malicious-subrepository malicious-subrepository-protected Cloning into '$TESTTMP/tc/malicious-subrepository-protected/s'... (glob) fatal: transport 'ext' not allowed updating to branch default - cloning subrepo s from ext::sh -c echo% pwned% >&2 + cloning subrepo s from ext::sh -c echo% $PWNED_MSG% >pwned.txt abort: git clone error 128 in s (in subrepo s) [255] + $ test -f pwned.txt && cat pwned.txt || true whitelisting of ext should be respected (that's the git submodule behaviour) - $ env GIT_ALLOW_PROTOCOL=ext hg clone malicious-subrepository malicious-subrepository-clone-allowed + $ rm -f pwned.txt + $ env GIT_ALLOW_PROTOCOL=ext PWNED_MSG="you asked for it" hg clone \ + > malicious-subrepository malicious-subrepository-clone-allowed Cloning into '$TESTTMP/tc/malicious-subrepository-clone-allowed/s'... (glob) - pwned fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. updating to branch default - cloning subrepo s from ext::sh -c echo% pwned% >&2 + cloning subrepo s from ext::sh -c echo% $PWNED_MSG% >pwned.txt abort: git clone error 128 in s (in subrepo s) [255] + $ cat pwned.txt + you asked for it
3104
Age (days ago)
3104
Last active (days ago)
0 comments
1 participants
participants (1)
-
root@hilbert.suse.de