Add dirstate.pathto and localrepo.pathto.
Every time util.pathto is called, we have to pass the repo root and the
repo cwd.
dirstate.pathto is a simple convenience function that knows about the
root and the cwd arguments. It's still possible to pass the cwd as an
optimization.
localrepo.pathto is a convenience function that just calls
dirstate.pathto, just like localrepo.getcwd.
dirstate.pathto becomes a single point that converts most (all?) paths
from the internal representation to some OS-specific relative path for
display purposes.
% init
% setup
% delete an empty directory
empty_dir
Removing directory empty_dir
directory
r1
% delete an untracked directory
untracked_dir/untracked_file1
untracked_dir/untracked_file2
Removing file untracked_dir/untracked_file1
Removing file untracked_dir/untracked_file2
Removing directory untracked_dir
directory
r1
% delete an untracked file
untracked_file
Removing file untracked_file
directory
r1
% delete an untracked file in a tracked directory
directory/untracked_file
Removing file directory/untracked_file
directory
r1
% delete nested directories
untracked_directory/nested_directory
Removing directory untracked_directory/nested_directory
Removing directory untracked_directory
directory
r1
% delete nested directories from a subdir
untracked_directory/nested_directory
Removing directory untracked_directory/nested_directory
Removing directory untracked_directory
directory
r1
% delete only part of the tree
untracked_directory/nested_directory
Removing directory untracked_directory/nested_directory
Removing directory untracked_directory
directory
r1
directory/untracked_file
% delete ignored files
ignored
Removing file ignored
directory
r1
% abort with missing files until we support name mangling filesystems
refused to run
untracked_file still around
untracked_file
refused to run
untracked_file still around
Removing file untracked_file
directory
r1
% skip excluded files
directory
excluded_file
r1
% skip files in excluded dirs
directory
excluded_dir
r1
file
% skip excluded empty dirs
directory
excluded_dir
r1
% skip patterns