getchangegroup: take an 'outgoing' object as argument (API)
There is various version of this function that differ mostly by the way they
define the bundled set. The flexibility is now available in the outgoing object
itself so we move the complexity into the caller themself. This will allow use
to remove a good share of the similar function to obtains a changegroup in the
'changegroup.py' module.
An important side effect is that we stop calling 'computeoutgoing' in
'getchangegroup'. This is fine as code that needs such argument processing
is actually going through the 'exchange' module which already all this function
itself.
#require bzr
$ . "$TESTDIR/bzr-definitions"
$ cat > treeset.py <<EOF
> import sys
> from bzrlib import workingtree
> wt = workingtree.WorkingTree.open('.')
>
> message, rootid = sys.argv[1:]
> wt.set_root_id('tree_root-%s' % rootid)
> wt.commit(message)
> EOF
change the id of the tree root
$ mkdir test-change-treeroot-id
$ cd test-change-treeroot-id
$ bzr init -q source
$ cd source
$ echo content > file
$ bzr add -q file
$ bzr commit -q -m 'Initial add'
$ python ../../treeset.py 'Changed root' new
$ cd ..
$ hg convert source source-hg
initializing destination source-hg repository
scanning source...
sorting...
converting...
1 Initial add
0 Changed root
$ manifest source-hg tip
% manifest of tip
644 file
$ cd ..