Hi Matt,<br><br>I pulled from your repo and ran the<br><br>yt bootstrap_dev<br><br>method.  Everything was going fine - it checked out yt-supplemental, looked at my .hgrc and added my BB username, etc - until it wanted to set up my pasteboard.  It seems like when it made the hgbb._bb_apicall, it used my system user name, which is different from my BB username:<br>
<br>-------------------------------------------------------------------------------------------------------------------------------------------------<br>I am now going to create the repository:<br>     <a href="http://chrismalone.bitbucket.org">chrismalone.bitbucket.org</a><br>
on BitBucket.org.  This will set up the domain<br>     <a href="http://chrismalone.bitbucket.org">http://chrismalone.bitbucket.org</a><br>which will point to the current contents of the repo.<br><br>Press enter to go on, Ctrl-C to exit.<br>
using system user 'cmalone' as usernamehttp authorization required<br>realm: None<br>user: cmalone<br>password: <br>-------------------------------------------------------------------------------------------------------------------------------------------------<br>
<br>Obviously this failed; however, when I ran this a second time it picked up my correct BB username:<br><br>-------------------------------------------------------------------------------------------------------------------------------------------------<br>
I am now going to create the repository:<br>     <a href="http://chrismalone.bitbucket.org">chrismalone.bitbucket.org</a><br>on BitBucket.org.  This will set up the domain<br>     <a href="http://chrismalone.bitbucket.org">http://chrismalone.bitbucket.org</a><br>
which will point to the current contents of the repo.<br><br>Press enter to go on, Ctrl-C to exit.<br>http authorization required<br>realm: None<br>user: ChrisMalone<br>password: -------------------------------------------------------------------------------------------------------------------------------------------------<br>
<br>and then it worked fine.  I can now use the pasteboard facilities, which are pretty cool!<br><br>I think for the bootstrap utility to be a bit more user-friendly, you might want to add a bit more description about why the user cares about the various components that are about to be installed  For example, the user probably doesn't know that the yt-supplemental repo is where all the hgbb or pasteboard stuff is contained or why they should want a BB account if they don't have one already.  This might be too much information to have in the bootstrap script itself, so perhaps provide a link to a page where these things are mentioned.<br>
<br>Anyhow, aside from the above (minor) points, I really like the bootstrap utility.  You've gone out of your way to make sure nothing was done without the user's permission.<br><br>+1<br><br>Chris<br><br><br><br>
<div class="gmail_quote">On Mon, Mar 21, 2011 at 12:34 AM, Matthew Turk <span dir="ltr"><<a href="mailto:matthewturk@gmail.com">matthewturk@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi all,<br>
<br>
Last week we had a conversation about a bootstrap script, where the<br>
feel of the room was either lukewarm or positive.  Mostly people<br>
seemed to think it was ill-motivated or would take too many liberties.<br>
 Over the last week, in the evenings etc I've created a bootstrap<br>
script for development, which overall I think is pretty<br>
well-motivated.  The script accomplishes the following things, each of<br>
which requests for confirmation before going on.  It uses a modified<br>
iniparse library so that any modifications to any ini files are made<br>
in a non-destructive manner.  It accomplishes these tasks:<br>
<br>
1) Ensure username is set up in ~/.hgrc<br>
2) Ensure that the cedit and hgbb are enabled<br>
3) Asks for and if needed creates a username on BitBucket<br>
4) Sets up hgbb<br>
5) Creates a pasteboard repository<br>
<br>
The diff is here:<br>
<br>
<a href="https://bitbucket.org/yt_analysis/yt/compare/MatthewTurk/yt..default" target="_blank">https://bitbucket.org/yt_analysis/yt/compare/MatthewTurk/yt..default</a><br>
<br>
You can pull from my repo:<br>
<br>
hg pull <a href="https://bitbucket.org/MatthewTurk/yt/" target="_blank">https://bitbucket.org/MatthewTurk/yt/</a><br>
<br>
(But note the comment below about yt-supplemental)<br>
<br>
There are a couple things in this:<br>
<br>
 * I wrote up something called a "pasteboard" this last week for more<br>
permanent mini-pastes of info.  This uses mercurial to create/destroy<br>
items in it.  You can see some examples here:<br>
<br>
<a href="http://matthewturk.bitbucket.org/" target="_blank">http://matthewturk.bitbucket.org/</a><br>
<a href="http://jsoishi.bitbucket.org/" target="_blank">http://jsoishi.bitbucket.org/</a><br>
<a href="http://samskillman.bitbucket.org/" target="_blank">http://samskillman.bitbucket.org/</a><br>
<br>
This was born out of the SFLC thing that happened on the mailing list,<br>
when Sam emailed his script.  I thought, wouldn't it be nice if we<br>
were older, and we had a pasteboard that was persistent, with<br>
descriptions, which we could programmatically upload/download from.<br>
This adds the new commands:<br>
<br>
yt pasteboard --desc="Something" some_file.py<br>
yt pastegrab PASTE_ID USERNAME<br>
<br>
This automatically tosses it up.  You get embed codes and some<br>
highlights, but it's just easier to keep these things around than the<br>
pastebin.<br>
<br>
 * The idea of enabling hgbb, cedit and ensuring a bitbucket user is<br>
because I am of the opinion we should make it easier to fork the<br>
repository to make changes.  If those three are enabled, I believe a<br>
command-line forking, editing of sources and so on, are all within our<br>
reach.<br>
<br>
 * This bootstrap script requires that the yt-supplemental repo be<br>
checked out in ${YT_DEST}/src/ .  This repo is actually kind of cool,<br>
in that it is a subrepo setup, and it pulls in a couple external<br>
libraries that we can maintain.  Right now it grabs the docs, the<br>
cookbook, and the extensions mentioned above.  This repo is now pulled<br>
in the current install_script.sh.<br>
<br>
Anyway, I am submitting this to the list to get some review.  There<br>
may be errors, but I have tested it quite a bit.  It also informs the<br>
user of what it's about to do and requires the user hit enter.  At one<br>
point it even asks for a yes or no.<br>
<br>
The reason I am interested in this is that I think the idea of<br>
bootstrapping people into a development environment is, generally, a<br>
good idea.  Particularly because some things -- like the pasteboard,<br>
like forking, like contributing changes -- should be made really easy<br>
and have the potential for a very high payoff.  I hope I've motivated<br>
things a bit better.<br>
<br>
I was hoping that before I merged it I could get someone else to read<br>
it over, maybe a couple people even to test it, and to get a good feel<br>
for whether this is worthwhile or whether I should pull these changes<br>
and just ignore the idea.  What do people think?<br>
<br>
Thanks,<br>
<br>
Matt<br>
_______________________________________________<br>
Yt-dev mailing list<br>
<a href="mailto:Yt-dev@lists.spacepope.org">Yt-dev@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org</a><br>
</blockquote></div><br>