Fix handling of paths when run outside the repo.
The main problem was that dirstate.getcwd() returned just "",
which was interpreted as "we're at the repo root". It now returns
an absolute path.
The util.pathto function was also changed to deal with the "cwd is
an absolute path" case.
% init
% commit
adding a
% annotate -c
8435f90966e4: a
% annotate -d
Thu Jan 01 00:00:01 1970 +0000: a
% annotate -n
0: a
% annotate -u
nobody: a
% annotate -cdnu
nobody 0 8435f90966e4 Thu Jan 01 00:00:01 1970 +0000: a
% annotate b
2: a
2: a
2: a
3: b
3: b
3: b
% annotate -nf b
0 a: a
1 a: a
1 a: a
3 b: b
3 b: b
3 b: b
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
merging b
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
% annotate after merge
0 a: a
1 a: a
1 a: a
3 b: b
4 b: c
3 b: b
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
merging b
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
% annotate after rename merge
0 a: a
6 b: z
1 a: a
3 b: b
4 b: c
3 b: b
7 b: d
% linkrev vs rev
0: a
1: a
1: a