graphlog: refactor revset() to return revisions
When --follow and --rev are passed, --follow actual behaviour depends on the
input revision sequence defined by --rev. If --rev is not passed, the default
revision sequence depends on the presence of --follow. It means the revision
sequence generation is part of log logic and must be wrapped. The issue
described above is fixed in following patches.
http://mercurial.selenic.com/bts/issue1438
$ "$TESTDIR/hghave" symlink || exit 80
$ hg init
$ ln -s foo link
$ hg add link
$ hg ci -mbad link
$ hg rm link
$ hg ci -mok
$ hg diff -g -r 0:1 > bad.patch
$ hg up 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg import --no-commit bad.patch
applying bad.patch
$ hg status
R link
? bad.patch