fix qrefresh'ing an empty patch
This is not superefficient (the commit will have to walk the whole tree),
but it works.
statwalk: don't put self.root in the files list
That list is supposed to contain internal, normalized names ("/"-separated,
relative to the repo root), not OS-native paths.
fix qclone to a remote repo
This fixes
issue467. -stable still needs something like revision
55578a8d7e84 - mq: allow push if -r is given explicitly.
In the meantime, hg qpop -a; hg qclone . ssh://... is a workaround.
Save an absolute path in repo.path
This should keep things working if the process changes directories
after creating a repo object.
Add a features list to branches.cache to detect caches of old hg versions.
The leading space in the written file makes sure that the feature list never
can match an existing version, even if the first feature can be read as hex.
Additionally old hg versions display the id with --debug, too.
Store empty (default) branch in branch cache, too.
Operations on this branch don't work otherwise.
Reading branches.cache had to be adjusted to allow an empty label.
Adjusted reading of the cache tip for symmetry, no functional change here.