i'm playing with hgfs. here are some first observations/thoughts. for a given repository foo, if the repository mounted on /n/hg, had a hierarchy like: /n/hg /ctl /versions /foo it would feel more natural if i could do: % cat /n/hg/versions # list versions ... % echo version rev1 > /n/hg/ctl # pull + update -r rev1, etc. % ls /n/hg/foo .... # list of rev1 files % echo version rev2 > /n/hg/ctl % ls /n/hg/foo ... # list of rev2 files, etc % ed /n/hg/foo/main.c <<'EOF' $a // a useless comment . w q EOF % cat <<'EOF' >/n/hg/ctl tag "rev1beta1" # tag this version note "added a silly comment to main.c and tagged this version as beta1" # commit string? push # push the changes upstream, etc. EOF etc. it would be nice to map as many hg/git operations to file operations as possible. for the rest providing special files (ctl, versions, etc) and directives don't seem out of place.