Fix income/pull with bundle and -R (issue 820).
Uses ui.setconfig() to tell bundlerepo where the main repo is. This is
needed for when the --repository option is used.
Adds tests to test-bundle and a new test script
test-mq-pull-from-bundle, which plays out the situation that initially
made me detect this bug
(hg -R .hg/patches pull ../bundle.hg).
# creating 'local'
store created
00changelog.i created
revlogv1
store
adding foo
# creating repo with old format
revlogv1
#test failure
abort: repository local already exists!
# init+push to remote2
comparing with local
changeset: 0:c4e059d443be
tag: tip
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: init
pushing to ssh://user@dummy/remote2
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
# clone to remote1
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
# init to existing repo
abort: repository remote1 already exists!
abort: could not create remote repo!
# clone to existing repo
abort: repository remote1 already exists!
abort: could not create remote repo!
# output of dummyssh
Got arguments 1:user@dummy 2:hg init remote2
Got arguments 1:user@dummy 2:hg -R remote2 serve --stdio
Got arguments 1:user@dummy 2:hg -R remote2 serve --stdio
Got arguments 1:user@dummy 2:hg init remote1
Got arguments 1:user@dummy 2:hg -R remote1 serve --stdio
Got arguments 1:user@dummy 2:hg init remote1
Got arguments 1:user@dummy 2:hg init remote1
# comparing repositories
0:c4e059d443be
0:c4e059d443be
0:c4e059d443be
# check names for repositories (clashes with URL schemes, special chars)
# hg init "bundle"
ok
# hg init "file"
ok
# hg init "hg"
ok
# hg init "http"
ok
# hg init "https"
ok
# hg init "old-http"
ok
# hg init "ssh"
ok
# hg init "static-http"
ok
# hg init " "
ok
# hg init "with space"
ok