This page lists a variety of minor changes that could be made to improve Vesta. They're good ways for people to jump in and make a contribution to the project.
Repository User Tools
optionally ignore umask
Add a config setting that makes vcheckout ignore the umask. Could be implemented by settign umask if the config file setting is present. Could be extended to other tools (e.g. vmkdir, vcreate, vbranch).
Difficulty estimate: 1
Replicator should indicate it's reading imports
The replicator @ directive can take a while. In verbose mode it would be nice to indicate what's happening.
There's actually code #ifdefed out in one function, but it would probably produce too much output there. It should be moved to only produce output for each model given to @, not every model read.
Difficulty estimate: 1
Turn an empty directory into a branch
vcreate can turn an empty appendable directory into a package. vbranch should be able to do the same thing. The two programs are not quite identical but pretty close. It should be easy to find the places to change in vbranch but it requires using the atomic interface to the repository.
Difficulty estimate: 2
Try not to discard edited message
The easy version of this is to make vcheckin preserve the edited message in an attribute in case it fails later. The harder version is to move more checking before asking the user to edit the message in several tools.
Difficulty estimate: 1-3
Make vmkdir better handle existing directories
vmkdir doesn't check whether a directory already exists when trying to create it. This can sometimes produce confusing error messages.
Bonus points: If it exists at a remote master, replicate it locally as a favor.
Difficulty estimate: 1-2
Fix vmkdir -p
"vmkdir -p" does something completely different from "mkdir -p" which is unfortunate.
Difficulty estimate: 3
vupdate/vimports
Recurse into another user's checkout
Allow vupdate to recurse into a working directory owned by another user and make changes there as long as "-only-mine" wasn't specified on the command line.
Difficulty estimate: 1
Make vupdate use [Evaluator]DefaultMain
vupdate always defaults to ".main.ves". It should try the model names in the [Evaluator]DefaultMain configuration file setting one at a time like the evaluator.
Bonus points: make vimports also work this way. Make a shared library function both programs can use.
Difficulty estimate: 2
DaveAndrews intends to fix this bug by November 7.
Make vupdate -t work without stub
If the stub is there its session-dir attribute should still be used, but if not we can make reasonable guesses as to snapshots of higher-versioned session directories.
Difficulty estimate: 2
Support Libaries
filenameToRealVS should try not to return a master ghost
When searching remote repositories, "master" is given more priority than "non-ghost". ReposUI::filenameToRealVS should keep looking for a non-ghost object even if it finds a master ghost.
Difficulty estimate: 2
Evaluator
Improve binding name conflict message
It would be trivial to add the name on which the conflict ocurred.
Difficulty estimate: 1
Servers
Configure vforeign as names not numbers
The configuration settings for vforeign take a numeric UID and a numeric GID. It would be preferable for them to take a text username and group name and perform the user/group lookup.
Difficulty estimate: 2
Make RunToolServer exit if started as wrong user
Unless the RunToolServer is started as the right user, tools will get "Permission denied" errors.
Difficulty estimate: 2