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]

Reply via email to