<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><br><br><div class="gmail_quote">On Thu Dec 04 2014 at 5:08:18 PM Daniel Fenn <<a href="mailto:dsfenn@gmail.com">dsfenn@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">There's a good chance I created that directory at some point. That cuts down on my confusion a good deal. One final question--I'm trying to test out some of the recent changes that were made--specifically pull requests #1328 and #1331. I thought I would just have to do hg update in the hg-yt directory. <div><br></div><div>The update worked fine, and it now says I'm at version 3.1-dev, but when I check the log, I don't see any mention of those pull requests. Did I miss them (very possible), or have they not been added to the main repository? I notice that they both still say "open". If that's the case, is there a way that I can download the changed files?</div></div></blockquote><div><br></div><div>To test a PR, you're going to need to pull it in locally from the issuer's fork of yt, then update to the tip of their PR.  I'm looking at our documentation, and I don't think we cover this specific workflow, so this is something that should probably be added.</div><div><br></div><div>Here what I do.  Go to the pull request page on bitbucket, and click over to the commits tab.  I.e. this page for PR 1328:</div><div><br></div><div><a href="https://bitbucket.org/yt_analysis/yt/pull-request/1328/delay-running-callbacks-until-the-plot/commits">https://bitbucket.org/yt_analysis/yt/pull-request/1328/delay-running-callbacks-until-the-plot/commits</a><br></div><div><br></div><div>That lists all of the changesets that are part of the pull request.  You're going to need to copy/paste the changeset hash for the tip of the pull request, in this case it's c62d7d0.</div><div><br></div><div>Next, in your local clone of yt, do:</div><div><br></div><div>$ hg pull -r c62d7d0 <a href="https://bitbucket.org/ngoldbaum/yt">https://bitbucket.org/ngoldbaum/yt</a></div><div><br></div><div>Note that I'm pulling from the PR issuer's repository.  Pull requests are not part of the main repository until they have been merged.</div><div><br></div><div>Next, just in case any compiled code changes (i.e. a cython .pyx file), run:</div><div><br></div><div>$ python setup.py develop</div><div><br></div><div>It's good to get into the habit of doing this, since you will run into weird behavior if any compiled files changed and they didn't get recompiled.</div><div><br></div><div>Now the changeset in the tip of the pull request is the "active" change. You can test the pull request.</div><div><br></div><div>To do back to "mainline" yt, you can issue the following command:</div><div><br></div><div>hg update <tip_hash></div><div><br></div><div>Where <tip_hash> is the changeset hash corresponding to the current tip of the "yt" branch on the main yt bitbucket repository. I usually look at the following page to figure out what that is:</div><div><br></div><div><a href="https://bitbucket.org/yt_analysis/yt/commits/branch/yt">https://bitbucket.org/yt_analysis/yt/commits/branch/yt</a><br></div><div><br></div><div>You can also automate this workflow using the remotebranches extension for mercurial:</div><div><br></div><div><a href="http://mercurial.selenic.com/wiki/RemoteBranchesExtension">http://mercurial.selenic.com/wiki/RemoteBranchesExtension</a><br></div><div><br></div><div>If at any time you get confused about where you are on the changeset graph, take a look at the output of "hg log -G".  You can also use a gui like tortoisehg or sourcetree, if you find that more comfortable.</div><div><br></div><div>Best,</div><div><br></div><div>Nathan</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>Thanks for taking the time to answer all my questions. </div><div><br></div><div>Dan</div></div><div class="gmail_extra"><br><div class="gmail_quote">2014-12-04 19:30 GMT-05:00 Nathan Goldbaum <span dir="ltr"><<a href="mailto:nathan12343@gmail.com" target="_blank">nathan12343@gmail.com</a>></span>:</div></div><div class="gmail_extra"><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br><br><div class="gmail_quote"><span>On Thu Dec 04 2014 at 4:23:06 PM Daniel Fenn <<a href="mailto:dsfenn@gmail.com" target="_blank">dsfenn@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Ok, thanks for the help--that ended up being pretty easy. Something else I'm confused about is why the same files appear in two different directories. There's the hg-yt directory in YT_DIR/src, </div></blockquote><div><br></div></span><div>The yt-hg directory is a clone of the yt mercurial repository. It gets created by the install script.</div><span><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">and then there's YT_DIR/yt, which seems to be the exact same thing. What's the difference between them?</div></blockquote><div><br></div></span><div>I don't have this directory in my install script build.  Is there a chance you created this directory at some point? </div><span><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div></div><div>Another question--will the fork that I created be updated with future changes to the code, or do I have to manually update it, and, if so, how?</div></div></blockquote><div><br></div></span><div>You will need to manually keep it up to date.  You can do this by clicking the "sync now" link on the overview page for your fork on the bitbucket web interface, or by manually pushing changes to your fork using "hg push".  You can configure mercurial so that your default push location is your fork, see "hg help paths".</div><div><br></div><div>That said, I don't think it's important to keep your fork up to date. I generally have my paths setup so I pull directly from the main yt_analysis/yt repository and then push to my fork only when I want to issue pull requests.  If your fork is out of date, you when you push the changes for your pull request, you will also push the changes that will bring it up to date.</div><div><div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>Thanks for your help,</div><div><br></div><div>Dan</div></div><div class="gmail_extra"><br><div class="gmail_quote">2014-12-04 11:23 GMT-05:00 Cameron Hummels <span dir="ltr"><<a href="mailto:chummels@gmail.com" target="_blank">chummels@gmail.com</a>></span>:</div></div><div class="gmail_extra"><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">There is also some discussion on how to do it in the developer documentation:<div><br></div><div><a href="http://yt-project.org/docs/dev/developing/developing.html#making-and-sharing-changes" target="_blank">http://yt-project.org/docs/dev/developing/developing.html#making-and-sharing-changes</a><br></div><div><br></div><div>Thanks for your hard work on this, and don't hesitate to ask for more help!</div><span><font color="#888888"><div><br></div><div>Cameron</div></font></span></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Dec 4, 2014 at 8:05 AM, Matthew Turk <span dir="ltr"><<a href="mailto:matthewturk@gmail.com" target="_blank">matthewturk@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Dan,<br>
<br>
Yup, you can commit in that directory, and push to a fork.  Create a<br>
fork on bitbucket, then do your changes and commit, and issue this<br>
command:<br>
<br>
hg push <a href="https://bitbucket.org/yourusername/yt" target="_blank">https://bitbucket.org/yourusername/yt</a><br>
<br>
Then you can issue a pull request via their web interface.  You can<br>
also edit your hgrc to add an alias, but that can happen later.<br>
<br>
-Matt<br>
<div><div><br>
On Thu, Dec 4, 2014 at 8:08 AM, Daniel Fenn <<a href="mailto:dsfenn@gmail.com" target="_blank">dsfenn@gmail.com</a>> wrote:<br>
> Hi Cameron,<br>
><br>
> Yeah, no problem. I'm not exactly sure how to do that. Do I have to fork yt<br>
> first, or can I use my existing installation since it's already using<br>
> Mercurial? I'm familiar with subversion, since that's what we use in our<br>
> research group, but I'm a bit hazy on how the whole thing is set up with yt.<br>
> When I installed yt using the installation script, it created a yt-hg<br>
> directory. Is that a checked-out version of the code that I can commit?<br>
><br>
> Thanks!<br>
><br>
> Dan<br>
><br>
> 2014-12-03 20:59 GMT-05:00 Cameron Hummels <<a href="mailto:chummels@gmail.com" target="_blank">chummels@gmail.com</a>>:<br>
><br>
>> Hey Daniel,<br>
>><br>
>> This is great that you got this working, and it sounds like something from<br>
>> which others could benefit! Would you mind submitting this change to the<br>
>> main codebase in a pull request?<br>
>><br>
>> Cameron<br>
>><br>
>> On Wed, Dec 3, 2014 at 6:46 PM, Daniel Fenn <<a href="mailto:dsfenn@gmail.com" target="_blank">dsfenn@gmail.com</a>> wrote:<br>
>>><br>
>>> Hi Matt,<br>
>>><br>
>>> I was able to get my MPI problem fixed by using subcommunicators. I<br>
>>> modified enable_parallelism() to take an optional argument that specifies<br>
>>> the MPI communicator yt should use. If none is specified, it defaults to<br>
>>> COMM_WORLD. Seems to be working pretty well so far.<br>
>>><br>
>>> Thanks for the advice,<br>
>>><br>
>>> Dan<br>
>>><br>
>>> 2014-12-03 19:16 GMT-05:00 Matthew Turk <<a href="mailto:matthewturk@gmail.com" target="_blank">matthewturk@gmail.com</a>>:<br>
>>><br>
>>>> Hi Dan,<br>
>>>><br>
>>>> I've done this before by modifying how the global communicator is<br>
>>>> created.  The way they work in yt is through pushing new communicators<br>
>>>> onto a stack, which can vary based on which processors you're on.  I<br>
>>>> don't think I ever wrote it up in a PR, but I think it could be done<br>
>>>> without too much work.<br>
>>>><br>
>>>> On Wed, Dec 3, 2014 at 11:47 AM, Daniel Fenn <<a href="mailto:dsfenn@gmail.com" target="_blank">dsfenn@gmail.com</a>> wrote:<br>
>>>> > Is there a way to restrict yt to only use a subset of the available<br>
>>>> > processes when it's running in parallel? I have a set of ipython<br>
>>>> > engines<br>
>>>> > running, and I'm trying to launch a yt script on a subset of them, but<br>
>>>> > it<br>
>>>> > just hangs. It works fine if I launch the same script on all the<br>
>>>> > processes.<br>
>>>> ><br>
>>>> > Printing out MPI.COMM_WORLD.Get_size() from the script gives the total<br>
>>>> > number of engines, not the size of the subset I'm trying to use.<br>
>>>> ><br>
>>>> > I haven't done a lot of parallel programming, but I would guess that<br>
>>>> > the<br>
>>>> > running processes are waiting on one that's not running a yt script,<br>
>>>> > since<br>
>>>> > they can see the total number of processes available, but not the size<br>
>>>> > of<br>
>>>> > the subset of processes that are actually running a yt script.<br>
>>>> ><br>
>>>> > Does anyone have any thoughts on how to do this?<br>
>>>> ><br>
>>>> > Thanks,<br>
>>>> ><br>
>>>> > Dan<br>
>>>> ><br>
>>>> > _______________________________________________<br>
>>>> > yt-users mailing list<br>
>>>> > <a href="mailto:yt-users@lists.spacepope.org" target="_blank">yt-users@lists.spacepope.org</a><br>
>>>> > <a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org</a><br>
>>>> ><br>
>>>> _______________________________________________<br>
>>>> yt-users mailing list<br>
>>>> <a href="mailto:yt-users@lists.spacepope.org" target="_blank">yt-users@lists.spacepope.org</a><br>
>>>> <a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org</a><br>
>>><br>
>>><br>
>>><br>
>>> _______________________________________________<br>
>>> yt-users mailing list<br>
>>> <a href="mailto:yt-users@lists.spacepope.org" target="_blank">yt-users@lists.spacepope.org</a><br>
>>> <a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org</a><br>
>>><br>
>><br>
>><br>
>><br>
>> --<br>
>> Cameron Hummels<br>
>> Postdoctoral Researcher<br>
>> Steward Observatory<br>
>> University of Arizona<br>
>> <a href="http://chummels.org" target="_blank">http://chummels.org</a><br>
>><br>
>> _______________________________________________<br>
>> yt-users mailing list<br>
>> <a href="mailto:yt-users@lists.spacepope.org" target="_blank">yt-users@lists.spacepope.org</a><br>
>> <a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org</a><br>
>><br>
><br>
><br>
> _______________________________________________<br>
> yt-users mailing list<br>
> <a href="mailto:yt-users@lists.spacepope.org" target="_blank">yt-users@lists.spacepope.org</a><br>
> <a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org</a><br>
><br>
_______________________________________________<br>
yt-users mailing list<br>
<a href="mailto:yt-users@lists.spacepope.org" target="_blank">yt-users@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div>Cameron Hummels<div>Postdoctoral Researcher</div><div>Steward Observatory</div><div>University of Arizona</div><div><a href="http://chummels.org" target="_blank">http://chummels.org</a></div></div>
</div>
</div></div><br>_______________________________________________<br>
yt-users mailing list<br>
<a href="mailto:yt-users@lists.spacepope.org" target="_blank">yt-users@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org</a><br>
<br></blockquote></div></div>
______________________________<u></u>_________________<br>
yt-users mailing list<br>
<a href="mailto:yt-users@lists.spacepope.org" target="_blank">yt-users@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org" target="_blank">http://lists.spacepope.org/<u></u>listinfo.cgi/yt-users-<u></u>spacepope.org</a><br>
</blockquote></div></div></div>
<br>_______________________________________________<br>
yt-users mailing list<br>
<a href="mailto:yt-users@lists.spacepope.org" target="_blank">yt-users@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org</a><br>
<br></blockquote></div></div>
______________________________<u></u>_________________<br>
yt-users mailing list<br>
<a href="mailto:yt-users@lists.spacepope.org" target="_blank">yt-users@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org" target="_blank">http://lists.spacepope.org/<u></u>listinfo.cgi/yt-users-<u></u>spacepope.org</a><br>
</blockquote></div>