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 - [email protected]
+
+- 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 [email protected] -- 
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


Reply via email to