merge with stable
authorPierre-Yves David <pierre-yves.david@fb.com>
Thu, 23 Apr 2015 03:18:30 +0200
changeset 1283 35d8789ea7a8
parent 1272 749c931aa47b (current diff)
parent 1282 2da7b531879a (diff)
child 1290 8aa9a21156fe
merge with stable
hgext/evolve.py
tests/test-evolve.t
--- a/.hgtags	Mon Apr 20 14:21:38 2015 +0200
+++ b/.hgtags	Thu Apr 23 03:18:30 2015 +0200
@@ -34,3 +34,4 @@
 9b8628e0a142e0e094e27430c388e3c12ceba513 5.1.1
 e886bc501796d53e0a19e608c6e5a6071191819e 5.1.2
 c52c15100fb2d85c3525d6d085b3663ec4f90fe6 5.1.3
+891c3ce894fa879532299910735bcc2a968245b1 5.1.4
--- a/README	Mon Apr 20 14:21:38 2015 +0200
+++ b/README	Thu Apr 23 03:18:30 2015 +0200
@@ -51,9 +51,12 @@
 Changelog
 =========
 
-5.1.4 --
+5.1.4 -- 2015-04-23
 
 - significant documentation update
+- fix issue4616: pulling with bundle2 would crash if common marker when
+  discovered on non-served changesets.
+- fix the debugobsrelsethashtree command
 
 5.1.3 -- 2015-04-20
 
--- a/debian/changelog	Mon Apr 20 14:21:38 2015 +0200
+++ b/debian/changelog	Thu Apr 23 03:18:30 2015 +0200
@@ -1,3 +1,9 @@
+mercurial-evolve (5.1.3-1) unstable; urgency=medium
+
+  * new upstream release
+
+ -- Julien Cristau <julien.cristau@logilab.fr>  Mon, 20 Apr 2015 14:44:45 +0200
+
 mercurial-evolve (5.0.2-1) unstable; urgency=medium
 
   * new upstream release
@@ -10,6 +16,12 @@
 
  -- Faheem Mitha <faheem@faheem.info>  Wed, 12 Nov 2014 11:24:28 +0530
 
+mercurial-evolve (5.0.0+-1) UNRELEASED; urgency=low
+
+  * new upstream snapshot
+
+ -- Julien Cristau <julien.cristau@logilab.fr>  Mon, 17 Nov 2014 15:44:32 +0100
+
 mercurial-evolve (4.1.0-1) unstable; urgency=medium
 
   * new upstream release
--- a/debian/control	Mon Apr 20 14:21:38 2015 +0200
+++ b/debian/control	Thu Apr 23 03:18:30 2015 +0200
@@ -7,13 +7,13 @@
  Pierre-Yves David <pierre-yves.david@logilab.fr>,
 Standards-Version: 3.9.3
 Build-Depends:
- mercurial (>= 3.2~),
+ mercurial (>= 3.4~),
  python,
  debhelper (>= 8),
  python-sphinx (>= 1.0.8),
  imagemagick,
  librsvg2-bin,
- curl,
+ wget,
 Python-Version: >= 2.6
 Homepage: https://bitbucket.org/marmoute/mutable-history
 
@@ -22,7 +22,7 @@
 Depends:
  ${python:Depends},
  ${misc:Depends},
- mercurial (>= 3.2~),
+ mercurial (>= 3.3~),
 Description: evolve extension for Mercurial
  This package provides the experimental "evolve" extension for the Mercurial
  DVCS.
--- a/hgext/evolve.py	Mon Apr 20 14:21:38 2015 +0200
+++ b/hgext/evolve.py	Thu Apr 23 03:18:30 2015 +0200
@@ -19,7 +19,7 @@
     - improves some aspect of the early implementation in Mercurial core
 '''
 
-__version__ = '5.1.3'
+__version__ = '5.1.4'
 testedwith = '3.3.3 3.4-rc'
 buglink = 'http://bz.selenic.com/'
 
@@ -27,7 +27,6 @@
 import random
 from StringIO import StringIO
 import struct
-import urllib
 import re
 sha1re = re.compile(r'\b[0-9a-f]{6,40}\b')
 
@@ -2757,7 +2756,7 @@
                 heads = repo.heads()
             obscommon = kwargs.get('evo_obscommon', ())
             assert obscommon
-            obsset = repo.set('::%ln - ::%ln', heads, obscommon)
+            obsset = repo.unfiltered().set('::%ln - ::%ln', heads, obscommon)
             subset = [c.node() for c in obsset]
             markers = repo.obsstore.relevantmarkers(subset)
             exchange.buildobsmarkerspart(bundler, markers)
@@ -2936,7 +2935,6 @@
     else:
         treefunc = _obsrelsethashtreefm1
 
-    treefunc = _obsrelsethashtree
     for chg, obs in treefunc(repo):
         ui.status('%s %s\n' % (node.hex(chg), node.hex(obs)))
 
--- a/tests/test-evolve.t	Mon Apr 20 14:21:38 2015 +0200
+++ b/tests/test-evolve.t	Thu Apr 23 03:18:30 2015 +0200
@@ -102,6 +102,17 @@
   1 changesets pruned
   $ hg st
   A g
+
+Smoketest debugobsrelsethashtree:
+
+  $ hg debugobsrelsethashtree
+  1f0dee641bb7258c56bd60e93edfa2405381c41e 0000000000000000000000000000000000000000
+  7c3bad9141dcb46ff89abf5f61856facd56e476c * (glob)
+  4538525df7e2b9f09423636c61ef63a4cb872a2d * (glob)
+  47d2a3944de8b013de3be9578e8e344ea2e6c097 * (glob)
+  fbb94e3a0ecf6d20c2cc31152ef162ce45af982f * (glob)
+  e44648563c73f75950076031c6fdf06629de95f1 * (glob)
+
   $ cd ..
 
 ##########################
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-wireproto-bundle1.t	Thu Apr 23 03:18:30 2015 +0200
@@ -0,0 +1,100 @@
+
+  $ cat >> $HGRCPATH <<EOF
+  > [defaults]
+  > amend=-d "0 0"
+  > [ui]
+  > ssh=python "$TESTDIR/dummyssh"
+  > [phases]
+  > publish = False
+  > [extensions]
+  > EOF
+  $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext/evolve.py" >> $HGRCPATH
+
+  $ mkcommit() {
+  >    echo "$1" > "$1"
+  >    hg add "$1"
+  >    hg ci -m "add $1"
+  > }
+
+setup repo
+
+  $ hg init server
+
+  $ hg clone ssh://user@dummy/server client
+  no changes found
+  updating to branch default
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ cp -r client other
+
+Smoke testing
+===============
+
+  $ cd client
+  $ mkcommit 0
+  $ mkcommit a
+  $ hg push
+  pushing to ssh://user@dummy/server
+  searching for changes
+  remote: adding changesets
+  remote: adding manifests
+  remote: adding file changes
+  remote: added 2 changesets with 2 changes to 2 files
+  $ hg pull
+  pulling from ssh://user@dummy/server
+  searching for changes
+  no changes found
+  $ hg pull -R ../other
+  pulling from ssh://user@dummy/server
+  requesting all changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 2 changesets with 2 changes to 2 files
+  pull obsolescence markers
+  (run 'hg update' to get a working copy)
+  $ hg push -R ../other
+  pushing to ssh://user@dummy/server
+  searching for changes
+  no changes found
+  [1]
+
+Push
+=============
+
+  $ echo 'A' > a
+  $ hg amend
+  $ hg push
+  pushing to ssh://user@dummy/server
+  searching for changes
+  remote: adding changesets
+  remote: adding manifests
+  remote: adding file changes
+  remote: added 1 changesets with 1 changes to 1 files (+1 heads)
+  pushing 2 obsolescence markers (* bytes) (glob)
+  remote: 2 obsolescence markers added
+  $ hg push
+  pushing to ssh://user@dummy/server
+  searching for changes
+  no changes found
+  [1]
+
+Pull
+=============
+
+  $ hg -R ../other pull
+  pulling from ssh://user@dummy/server
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 1 changes to [12] files \(\+1 heads\) (re)
+  pull obsolescence markers
+  2 obsolescence markers added
+  (run 'hg heads' to see heads)
+  $ hg -R ../other pull
+  pulling from ssh://user@dummy/server
+  searching for changes
+  no changes found
+
+  $ cd ..
+
--- a/tests/test-wireproto.t	Mon Apr 20 14:21:38 2015 +0200
+++ b/tests/test-wireproto.t	Thu Apr 23 03:18:30 2015 +0200
@@ -2,6 +2,9 @@
   $ cat >> $HGRCPATH <<EOF
   > [defaults]
   > amend=-d "0 0"
+  > [experimental]
+  > obsmarkers-exchange-debug=true
+  > bundle2-exp=true
   > [ui]
   > ssh=python "$TESTDIR/dummyssh"
   > [phases]
@@ -50,7 +53,6 @@
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
-  pull obsolescence markers
   (run 'hg update' to get a working copy)
   $ hg push -R ../other
   pushing to ssh://user@dummy/server
@@ -70,8 +72,8 @@
   remote: adding manifests
   remote: adding file changes
   remote: added 1 changesets with 1 changes to 1 files (+1 heads)
-  pushing 2 obsolescence markers (* bytes) (glob)
-  remote: 2 obsolescence markers added
+  remote: obsmarker-exchange: 139 bytes received
+  remote: 2 new obsolescence markers
   $ hg push
   pushing to ssh://user@dummy/server
   searching for changes
@@ -88,13 +90,63 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to [12] files \(\+1 heads\) (re)
-  pull obsolescence markers
-  2 obsolescence markers added
-  (run 'hg heads' to see heads)
+  obsmarker-exchange: 139 bytes received
+  2 new obsolescence markers
+  (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg -R ../other pull
   pulling from ssh://user@dummy/server
   searching for changes
   no changes found
 
+Test some markers discovery
+===========================
+
+  $ echo c > C
+  $ hg add C
+  $ hg commit -m C
+  $ echo c >> C
+  $ hg amend
+  $ hg push
+  pushing to ssh://user@dummy/server
+  searching for changes
+  remote: adding changesets
+  remote: adding manifests
+  remote: adding file changes
+  remote: added 1 changesets with 1 changes to 1 files
+  remote: obsmarker-exchange: 139 bytes received
+  remote: 2 new obsolescence markers
+  $ hg -R ../other pull
+  pulling from ssh://user@dummy/server
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 1 changes to 1 files
+  obsmarker-exchange: 139 bytes received
+  2 new obsolescence markers
+  (run 'hg update' to get a working copy)
+
+some common hidden
+
+  $ hg touch .
+  $ hg push
+  pushing to ssh://user@dummy/server
+  searching for changes
+  remote: adding changesets
+  remote: adding manifests
+  remote: adding file changes
+  remote: added 1 changesets with 0 changes to 1 files (+1 heads)
+  remote: obsmarker-exchange: 208 bytes received
+  remote: 1 new obsolescence markers
+  $ hg -R ../other pull
+  pulling from ssh://user@dummy/server
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 0 changes to 3 files (+1 heads)
+  obsmarker-exchange: 208 bytes received
+  1 new obsolescence markers
+  (run 'hg heads' to see heads, 'hg merge' to merge)
+
   $ cd ..
-