tests/test-qsync.t
changeset 220 ff3158d0d7e8
child 249 bd0917068cc7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-qsync.t	Fri May 04 14:33:35 2012 +0200
@@ -0,0 +1,212 @@
+  $ cat >> $HGRCPATH <<EOF
+  > [defaults]
+  > amend=-d "0 0"
+  > [web]
+  > push_ssl = false
+  > allow_push = *
+  > [phases]
+  > publish = False
+  > [alias]
+  > qlog = log --template='{rev} - {node|short} {desc} ({phase})\n'
+  > mqlog = log --mq --template='{rev} - {desc}\n'
+  > [diff]
+  > git = 1
+  > unified = 0
+  > [extensions]
+  > hgext.rebase=
+  > hgext.graphlog=
+  > hgext.mq=
+  > EOF
+  $ echo "obsolete=$(echo $(dirname $TESTDIR))/hgext/obsolete.py" >> $HGRCPATH
+  $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext/evolve.py" >> $HGRCPATH
+  $ echo "qsync=$(echo $(dirname $TESTDIR))/hgext/qsync.py" >> $HGRCPATH
+  $ mkcommit() {
+  >    echo "$1" > "$1"
+  >    hg add "$1"
+  >    hg ci -m "add $1"
+  > }
+
+basic sync
+
+  $ hg init local
+  $ cd local
+  $ hg qinit -c
+  $ hg qci -m "initial commit"
+  $ mkcommit a
+  $ mkcommit b
+  $ hg qlog
+  1 - 7c3bad9141dc add b (draft)
+  0 - 1f0dee641bb7 add a (draft)
+  $ hg qsync -a
+  $ hg mqlog
+  2 - qsubmit commit
+  
+  * DEFAULT-add_a.diff ready for review
+  * DEFAULT-add_b.diff ready for review
+  1 - qsubmit init
+  0 - initial commit
+
+basic sync II
+
+  $ hg init local
+  $ cd local
+  $ hg qinit -c
+  $ hg qci -m "initial commit"
+  $ mkcommit a
+  $ mkcommit b
+  $ hg qlog
+  1 - 7c3bad9141dc add b (draft)
+  0 - 1f0dee641bb7 add a (draft)
+  $ hg qsync -a
+  $ hg mqlog
+  2 - qsubmit commit
+  
+  * DEFAULT-add_a.diff ready for review
+  * DEFAULT-add_b.diff ready for review
+  1 - qsubmit init
+  0 - initial commit
+
+  $ echo "b" >> b
+  $ hg amend
+  $ hg qsync -a
+  $ hg mqlog
+  3 - qsubmit commit
+  
+  * DEFAULT-add_b.diff ready for review
+  2 - qsubmit commit
+  
+  * DEFAULT-add_a.diff ready for review
+  * DEFAULT-add_b.diff ready for review
+  1 - qsubmit init
+  0 - initial commit
+
+  $ hg up -r 0
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  $ echo "a" >> a
+  $ hg amend
+  1 new unstables changesets
+  $ hg graft -O 3
+  grafting revision 3
+  $ hg qsync -a
+  $ hg mqlog
+  4 - qsubmit commit
+  
+  * DEFAULT-add_a.diff ready for review
+  * DEFAULT-add_b.diff ready for review
+  3 - qsubmit commit
+  
+  * DEFAULT-add_b.diff ready for review
+  2 - qsubmit commit
+  
+  * DEFAULT-add_a.diff ready for review
+  * DEFAULT-add_b.diff ready for review
+  1 - qsubmit init
+  0 - initial commit
+
+sync with published changeset
+
+  $ hg init local
+  $ cd local
+  $ hg qinit -c
+  $ hg qci -m "initial commit"
+  $ mkcommit a
+  $ mkcommit b
+  $ hg qlog
+  1 - 7c3bad9141dc add b (draft)
+  0 - 1f0dee641bb7 add a (draft)
+  $ hg qsync -a
+  $ hg mqlog
+  2 - qsubmit commit
+  
+  * DEFAULT-add_a.diff ready for review
+  * DEFAULT-add_b.diff ready for review
+  1 - qsubmit init
+  0 - initial commit
+
+  $ hg phase -p 0
+  $ hg qsync -a
+  $ hg mqlog
+  3 - qsubmit commit
+  
+  * applied DEFAULT-add_a.diff
+  2 - qsubmit commit
+  
+  * DEFAULT-add_a.diff ready for review
+  * DEFAULT-add_b.diff ready for review
+  1 - qsubmit init
+  0 - initial commit
+
+  $ mkcommit c
+  $ mkcommit d
+  $ hg qsync -a
+  $ hg mqlog
+  4 - qsubmit commit
+  
+  * DEFAULT-add_c.diff ready for review
+  * DEFAULT-add_d.diff ready for review
+  3 - qsubmit commit
+  
+  * applied DEFAULT-add_a.diff
+  2 - qsubmit commit
+  
+  * DEFAULT-add_a.diff ready for review
+  * DEFAULT-add_b.diff ready for review
+  1 - qsubmit init
+  0 - initial commit
+
+  $ cd ..
+  $ hg qclone -U local local2
+  $ cd local2
+  $ hg qlog
+  3 - 47d2a3944de8 add d (draft)
+  2 - 4538525df7e2 add c (draft)
+  1 - 7c3bad9141dc add b (draft)
+  0 - 1f0dee641bb7 add a (public)
+  $ hg strip -n 1 --no-backup
+  $ hg up
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg up --mq 4
+  6 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg qseries
+  DEFAULT-add_b.diff
+  DEFAULT-add_c.diff
+  DEFAULT-add_d.diff
+  $ hg qpush
+  applying DEFAULT-add_b.diff
+  now at: DEFAULT-add_b.diff
+  $ hg qfinish -a
+  $ hg phase -p .
+  $ hg qci -m "applied DEFAULT-add_b.diff"
+  $ cd ../local
+  $ hg pull ../local2
+  pulling from ../local2
+  searching for changes
+  no changes found
+  $ hg pull --mq ../local2/.hg/patches
+  pulling from ../local2/.hg/patches
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 1 changes to 1 files
+  (run 'hg update' to get a working copy)
+  $ hg qlog
+  3 - 47d2a3944de8 add d (draft)
+  2 - 4538525df7e2 add c (draft)
+  1 - 7c3bad9141dc add b (public)
+  0 - 1f0dee641bb7 add a (public)
+  $ hg mqlog -l 1
+  5 - applied DEFAULT-add_b.diff
+  $ hg status --mq --rev tip:-2
+  M series
+  A DEFAULT-add_b.diff
+  $ hg qsync -a
+  $ hg status --mq --rev tip:-2
+  M qsubmitdata
+  $ hg mqlog -l 1
+  6 - qsubmit commit
+  
+  * applied DEFAULT-add_b.diff
+  $ hg qsync -a
+  abort: Nothing changed
+  [255]