Hi Matt,<br /><br />I took a look at the docs you coded up, and indeed there are some interesting features with BB.  In particular, I thought the `bbforks` command sounded pretty cool - however, it appears I am missing the lxml.html package, which is needed to get this to work:<br /><br />---------------------------------------------------------------------------------------<br />[cmalone@xrb yt]$ hg bbforks<br />using 'ChrisMalone/yt-hg' as repo name<br />getting descendants list<br />abort: lxml.html is (currently) needed to run bbforks<br />---------------------------------------------------------------------------------------<br /><br />I thought maybe it was perhaps a result of my BB repo not having any forks, so I tried yours:<br /><br />---------------------------------------------------------------------------------------<br />[cmalone@xrb yt]$ hg bbforks -n MatthewTurk/yt<br />getting descendants list<br />abort: lxml.html is (currently) needed to run bbforks<br />---------------------------------------------------------------------------------------<br /><br />Is this missing in the install, or is it something on my end?<br /><br />Chris<br /><br />On Mar 23, 2011 10:31am, Matthew Turk <matthewturk@gmail.com> wrote:<br />> Hi John, and everyone else,<br />> <br />> <br />> <br />> Thanks!  Plane flights are great for documentation (writing docs<br />> <br />> doesn't have to hit the disk or grind the processor) so I started<br />> <br />> writing up what it does:<br />> <br />> <br />> <br />> http://hg.enzotools.org/yt-doc/changeset/e8f532648a50<br />> <br />> <br />> <br />> I also went ahead, with the couple votes, and pushed it to the main repository.<br />> <br />> <br />> <br />> Thanks everybody,<br />> <br />> <br />> <br />> Matt<br />> <br />> <br />> <br />> On Wed, Mar 23, 2011 at 9:07 AM, John Wise jwise@astro.princeton.edu> wrote:<br />> <br />> > Hi Matt,<br />> <br />> ><br />> <br />> > 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.<br />> <br />> ><br />> <br />> > +1.<br />> <br />> ><br />> <br />> > John<br />> <br />> ><br />> <br />> > On 21 Mar 2011, at 16:14, Matthew Turk wrote:<br />> <br />> ><br />> <br />> >> Hi Chris,<br />> <br />> >><br />> <br />> >> Ah, yes, you're totally right.  I'll add an inventory-regeneration<br />> <br />> >> command, which looks at the current manifest of the repo and then<br />> <br />> >> regenerates inventory.json to match it.  (This allows you to, for<br />> <br />> >> instance, remove pastes from the current display, add supplemental<br />> <br />> >> images, etc etc.)  Pushing, like you say, also fixes the display on<br />> <br />> >> the website.<br />> <br />> >><br />> <br />> >> -Matt<br />> <br />> >><br />> <br />> >> On Mon, Mar 21, 2011 at 1:11 PM,  chris.m.malone@gmail.com> wrote:<br />> <br />> >>> I should chime in and say that my pasteboard page was not setup after the<br />> <br />> >>> bootstrapp'ing - the page just 404'ed. To fix this I just did a test commit<br />> <br />> >>> to the pasteboard<br />> <br />> >>><br />> <br />> >>> yt pasteboard --desc="This is just a test" test.py<br />> <br />> >>><br />> <br />> >>> and it worked fine. So, it _is_ set up with BB, as far as I can tell, but<br />> <br />> >>> the page just shows up as 404 until something is checked in, or following<br />> <br />> >>> Briton's elegant solution of just doing a 'hg push'<br />> <br />> >>><br />> <br />> >>> Chris<br />> <br />> >>> On Mar 21, 2011 4:03pm, Britton Smith brittonsmith@gmail.com> wrote:<br />> <br />> >>>> I had a similar experience to Chris's.  I gave the script my bitbucket<br />> <br />> >>>> username, but on the first try it wanted to use my system username, which is<br />> <br />> >>>> also not the same.  Just like for Chris, it got it right the second time.<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> As one of original nay-sayers on this, I have to say I liked everything<br />> <br />> >>>> about how this worked.  I especially think the pasteboard is really great.<br />> <br />> >>>> The one thing that wasn't very clear to me was that I had to do an 'hg push'<br />> <br />> >>>> from within my pasteboard repo to get the page set up on bitbucket.  Could a<br />> <br />> >>>> note of this be made in the script after this step is done?<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> Since I'm wrong so often, it's quite easy for me to admit that I was wrong<br />> <br />> >>>> about this one.<br />> <br />> >>>><br />> <br />> >>>> Nice job, Matt.<br />> <br />> >>>><br />> <br />> >>>> Britton<br />> <br />> >>>><br />> <br />> >>>> On Mon, Mar 21, 2011 at 2:49 PM, Chris Malone chris.m.malone@gmail.com><br />> <br />> >>>> wrote:<br />> <br />> >>>><br />> <br />> >>>> Hi Matt,<br />> <br />> >>>><br />> <br />> >>>> I pulled from your repo and ran the<br />> <br />> >>>><br />> <br />> >>>> yt bootstrap_dev<br />> <br />> >>>><br />> <br />> >>>> method.  Everything was going fine - it checked out yt-supplemental,<br />> <br />> >>>> looked at my .hgrc and added my BB username, etc - until it wanted to set up<br />> <br />> >>>> my pasteboard.  It seems like when it made the hgbb._bb_apicall, it used my<br />> <br />> >>>> system user name, which is different from my BB username:<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> -------------------------------------------------------------------------------------------------------------------------------------------------<br />> <br />> >>>> I am now going to create the repository:<br />> <br />> >>>>      chrismalone.bitbucket.org<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> on BitBucket.org.  This will set up the domain<br />> <br />> >>>>      http://chrismalone.bitbucket.org<br />> <br />> >>>> which will point to the current contents of the repo.<br />> <br />> >>>><br />> <br />> >>>> Press enter to go on, Ctrl-C to exit.<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> using system user 'cmalone' as usernamehttp authorization required<br />> <br />> >>>> realm: None<br />> <br />> >>>> user: cmalone<br />> <br />> >>>> password:<br />> <br />> >>>><br />> <br />> >>>> -------------------------------------------------------------------------------------------------------------------------------------------------<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> Obviously this failed; however, when I ran this a second time it picked up<br />> <br />> >>>> my correct BB username:<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> -------------------------------------------------------------------------------------------------------------------------------------------------<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> I am now going to create the repository:<br />> <br />> >>>>      chrismalone.bitbucket.org<br />> <br />> >>>> on BitBucket.org.  This will set up the domain<br />> <br />> >>>>      http://chrismalone.bitbucket.org<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> which will point to the current contents of the repo.<br />> <br />> >>>><br />> <br />> >>>> Press enter to go on, Ctrl-C to exit.<br />> <br />> >>>> http authorization required<br />> <br />> >>>> realm: None<br />> <br />> >>>> user: ChrisMalone<br />> <br />> >>>> password:<br />> <br />> >>>> -------------------------------------------------------------------------------------------------------------------------------------------------<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> and then it worked fine.  I can now use the pasteboard facilities, which<br />> <br />> >>>> are pretty cool!<br />> <br />> >>>><br />> <br />> >>>> I think for the bootstrap utility to be a bit more user-friendly, you<br />> <br />> >>>> might want to add a bit more description about why the user cares about the<br />> <br />> >>>> various components that are about to be installed  For example, the user<br />> <br />> >>>> probably doesn't know that the yt-supplemental repo is where all the hgbb or<br />> <br />> >>>> pasteboard stuff is contained or why they should want a BB account if they<br />> <br />> >>>> don't have one already.  This might be too much information to have in the<br />> <br />> >>>> bootstrap script itself, so perhaps provide a link to a page where these<br />> <br />> >>>> things are mentioned.<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> Anyhow, aside from the above (minor) points, I really like the bootstrap<br />> <br />> >>>> utility.  You've gone out of your way to make sure nothing was done without<br />> <br />> >>>> the user's permission.<br />> <br />> >>>><br />> <br />> >>>> +1<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> Chris<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> On Mon, Mar 21, 2011 at 12:34 AM, Matthew Turk matthewturk@gmail.com><br />> <br />> >>>> wrote:<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> Hi all,<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> Last week we had a conversation about a bootstrap script, where the<br />> <br />> >>>><br />> <br />> >>>> feel of the room was either lukewarm or positive.  Mostly people<br />> <br />> >>>><br />> <br />> >>>> seemed to think it was ill-motivated or would take too many liberties.<br />> <br />> >>>><br />> <br />> >>>>  Over the last week, in the evenings etc I've created a bootstrap<br />> <br />> >>>><br />> <br />> >>>> script for development, which overall I think is pretty<br />> <br />> >>>><br />> <br />> >>>> well-motivated.  The script accomplishes the following things, each of<br />> <br />> >>>><br />> <br />> >>>> which requests for confirmation before going on.  It uses a modified<br />> <br />> >>>><br />> <br />> >>>> iniparse library so that any modifications to any ini files are made<br />> <br />> >>>><br />> <br />> >>>> in a non-destructive manner.  It accomplishes these tasks:<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> 1) Ensure username is set up in ~/.hgrc<br />> <br />> >>>><br />> <br />> >>>> 2) Ensure that the cedit and hgbb are enabled<br />> <br />> >>>><br />> <br />> >>>> 3) Asks for and if needed creates a username on BitBucket<br />> <br />> >>>><br />> <br />> >>>> 4) Sets up hgbb<br />> <br />> >>>><br />> <br />> >>>> 5) Creates a pasteboard repository<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> The diff is here:<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> https://bitbucket.org/yt_analysis/yt/compare/MatthewTurk/yt..default<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> You can pull from my repo:<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> hg pull https://bitbucket.org/MatthewTurk/yt/<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> (But note the comment below about yt-supplemental)<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> There are a couple things in this:<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>>  * I wrote up something called a "pasteboard" this last week for more<br />> <br />> >>>><br />> <br />> >>>> permanent mini-pastes of info.  This uses mercurial to create/destroy<br />> <br />> >>>><br />> <br />> >>>> items in it.  You can see some examples here:<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> http://matthewturk.bitbucket.org/<br />> <br />> >>>><br />> <br />> >>>> http://jsoishi.bitbucket.org/<br />> <br />> >>>><br />> <br />> >>>> http://samskillman.bitbucket.org/<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> This was born out of the SFLC thing that happened on the mailing list,<br />> <br />> >>>><br />> <br />> >>>> when Sam emailed his script.  I thought, wouldn't it be nice if we<br />> <br />> >>>><br />> <br />> >>>> were older, and we had a pasteboard that was persistent, with<br />> <br />> >>>><br />> <br />> >>>> descriptions, which we could programmatically upload/download from.<br />> <br />> >>>><br />> <br />> >>>> This adds the new commands:<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> yt pasteboard --desc="Something" some_file.py<br />> <br />> >>>><br />> <br />> >>>> yt pastegrab PASTE_ID USERNAME<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> This automatically tosses it up.  You get embed codes and some<br />> <br />> >>>><br />> <br />> >>>> highlights, but it's just easier to keep these things around than the<br />> <br />> >>>><br />> <br />> >>>> pastebin.<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>>  * The idea of enabling hgbb, cedit and ensuring a bitbucket user is<br />> <br />> >>>><br />> <br />> >>>> because I am of the opinion we should make it easier to fork the<br />> <br />> >>>><br />> <br />> >>>> repository to make changes.  If those three are enabled, I believe a<br />> <br />> >>>><br />> <br />> >>>> command-line forking, editing of sources and so on, are all within our<br />> <br />> >>>><br />> <br />> >>>> reach.<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>>  * This bootstrap script requires that the yt-supplemental repo be<br />> <br />> >>>><br />> <br />> >>>> checked out in ${YT_DEST}/src/ .  This repo is actually kind of cool,<br />> <br />> >>>><br />> <br />> >>>> in that it is a subrepo setup, and it pulls in a couple external<br />> <br />> >>>><br />> <br />> >>>> libraries that we can maintain.  Right now it grabs the docs, the<br />> <br />> >>>><br />> <br />> >>>> cookbook, and the extensions mentioned above.  This repo is now pulled<br />> <br />> >>>><br />> <br />> >>>> in the current install_script.sh.<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> Anyway, I am submitting this to the list to get some review.  There<br />> <br />> >>>><br />> <br />> >>>> may be errors, but I have tested it quite a bit.  It also informs the<br />> <br />> >>>><br />> <br />> >>>> user of what it's about to do and requires the user hit enter.  At one<br />> <br />> >>>><br />> <br />> >>>> point it even asks for a yes or no.<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> The reason I am interested in this is that I think the idea of<br />> <br />> >>>><br />> <br />> >>>> bootstrapping people into a development environment is, generally, a<br />> <br />> >>>><br />> <br />> >>>> good idea.  Particularly because some things -- like the pasteboard,<br />> <br />> >>>><br />> <br />> >>>> like forking, like contributing changes -- should be made really easy<br />> <br />> >>>><br />> <br />> >>>> and have the potential for a very high payoff.  I hope I've motivated<br />> <br />> >>>><br />> <br />> >>>> things a bit better.<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> I was hoping that before I merged it I could get someone else to read<br />> <br />> >>>><br />> <br />> >>>> it over, maybe a couple people even to test it, and to get a good feel<br />> <br />> >>>><br />> <br />> >>>> for whether this is worthwhile or whether I should pull these changes<br />> <br />> >>>><br />> <br />> >>>> and just ignore the idea.  What do people think?<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> Thanks,<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> Matt<br />> <br />> >>>><br />> <br />> >>>> _______________________________________________<br />> <br />> >>>><br />> <br />> >>>> Yt-dev mailing list<br />> <br />> >>>><br />> <br />> >>>> Yt-dev@lists.spacepope.org<br />> <br />> >>>><br />> <br />> >>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>> _______________________________________________<br />> <br />> >>>><br />> <br />> >>>> Yt-dev mailing list<br />> <br />> >>>><br />> <br />> >>>> Yt-dev@lists.spacepope.org<br />> <br />> >>>><br />> <br />> >>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org<br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>>><br />> <br />> >>> _______________________________________________<br />> <br />> >>> Yt-dev mailing list<br />> <br />> >>> Yt-dev@lists.spacepope.org<br />> <br />> >>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org<br />> <br />> >>><br />> <br />> >>><br />> <br />> >> _______________________________________________<br />> <br />> >> Yt-dev mailing list<br />> <br />> >> Yt-dev@lists.spacepope.org<br />> <br />> >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org<br />> <br />> ><br />> <br />> > _______________________________________________<br />> <br />> > Yt-dev mailing list<br />> <br />> > Yt-dev@lists.spacepope.org<br />> <br />> > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org<br />> <br />> ><br />> <br />> _______________________________________________<br />> <br />> Yt-dev mailing list<br />> <br />> Yt-dev@lists.spacepope.org<br />> <br />> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org<br />>