2016-07-12 22:39:34 +03:00
|
|
|
$ . $TESTDIR/require-ext.sh remotenames
|
|
|
|
|
2016-02-05 09:47:14 +03:00
|
|
|
Setup
|
|
|
|
|
|
|
|
$ PYTHONPATH=$TESTDIR/..:$PYTHONPATH
|
|
|
|
$ export PYTHONPATH
|
|
|
|
|
2015-06-26 21:05:46 +03:00
|
|
|
$ cat >> $HGRCPATH << EOF
|
|
|
|
> [ui]
|
2015-10-01 23:03:03 +03:00
|
|
|
> ssh = python "$RUNTESTDIR/dummyssh"
|
2015-06-26 21:05:46 +03:00
|
|
|
> EOF
|
|
|
|
|
|
|
|
Set up server repository
|
|
|
|
|
|
|
|
$ hg init server
|
|
|
|
$ cd server
|
2016-02-20 01:24:59 +03:00
|
|
|
$ cat >> .hg/hgrc << EOF
|
|
|
|
> [extensions]
|
2017-06-19 18:02:38 +03:00
|
|
|
> pushrebase=$TESTDIR/../hgext3rd/pushrebase.py
|
2016-02-20 01:24:59 +03:00
|
|
|
> remotenames = !
|
|
|
|
> [experimental]
|
|
|
|
> bundle2-exp=True
|
|
|
|
> EOF
|
2015-06-26 21:05:46 +03:00
|
|
|
$ echo foo > a
|
|
|
|
$ echo foo > b
|
|
|
|
$ hg commit -Am 'initial'
|
|
|
|
adding a
|
|
|
|
adding b
|
|
|
|
$ hg book master
|
|
|
|
$ cd ..
|
|
|
|
|
|
|
|
Set up client repository
|
|
|
|
|
2016-02-20 01:24:59 +03:00
|
|
|
$ hg clone --config 'extensions.remotenames=' ssh://user@dummy/server client -q
|
2015-06-26 21:05:46 +03:00
|
|
|
|
|
|
|
Test that pushing to a remotename gets rebased
|
|
|
|
|
|
|
|
$ cd server
|
|
|
|
$ hg up -q master
|
|
|
|
$ echo x >> a && hg commit -m "master's commit"
|
|
|
|
$ cd ../client
|
2016-02-20 01:24:59 +03:00
|
|
|
$ cat >> .hg/hgrc << EOF
|
|
|
|
> [extensions]
|
|
|
|
> remotenames =
|
2017-06-19 18:02:38 +03:00
|
|
|
> pushrebase=$TESTDIR/../hgext3rd/pushrebase.py
|
2016-02-20 01:24:59 +03:00
|
|
|
> [remotenames]
|
|
|
|
> allownonfastforward=True
|
|
|
|
> [experimental]
|
|
|
|
> bundle2-exp=True
|
|
|
|
> EOF
|
2015-06-26 21:05:46 +03:00
|
|
|
$ echo x >> b && hg commit -m "client's commit"
|
|
|
|
$ hg log -G -T '{rev} "{desc}" {remotebookmarks}'
|
|
|
|
@ 1 "client's commit"
|
|
|
|
|
|
|
|
|
o 0 "initial" default/master
|
|
|
|
|
|
|
|
|
2015-07-13 23:44:56 +03:00
|
|
|
$ hg push --to master
|
2015-06-26 21:05:46 +03:00
|
|
|
pushing rev 5c3cfb78df2f to destination ssh://user@dummy/server bookmark master
|
|
|
|
searching for changes
|
2017-07-24 21:42:24 +03:00
|
|
|
remote: pushing 1 changeset:
|
2015-10-29 04:19:18 +03:00
|
|
|
remote: 5c3cfb78df2f client's commit
|
2016-09-21 17:45:25 +03:00
|
|
|
remote: 2 new changesets from the server will be downloaded
|
2015-06-26 21:05:46 +03:00
|
|
|
adding changesets
|
|
|
|
adding manifests
|
|
|
|
adding file changes
|
|
|
|
added 2 changesets with 1 changes to 2 files (+1 heads)
|
|
|
|
updating bookmark master
|
|
|
|
|
|
|
|
$ hg log -G -T '{rev} "{desc}" {remotebookmarks}'
|
|
|
|
o 3 "client's commit" default/master
|
|
|
|
|
|
|
|
|
o 2 "master's commit"
|
|
|
|
|
|
|
|
|
| @ 1 "client's commit"
|
|
|
|
|/
|
|
|
|
o 0 "initial"
|
|
|
|
|
|
|
|
|
|
|
|
$ cd ../server
|
|
|
|
$ hg log -G -T '{rev} "{desc}" {bookmarks}'
|
|
|
|
o 2 "client's commit" master
|
|
|
|
|
|
|
|
|
@ 1 "master's commit"
|
|
|
|
|
|
|
|
|
o 0 "initial"
|
|
|
|
|
2015-07-14 08:01:02 +03:00
|
|
|
Test pushing a new bookmark
|
|
|
|
$ cd ..
|
|
|
|
$ hg -R client push --to newbook
|
|
|
|
pushing rev 5c3cfb78df2f to destination ssh://user@dummy/server bookmark newbook
|
|
|
|
searching for changes
|
2015-11-18 04:54:28 +03:00
|
|
|
abort: not creating new remote bookmark
|
|
|
|
(use --create to create a new bookmark)
|
2015-07-14 08:01:02 +03:00
|
|
|
[255]
|
|
|
|
|
2015-11-18 04:54:28 +03:00
|
|
|
$ hg -R client push --to newbook --create
|
2015-07-14 08:01:02 +03:00
|
|
|
pushing rev 5c3cfb78df2f to destination ssh://user@dummy/server bookmark newbook
|
|
|
|
searching for changes
|
2017-07-24 21:42:24 +03:00
|
|
|
remote: pushing 1 changeset:
|
2015-10-29 04:19:18 +03:00
|
|
|
remote: 5c3cfb78df2f client's commit
|
2015-09-25 06:03:02 +03:00
|
|
|
exporting bookmark newbook
|
2015-07-14 08:01:02 +03:00
|
|
|
$ hg -R server book
|
|
|
|
* master 2:796d44dcaae0
|
|
|
|
newbook 3:5c3cfb78df2f
|
2015-08-04 01:33:00 +03:00
|
|
|
$ hg -R server log -G -T '{rev} "{desc}" {bookmarks}'
|
|
|
|
o 3 "client's commit" newbook
|
|
|
|
|
|
|
|
|
| o 2 "client's commit" master
|
|
|
|
| |
|
|
|
|
| @ 1 "master's commit"
|
|
|
|
|/
|
|
|
|
o 0 "initial"
|
|
|
|
|
|
|
|
Test doing a non-fastforward bookmark move
|
|
|
|
|
|
|
|
$ hg -R client push --to newbook -r master -f
|
|
|
|
pushing rev 796d44dcaae0 to destination ssh://user@dummy/server bookmark newbook
|
|
|
|
searching for changes
|
|
|
|
no changes found
|
|
|
|
updating bookmark newbook
|
|
|
|
[1]
|
|
|
|
$ hg -R server log -G -T '{rev} "{desc}" {bookmarks}'
|
|
|
|
o 3 "client's commit"
|
|
|
|
|
|
|
|
|
| o 2 "client's commit" master newbook
|
|
|
|
| |
|
|
|
|
| @ 1 "master's commit"
|
|
|
|
|/
|
|
|
|
o 0 "initial"
|
|
|
|
|
2015-09-29 04:42:18 +03:00
|
|
|
|
|
|
|
Test a push that comes with out-of-date bookmark discovery
|
|
|
|
|
2015-10-01 21:57:06 +03:00
|
|
|
$ hg -R server strip -q 0 --config extensions.strip=
|
|
|
|
$ hg -R client strip -q 0 --config extensions.strip=
|
|
|
|
$ rm server/.hg/bookmarks*
|
|
|
|
$ rm client/.hg/bookmarks*
|
|
|
|
$ echo a >> server/a
|
|
|
|
$ hg -R server commit -qAm 'aa'
|
|
|
|
$ hg -R server bookmark bm -i
|
|
|
|
$ echo b >> server/b
|
|
|
|
$ hg -R server commit -qAm 'bb'
|
|
|
|
$ hg -R server log -G -T '{rev} "{desc}" {bookmarks}'
|
|
|
|
@ 1 "bb"
|
|
|
|
|
|
|
|
|
o 0 "aa" bm
|
|
|
|
|
|
|
|
|
2015-09-29 04:42:18 +03:00
|
|
|
$ cat >> $TESTTMP/move.py <<EOF
|
|
|
|
> def movebookmark(ui, repo, **kwargs):
|
2016-01-21 00:40:15 +03:00
|
|
|
> import traceback
|
|
|
|
> if [f for f in traceback.extract_stack(limit=10)[:-1] if f[2] == "movebookmark"]:
|
|
|
|
> return
|
|
|
|
> import mercurial.lock as lockmod
|
|
|
|
> tr = None
|
|
|
|
> try:
|
|
|
|
> lock = repo.lock()
|
|
|
|
> tr = repo.transaction("pretxnopen.movebook")
|
2017-07-18 20:09:28 +03:00
|
|
|
> changes = [('bm', repo[1].node())]
|
|
|
|
> repo._bookmarks.applychanges(repo, tr, changes)
|
2016-01-21 00:40:15 +03:00
|
|
|
> tr.close()
|
|
|
|
> finally:
|
|
|
|
> if tr:
|
|
|
|
> tr.release()
|
|
|
|
> lockmod.release(lock)
|
2015-10-01 21:57:06 +03:00
|
|
|
> print "moved bookmark to rev 1"
|
2015-09-29 04:42:18 +03:00
|
|
|
> EOF
|
|
|
|
$ cat >> server/.hg/hgrc <<EOF
|
|
|
|
> [hooks]
|
|
|
|
> pretxnopen.movebook = python:$TESTTMP/move.py:movebookmark
|
|
|
|
> EOF
|
2015-10-01 21:57:06 +03:00
|
|
|
$ hg -R client pull -q -r 0
|
|
|
|
$ hg -R client update -q 0
|
2015-09-29 04:42:18 +03:00
|
|
|
$ echo c >> client/c
|
|
|
|
$ hg -R client commit -qAm 'cc'
|
2015-10-01 21:57:06 +03:00
|
|
|
$ hg -R client log -G -T '{rev} "{desc}" {bookmarks}'
|
|
|
|
@ 1 "cc"
|
|
|
|
|
|
|
|
|
o 0 "aa"
|
|
|
|
|
|
|
|
$ hg -R client push --to bm
|
|
|
|
pushing rev 5db65b93a12b to destination ssh://user@dummy/server bookmark bm
|
2015-09-29 04:42:18 +03:00
|
|
|
searching for changes
|
2015-10-01 21:57:06 +03:00
|
|
|
remote: moved bookmark to rev 1
|
2017-07-24 21:42:24 +03:00
|
|
|
remote: pushing 1 changeset:
|
2015-10-29 04:19:18 +03:00
|
|
|
remote: 5db65b93a12b cc
|
2016-09-21 17:45:25 +03:00
|
|
|
remote: 2 new changesets from the server will be downloaded
|
2015-10-01 21:57:06 +03:00
|
|
|
adding changesets
|
|
|
|
adding manifests
|
|
|
|
adding file changes
|
|
|
|
added 2 changesets with 1 changes to 2 files (+1 heads)
|
|
|
|
updating bookmark bm
|
2015-09-29 04:42:18 +03:00
|
|
|
$ hg -R server log -G -T '{rev} "{desc}" {bookmarks}'
|
2015-10-01 21:57:06 +03:00
|
|
|
o 2 "cc" bm
|
2015-09-29 04:42:18 +03:00
|
|
|
|
|
2015-10-01 21:57:06 +03:00
|
|
|
@ 1 "bb"
|
|
|
|
|
|
|
|
|
o 0 "aa"
|
|
|
|
|
|
|
|
$ hg -R client log -G -T '{rev} "{desc}" {bookmarks}'
|
|
|
|
o 3 "cc"
|
|
|
|
|
|
|
|
|
o 2 "bb"
|
|
|
|
|
|
|
|
|
| @ 1 "cc"
|
2015-09-29 04:42:18 +03:00
|
|
|
|/
|
2015-10-01 21:57:06 +03:00
|
|
|
o 0 "aa"
|
2015-09-29 04:42:18 +03:00
|
|
|
|
2015-10-02 10:46:37 +03:00
|
|
|
|
|
|
|
Test that we still don't allow non-ff bm changes
|
|
|
|
|
|
|
|
$ echo d > client/d
|
|
|
|
$ hg -R client commit -qAm "dd"
|
|
|
|
$ hg -R client log -G -T '{rev} "{desc}" {bookmarks}'
|
|
|
|
@ 4 "dd"
|
|
|
|
|
|
|
|
|
| o 3 "cc"
|
|
|
|
| |
|
|
|
|
| o 2 "bb"
|
|
|
|
| |
|
|
|
|
o | 1 "cc"
|
|
|
|
|/
|
|
|
|
o 0 "aa"
|
|
|
|
|
|
|
|
|
|
|
|
$ hg -R client push --to bm
|
|
|
|
pushing rev efec53e7b035 to destination ssh://user@dummy/server bookmark bm
|
|
|
|
searching for changes
|
|
|
|
remote: moved bookmark to rev 1
|
2017-07-24 21:42:24 +03:00
|
|
|
remote: pushing 2 changesets:
|
2015-10-29 04:19:18 +03:00
|
|
|
remote: 5db65b93a12b cc
|
|
|
|
remote: efec53e7b035 dd
|
2016-09-21 17:45:25 +03:00
|
|
|
remote: 1 new changeset from the server will be downloaded
|
2015-10-02 10:46:37 +03:00
|
|
|
remote: transaction abort!
|
|
|
|
remote: rollback completed
|
|
|
|
abort: updating bookmark bm failed!
|
|
|
|
[255]
|
2015-10-29 04:19:12 +03:00
|
|
|
|
|
|
|
Test force pushes
|
|
|
|
$ hg init forcepushserver
|
|
|
|
$ cd forcepushserver
|
|
|
|
$ cat >> .hg/hgrc <<EOF
|
|
|
|
> [extensions]
|
2017-06-19 18:02:38 +03:00
|
|
|
> pushrebase=$TESTDIR/../hgext3rd/pushrebase.py
|
2016-02-20 01:24:59 +03:00
|
|
|
> remotenames = !
|
|
|
|
> [experimental]
|
|
|
|
> bundle2-exp=True
|
2015-10-29 04:19:12 +03:00
|
|
|
> EOF
|
|
|
|
$ echo a > a && hg commit -Aqm a
|
|
|
|
$ hg book master
|
|
|
|
$ cd ..
|
|
|
|
|
2016-02-20 01:31:18 +03:00
|
|
|
$ hg clone -q --config 'extensions.remotenames=' ssh://user@dummy/forcepushserver forcepushclient
|
2015-10-29 04:19:12 +03:00
|
|
|
$ cd forcepushserver
|
|
|
|
$ echo a >> a && hg commit -Aqm aa
|
|
|
|
|
|
|
|
$ cd ../forcepushclient
|
|
|
|
$ cat >> .hg/hgrc <<EOF
|
|
|
|
> [extensions]
|
2017-06-19 18:02:38 +03:00
|
|
|
> pushrebase=$TESTDIR/../hgext3rd/pushrebase.py
|
2016-02-20 01:24:59 +03:00
|
|
|
> remotenames =
|
|
|
|
> [remotenames]
|
|
|
|
> allownonfastforward=True
|
|
|
|
> [experimental]
|
|
|
|
> bundle2-exp=True
|
2015-10-29 04:19:12 +03:00
|
|
|
> EOF
|
|
|
|
$ hg up master
|
|
|
|
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
|
|
$ echo b >> a && hg commit -Aqm b
|
|
|
|
$ hg push -f --to master
|
|
|
|
pushing rev 1846eede8b68 to destination * (glob)
|
|
|
|
searching for changes
|
2017-07-24 21:42:24 +03:00
|
|
|
remote: pushing 1 changeset:
|
2016-02-20 01:31:18 +03:00
|
|
|
remote: 1846eede8b68 b
|
2015-10-29 04:19:12 +03:00
|
|
|
updating bookmark master
|
|
|
|
$ hg pull
|
|
|
|
pulling from * (glob)
|
|
|
|
searching for changes
|
|
|
|
adding changesets
|
|
|
|
adding manifests
|
|
|
|
adding file changes
|
|
|
|
added 1 changesets with 1 changes to 1 files (+1 heads)
|
2017-10-17 23:05:18 +03:00
|
|
|
new changesets 86cf3bb05fcf
|
2015-10-29 04:19:12 +03:00
|
|
|
(run 'hg heads' to see heads, 'hg merge' to merge)
|
|
|
|
$ hg log -G -T '{rev} {desc} {remotebookmarks}'
|
|
|
|
o 2 aa
|
|
|
|
|
|
|
|
|
| @ 1 b default/master
|
|
|
|
|/
|
|
|
|
o 0 a
|
|
|
|
|
2015-11-10 21:14:29 +03:00
|
|
|
$ cd ..
|
|
|
|
|
|
|
|
Test 'hg push' with a tracking bookmark
|
|
|
|
$ hg init trackingserver
|
|
|
|
$ cd trackingserver
|
2016-02-20 01:24:59 +03:00
|
|
|
$ cat >> .hg/hgrc <<EOF
|
|
|
|
> [extensions]
|
2017-06-19 18:02:38 +03:00
|
|
|
> pushrebase=$TESTDIR/../hgext3rd/pushrebase.py
|
2016-02-20 01:24:59 +03:00
|
|
|
> remotenames = !
|
|
|
|
> [experimental]
|
|
|
|
> bundle2-exp=True
|
|
|
|
> EOF
|
2015-11-10 21:14:29 +03:00
|
|
|
$ echo a > a && hg commit -Aqm a
|
|
|
|
$ hg book master
|
|
|
|
$ cd ..
|
2016-02-20 01:31:18 +03:00
|
|
|
$ hg clone --config 'extensions.remotenames=' -q ssh://user@dummy/trackingserver trackingclient
|
2015-11-10 21:14:29 +03:00
|
|
|
$ cd trackingclient
|
2016-02-20 01:24:59 +03:00
|
|
|
$ cat >> .hg/hgrc <<EOF
|
|
|
|
> [extensions]
|
2017-06-19 18:02:38 +03:00
|
|
|
> pushrebase=$TESTDIR/../hgext3rd/pushrebase.py
|
2016-02-20 01:24:59 +03:00
|
|
|
> remotenames =
|
|
|
|
> [remotenames]
|
|
|
|
> allownonfastforward=True
|
|
|
|
> [experimental]
|
|
|
|
> bundle2-exp=True
|
|
|
|
> EOF
|
2015-11-10 21:14:29 +03:00
|
|
|
$ hg book feature -t default/master
|
|
|
|
$ echo b > b && hg commit -Aqm b
|
|
|
|
$ cd ../trackingserver
|
|
|
|
$ echo c > c && hg commit -Aqm c
|
|
|
|
$ cd ../trackingclient
|
2016-02-20 01:31:18 +03:00
|
|
|
$ hg push
|
|
|
|
pushing rev d2ae7f538514 to destination ssh://user@dummy/trackingserver bookmark master
|
|
|
|
searching for changes
|
2017-07-24 21:42:24 +03:00
|
|
|
remote: pushing 1 changeset:
|
2016-02-20 01:31:18 +03:00
|
|
|
remote: d2ae7f538514 b
|
2016-09-21 17:45:25 +03:00
|
|
|
remote: 2 new changesets from the server will be downloaded
|
2016-02-20 01:31:18 +03:00
|
|
|
adding changesets
|
|
|
|
adding manifests
|
|
|
|
adding file changes
|
|
|
|
added 2 changesets with 1 changes to 2 files (+1 heads)
|
|
|
|
updating bookmark master
|
2015-11-10 21:14:29 +03:00
|
|
|
$ hg log -T '{rev} {desc}' -G
|
|
|
|
o 3 b
|
|
|
|
|
|
|
|
|
o 2 c
|
|
|
|
|
|
|
|
|
| @ 1 b
|
|
|
|
|/
|
|
|
|
o 0 a
|
|
|
|
|
2016-03-22 20:57:29 +03:00
|
|
|
$ cd ..
|
|
|
|
|
|
|
|
Test push --to to a repo without pushrebase on (i.e. the default remotenames behavior)
|
|
|
|
$ hg init oldserver
|
|
|
|
$ cd oldserver
|
|
|
|
$ cat >> .hg/hgrc <<EOF
|
|
|
|
> [extensions]
|
|
|
|
> remotenames =
|
|
|
|
> [experimental]
|
|
|
|
> bundle2-exp=True
|
|
|
|
> EOF
|
|
|
|
$ echo a > a && hg commit -Aqm a
|
|
|
|
$ hg book serverfeature
|
|
|
|
$ cd ..
|
|
|
|
$ hg clone --config 'extensions.remotenames=' -q ssh://user@dummy/oldserver newclient
|
|
|
|
$ cd newclient
|
|
|
|
$ cat >> .hg/hgrc <<EOF
|
|
|
|
> [extensions]
|
2017-06-19 18:02:38 +03:00
|
|
|
> pushrebase=$TESTDIR/../hgext3rd/pushrebase.py
|
2016-03-22 20:57:29 +03:00
|
|
|
> remotenames =
|
|
|
|
> [experimental]
|
|
|
|
> bundle2-exp=True
|
|
|
|
> EOF
|
|
|
|
$ hg book clientfeature -t default/serverfeature
|
|
|
|
$ echo b > b && hg commit -Aqm b
|
|
|
|
$ hg push --to serverfeature
|
|
|
|
pushing rev d2ae7f538514 to destination ssh://user@dummy/oldserver bookmark serverfeature
|
|
|
|
searching for changes
|
|
|
|
remote: adding changesets
|
|
|
|
remote: adding manifests
|
|
|
|
remote: adding file changes
|
|
|
|
remote: added 1 changesets with 1 changes to 1 files
|
|
|
|
updating bookmark serverfeature
|
|
|
|
$ hg log -G -T '{shortest(node)} {bookmarks}'
|
|
|
|
@ d2ae clientfeature
|
|
|
|
|
|
|
|
|
o cb9a
|
|
|
|
|
|
|
|
$ cd ../oldserver
|
|
|
|
$ hg log -G -T '{shortest(node)} {bookmarks}'
|
|
|
|
o d2ae serverfeature
|
|
|
|
|
|
|
|
|
@ cb9a
|
2016-09-26 21:55:06 +03:00
|
|
|
|
2017-06-19 22:48:46 +03:00
|
|
|
Test push --to with remotenames but without pushrebase to a remote repository
|
|
|
|
that requires pushrebase.
|
|
|
|
|
|
|
|
$ cd ..
|
|
|
|
$ hg init pushrebaseserver
|
|
|
|
$ cd pushrebaseserver
|
|
|
|
$ cat >> .hg/hgrc <<EOF
|
|
|
|
> [extensions]
|
|
|
|
> remotenames =
|
|
|
|
> pushrebase=$TESTDIR/../hgext3rd/pushrebase.py
|
|
|
|
> [experimental]
|
|
|
|
> bundle2-exp=True
|
|
|
|
> [pushrebase]
|
|
|
|
> blocknonpushrebase = True
|
|
|
|
> EOF
|
|
|
|
$ echo a > a && hg commit -Aqm a
|
|
|
|
$ hg book serverfeature
|
|
|
|
$ cd ..
|
|
|
|
$ hg clone --config 'extensions.remotenames=' -q ssh://user@dummy/pushrebaseserver remotenamesonlyclient
|
|
|
|
$ cd remotenamesonlyclient
|
|
|
|
$ cat >> .hg/hgrc <<EOF
|
|
|
|
> [extensions]
|
|
|
|
> pushrebase=!
|
|
|
|
> remotenames =
|
|
|
|
> [experimental]
|
|
|
|
> bundle2-exp=True
|
|
|
|
> EOF
|
|
|
|
$ hg book clientfeature -t default/serverfeature
|
|
|
|
$ echo b > b && hg commit -Aqm b
|
|
|
|
$ hg push --to serverfeature
|
|
|
|
pushing rev d2ae7f538514 to destination ssh://user@dummy/pushrebaseserver bookmark serverfeature
|
|
|
|
searching for changes
|
|
|
|
remote: error: prechangegroup.blocknonpushrebase hook failed: this repository requires that you enable the pushrebase extension and push using 'hg push --to'
|
|
|
|
remote: this repository requires that you enable the pushrebase extension and push using 'hg push --to'
|
|
|
|
abort: push failed on remote
|
|
|
|
[255]
|
2016-09-26 11:48:13 +03:00
|
|
|
|
|
|
|
Remotenames are turned off and bundle1 is enabled
|
|
|
|
$ cd ..
|
|
|
|
$ cat >> client/.hg/hgrc <<EOF
|
|
|
|
> [extensions]
|
|
|
|
> remotenames = !
|
|
|
|
> [devel]
|
|
|
|
> legacy.exchange = bundle1
|
|
|
|
> EOF
|
|
|
|
$ cat >> server/.hg/hgrc <<EOF
|
|
|
|
> [experimental]
|
|
|
|
> bundle2-exp=False
|
|
|
|
> EOF
|
|
|
|
$ cd client
|
|
|
|
$ echo foo > a
|
|
|
|
$ hg commit -Aqm 'new commit'
|
|
|
|
$ hg push -r . --to somebook
|
|
|
|
pushing to ssh://user@dummy/server
|
|
|
|
searching for changes
|
|
|
|
abort: bundle2 needs to be enabled on server
|
|
|
|
[255]
|