I'm currently fixing an UI bug, and fear that I'm opening a whole box of
worms :-).
Please provide feedback.
Say, you're versioning your whole installation, and have a few modified
files:
$ fsvs st /
.mC. 100 ./bin/bash
.mC. 200 ./etc/X11/xorg.conf
Now you're going into a subdirectory and ask:
$ cd /etc/X11
$ fsvs st .
.mC. 200 ./etc/X11/xorg.conf
So far, so good.
But the default is wrong:
$ fsvs st
.mC. 100 ./bin/bash
.mC. 200 ./etc/X11/xorg.conf
This is a bit ugly; it should only show the files below the current path.
This I'm fixing.
The other question that arises - where I'd need some feedback - is:
* How should the path be shown? *
\===============================/
- "./etc/X11/xorg.conf" - current way, relative to the wc root
This is nice in some way, but has a significant drawback - the path
can't be copy/pasted in the current shell window.
- "/etc/X11/xorg.conf" - the full path
A full path has its merits - it does always work, but can get very long.
- "$WCROOT/xorg.conf" - full path, but shortened by environment variables
A subvariant of the full path, but with beginnings of the paths
substituted by environment variables, as applicable.
Note: No variable name would be hardcoded - all variables would be
looked for matching strings.
Doesn't help much if the WC root is "/" - but in this case the full path
might be the best bet anyway. Shortening helps if you're in a deep
path - and for this case some environment variable set could be useful
for other things, too.
- "./xorg.conf", or "xorg.conf" - relative to commandline argument
Providing a path relative to the commandline argument that references it
is the way many utilities (including svn) work.
Drawback: displaying something like
../../somewhere/../whereisit/../a_here/path/stumble/file.txt
is not nice.
- Should a "./" be included or not? Wouldn't be needed, but shows that
they're only valid in *this* directory.
I'm currently leaning towards something like the 3rd idea; or the last,
but with sanitized paths - so that the given example would be compressed
into
../../a_here/path/stumble/file.txt
But that just leaves more questions to answer ...
- Should ignore patterns be taken relative to the current subdirectory of
the wc root, so that
$ fsvs ignore './*.txt'
is really
$ ( cd $WCROOT ; fsvs ignore './$OLD_WC/*.txt' )
Or should ignore normally work as now, with a new "local-ignore"
command?
- How about displaying paths in diff? Deriving the paths from the
arguments makes a lot of sense, as the diff output might need them.
Please note that this is just a quick brainstorming ... please mention any
other points you find worthwhile.
Thank you!
--
Versioning your /etc, /home or even your whole installation?
Try fsvs (fsvs.tigris.org)!
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]