convert: added bookmarks support in filemap
When using the convert extension from a Mercurial rep. to subset it with
filemap, the bookmarks are not copied. I fixed this by calling the
base.get_bookmarks() from the filemap getbookmarks() instead of returning an
empty dictionary. It should work also for other converters that implement
getbookmarks() (like git). I don't see any drawbacks except that the bookmarks
are always copied (not necessarily wanted all the times).
$ . "$TESTDIR/bzr-definitions"
$ cat > ghostcreator.py <<EOF
> import sys
> from bzrlib import workingtree
> wt = workingtree.WorkingTree.open('.')
>
> message, ghostrev = sys.argv[1:]
> wt.set_parent_ids(wt.get_parent_ids() + [ghostrev])
> wt.commit(message)
> EOF
ghost revisions
$ mkdir test-ghost-revisions
$ cd test-ghost-revisions
$ bzr init -q source
$ cd source
$ echo content > somefile
$ bzr add -q somefile
$ bzr commit -q -m 'Initial layout setup'
$ echo morecontent >> somefile
$ python ../../ghostcreator.py 'Commit with ghost revision' ghostrev
$ cd ..
$ hg convert source source-hg
initializing destination source-hg repository
scanning source...
sorting...
converting...
1 Initial layout setup
0 Commit with ghost revision
$ glog -R source-hg
o 1 "Commit with ghost revision" files: somefile
|
o 0 "Initial layout setup" files: somefile