Hi Matt, I'm a little late to the game since other less interesting things took priority. I tested out the bootstrap script, and everything went smoothly! I voted "0" before because I didn't really see the bigger picture of what you were talking about, but now I'm convinced. +1. John On 21 Mar 2011, at 16:14, Matthew Turk wrote:
Hi Chris,
Ah, yes, you're totally right. I'll add an inventory-regeneration command, which looks at the current manifest of the repo and then regenerates inventory.json to match it. (This allows you to, for instance, remove pastes from the current display, add supplemental images, etc etc.) Pushing, like you say, also fixes the display on the website.
-Matt
On Mon, Mar 21, 2011 at 1:11 PM,
wrote: I should chime in and say that my pasteboard page was not setup after the bootstrapp'ing - the page just 404'ed. To fix this I just did a test commit to the pasteboard
yt pasteboard --desc="This is just a test" test.py
and it worked fine. So, it _is_ set up with BB, as far as I can tell, but the page just shows up as 404 until something is checked in, or following Briton's elegant solution of just doing a 'hg push'
Chris On Mar 21, 2011 4:03pm, Britton Smith
wrote: I had a similar experience to Chris's. I gave the script my bitbucket username, but on the first try it wanted to use my system username, which is also not the same. Just like for Chris, it got it right the second time.
As one of original nay-sayers on this, I have to say I liked everything about how this worked. I especially think the pasteboard is really great. The one thing that wasn't very clear to me was that I had to do an 'hg push' from within my pasteboard repo to get the page set up on bitbucket. Could a note of this be made in the script after this step is done?
Since I'm wrong so often, it's quite easy for me to admit that I was wrong about this one.
Nice job, Matt.
Britton
On Mon, Mar 21, 2011 at 2:49 PM, Chris Malone chris.m.malone@gmail.com> wrote:
Hi Matt,
I pulled from your repo and ran the
yt bootstrap_dev
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:
------------------------------------------------------------------------------------------------------------------------------------------------- I am now going to create the repository: chrismalone.bitbucket.org
on BitBucket.org. This will set up the domain http://chrismalone.bitbucket.org which will point to the current contents of the repo.
Press enter to go on, Ctrl-C to exit.
using system user 'cmalone' as usernamehttp authorization required realm: None user: cmalone password:
-------------------------------------------------------------------------------------------------------------------------------------------------
Obviously this failed; however, when I ran this a second time it picked up my correct BB username:
-------------------------------------------------------------------------------------------------------------------------------------------------
I am now going to create the repository: chrismalone.bitbucket.org on BitBucket.org. This will set up the domain http://chrismalone.bitbucket.org
which will point to the current contents of the repo.
Press enter to go on, Ctrl-C to exit. http authorization required realm: None user: ChrisMalone password: -------------------------------------------------------------------------------------------------------------------------------------------------
and then it worked fine. I can now use the pasteboard facilities, which are pretty cool!
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.
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.
+1
Chris
On Mon, Mar 21, 2011 at 12:34 AM, Matthew Turk matthewturk@gmail.com> wrote:
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://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
_______________________________________________
Yt-dev mailing list
Yt-dev@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________
Yt-dev mailing list
Yt-dev@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ Yt-dev mailing list Yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ Yt-dev mailing list Yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org