Questions in this catagory:

  1. I imported foo/latest in my .ves file and the evaluator says 'latest: not a directory'. What gives?

  2. When trying to build, I get the error: "0/Error: Not found opening `.'."

  3. Is there an Emacs/vim mode for Vesta SDL?

  4. I checked-in my package, but when i run vmake it prints the checkout copy


I imported foo/latest in my .ves file and the evaluator says 'latest: not a directory'. What gives?

Vesta SDL models only reference specific versions of other packages. In other words, you can't import the files from "foo/latest", but only from "foo/4" or "foo/5", etc.

This is part of how build repeatability is guaranteed. Because the interpretation of "latest" changes over time, it's imprecise, and therefore not suitable for use in a build that should be repeatable into the future.

When trying to build, I get the error: "0/Error: Not found opening `.'."

As described in the Vesta SDL programmer's reference, you can't use "." or ".." in the files clause of a .ves file. All of the following examples will fail with this error:

files
  dir1 = .;
  dir2 = ".";
  .;
  updir1 = ..;
  updir2 = ../uncle;
  file2 = ./file1.txt;
  file2 = ../file2.c;
Is there an Emacs/vim mode for Vesta SDL?

Yes! You can find them in these packages (which you can replicate from the public repository on pub.vestasys.org):

  • /vesta/vestasys.org/vesta/extras/emacs_support

  • /vesta/vestasys.org/vesta/extras/vim_support

  • I checked-in my package, but when I run vmake it prints the checkout copy

    (click for info on vmake) Don't worry. Vesta knows that the final version of a file in your checkout snapshot and your checked-in file are identical. It only stores it once, and both repository paths /vesta/project.example.com/my/pkg/10/build.ves (checked-in) and /vesta/project.example.com/my/pkg/checkout/10/7/build.ves (checked-out; assuming 7 was when you last changed build.ves) both point to the same file store.

    When the file was still checked-out, you probably built with it. This would fill it into vesta's cache. Unless it was weeded, it's still there. You are probably cache-hitting on it with its old pathname.