If the argument to make_file can act like a file, return it.
This is useful for code that calls command functions, but doesn't
want to send I/O through the filesystem.
#!/bin/sh
hg init
echo 123 > a
hg add a
hg commit -t "first" -u test -d "0 0" a
mkdir sub
echo 321 > sub/b
hg add sub/b
hg commit -t "second" -u test -d "0 0" sub/b
cat sub/b
hg co 0
cat sub/b
ls sub
true