[plt-dev] Opinions on property file

From: Eli Barzilay (eli at barzilay.org)
Date: Wed Apr 7 09:42:27 EDT 2010

On Apr  7, Noel Welsh wrote:
> I like /.props, but not strongly. /props will be more visible, which
> might be a good thing for an infrequently edited file.

It was already set to <plt>/collects/meta/props by popular demand...

In any case, the script is there now.  Just running it with no
arguments should produce enough verbiage to see how to use it, but
I'll repeat it here for comments.  Jay -- the scheme interface is
describe in the big comment at the top of the file.

Usage: props subcommand args ...

  This is a utility for manipulating properties in the PLT repository.
  Each of the following subcommands expects a property name from a set of
  known properties.  The given paths are normalized to be relative to the
  plt root for the tree holding this script *if* it is in such a tree
  (determined by inspecting a few known directories), otherwise an error
  is raised.
  Note: this script holds the data that it changes, so you need to commit
  it after changes are made.
  Note: it does not depend on the plt installation that runs it -- you
  just need to use the script from the work directory that you want to
  deal with; if you add a git alias like:
    prop = "!$(git rev-parse --show-toplevel)/collects/meta/props"
  to your global git config file (usually ~/.gitconfig), then you'll be
  able to run it as `git prop' (the first part of this finds the root of
  your workdir).
  Path arguments can also be given via stdin (each on a line) if the
  command-line path argument is a single `-'.  In this mode the paths are
  not normalized, and it is intended for infrastructure scripts only.

Available subcommands:
  help: show this help
  get <prop> <path/s>
  set <prop> <val> <path/s>
  del <prop> <path/s>

Known properties:
  responsible: a list of unique symbols
  drdr: command-line string, delay in seconds, or a list with both

  See in-script comments for a scheme interface

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the dev mailing list.