[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