[Yt-dev] Request for Review: bootstrap script; also, new 'pasteboards'

Matthew Turk matthewturk at gmail.com
Sun Mar 20 21:34:06 PDT 2011


Hi all,

Last week we had a conversation about a bootstrap script, where the
feel of the room was either lukewarm or positive.  Mostly people
seemed to think it was ill-motivated or would take too many liberties.
 Over the last week, in the evenings etc I've created a bootstrap
script for development, which overall I think is pretty
well-motivated.  The script accomplishes the following things, each of
which requests for confirmation before going on.  It uses a modified
iniparse library so that any modifications to any ini files are made
in a non-destructive manner.  It accomplishes these tasks:

1) Ensure username is set up in ~/.hgrc
2) Ensure that the cedit and hgbb are enabled
3) Asks for and if needed creates a username on BitBucket
4) Sets up hgbb
5) Creates a pasteboard repository

The diff is here:

https://bitbucket.org/yt_analysis/yt/compare/MatthewTurk/yt..default

You can pull from my repo:

hg pull https://bitbucket.org/MatthewTurk/yt/

(But note the comment below about yt-supplemental)

There are a couple things in this:

 * I wrote up something called a "pasteboard" this last week for more
permanent mini-pastes of info.  This uses mercurial to create/destroy
items in it.  You can see some examples here:

http://matthewturk.bitbucket.org/
http://jsoishi.bitbucket.org/
http://samskillman.bitbucket.org/

This was born out of the SFLC thing that happened on the mailing list,
when Sam emailed his script.  I thought, wouldn't it be nice if we
were older, and we had a pasteboard that was persistent, with
descriptions, which we could programmatically upload/download from.
This adds the new commands:

yt pasteboard --desc="Something" some_file.py
yt pastegrab PASTE_ID USERNAME

This automatically tosses it up.  You get embed codes and some
highlights, but it's just easier to keep these things around than the
pastebin.

 * The idea of enabling hgbb, cedit and ensuring a bitbucket user is
because I am of the opinion we should make it easier to fork the
repository to make changes.  If those three are enabled, I believe a
command-line forking, editing of sources and so on, are all within our
reach.

 * This bootstrap script requires that the yt-supplemental repo be
checked out in ${YT_DEST}/src/ .  This repo is actually kind of cool,
in that it is a subrepo setup, and it pulls in a couple external
libraries that we can maintain.  Right now it grabs the docs, the
cookbook, and the extensions mentioned above.  This repo is now pulled
in the current install_script.sh.

Anyway, I am submitting this to the list to get some review.  There
may be errors, but I have tested it quite a bit.  It also informs the
user of what it's about to do and requires the user hit enter.  At one
point it even asks for a yes or no.

The reason I am interested in this is that I think the idea of
bootstrapping people into a development environment is, generally, a
good idea.  Particularly because some things -- like the pasteboard,
like forking, like contributing changes -- should be made really easy
and have the potential for a very high payoff.  I hope I've motivated
things a bit better.

I was hoping that before I merged it I could get someone else to read
it over, maybe a couple people even to test it, and to get a good feel
for whether this is worthwhile or whether I should pull these changes
and just ignore the idea.  What do people think?

Thanks,

Matt



More information about the yt-dev mailing list