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.
#!/bin/sh
# Environement setup for MQ
echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
#Repo init
hg init
hg qinit
hg qnew -m "First commit message" first-patch
echo aaaa > file
hg add file
hg qrefresh
echo =======================
echo "Should display 'First commit message'"
hg log -l1 -v | sed -n '/description/,$p'
echo
# Testing changing message with -m
echo bbbb > file
hg qrefresh -m "Second commit message"
echo =======================
echo "Should display 'Second commit message'"
hg log -l1 -v | sed -n '/description/,$p'
echo
# Testing changing message with -l
echo "Third commit message" > logfile
echo " This is the 3rd log message" >> logfile
echo bbbb > file
hg qrefresh -l logfile
echo =======================
printf "Should display 'Third commit message\\\n This is the 3rd log message'\n"
hg log -l1 -v | sed -n '/description/,$p'
echo
# Testing changing message with -l-
hg qnew -m "First commit message" second-patch
echo aaaa > file2
hg add file2
echo bbbb > file2
(echo "Fifth commit message"
echo " This is the 5th log message" >> logfile) |\
hg qrefresh -l-
echo =======================
printf "Should display 'Fifth commit message\\\n This is the 5th log message'\n"
hg log -l1 -v | sed -n '/description/,$p'
echo