[IPython-dev] submodules over https

Aron Ahmadia aron at ahmadia.net
Thu May 2 12:53:09 EDT 2013


Could you explain that a bit more?  The only thing that breaks is if you
try to clone a top-level IPython fork on github but haven't forked all the
proper submodules.  To me that's more of a github issue (it should allow
you fork all subrepositories in one fell forky swoop).

I guess the question is what your common case is.  How often do you expect
people to just want to fork IPython vs. maintaining public IPython branches
that contain subrepositories.  For your case, it might be better to go with
hardcoded submodule URLs but provide instructions somewhere on how to issue
a pull request when you have subrepository commits as well.

A


On Thu, May 2, 2013 at 5:45 PM, MinRK <benjaminrk at gmail.com> wrote:

> but relative urls don't work for any regular PRs that *don't* affect the
> submodule
>
>
>
> On Thu, May 2, 2013 at 9:44 AM, Aron Ahmadia <aron at ahmadia.net> wrote:
>
>> Min,
>>
>> It's most useful for maintaining branches of repositories containing
>> subrepositories without having pull requests open.
>>
>> Let's say I want somebody to see my version of IPython, that points to my
>> own edits to the Components subrepo as some top-level edits.  With the
>> hardcoded approach, I can't maintain a top-level IPython fork without
>> keeping a little commit in there that modifies .gitmodules to point to my
>> repositories (or switch to relative URLs) unless you keep a pull request
>> open at IPython/xxx for all the branch commits.
>>
>> So in summary:
>>
>> relative urls - able to maintain branches that point to correct
>> subrepository commits without pull requests open, single forks from github
>> don't work
>> hardcoded urls - single forks work, hard to maintain branches that
>> require commits in subrepositories (that are not yet merged into IPython)
>>
>> A
>>
>>
>>
>>
>> On Thu, May 2, 2013 at 5:32 PM, MinRK <benjaminrk at gmail.com> wrote:
>>
>>> I didn't know about relative URLs, that's cool.  There is one problem
>>> with them, though: forks.  It means that a clone from someone else's repo
>>> won't be able to find it because it will resolve to their
>>> ipython-components repo as well (same goes for secondary clones from the
>>> filesystem, etc.).  I just ran into this while testing my own branch which
>>> changes the url to relative, which doesn't work because my fork of
>>> ipython-components isn't up to date.
>>>
>>> What is the disadvantage of just hard-coding https?
>>>
>>>
>>>
>>> On Thu, May 2, 2013 at 6:12 AM, Aron Ahmadia <aron at ahmadia.net> wrote:
>>>
>>>> Looks like the setupbase.py typo has been addressed:
>>>> https://github.com/ipython/ipython/pull/3258
>>>>
>>>> A
>>>>
>>>>
>>>> On Thu, May 2, 2013 at 12:20 PM, Dave Hirschfeld <
>>>> dave.hirschfeld at gmail.com> wrote:
>>>>
>>>>> Aron Ahmadia <aron <at> ahmadia.net> writes:
>>>>>
>>>>> >
>>>>> > Hi Dave,
>>>>> > I just noticed that the submodule URLs are hardcoded instead of
>>>>> relative:
>>>>> >
>>>>> >
>>>>> > https://github.com/ipython/ipython/blob/master/.gitmodules#L3
>>>>> >
>>>>>
>>>>>
>>>>> So that's where the path is hard coded - good to know!
>>>>>
>>>>>
>>>>> >
>>>>> > Can you check that if you do a non-recursive checkout, then modify
>>>>> this
>>>>> line in the top-level .gitmodule file from:
>>>>> >
>>>>> >
>>>>> > url = git://github.com/ipython/ipython-components.git
>>>>> >
>>>>> > url = ../ipython-components.git
>>>>> >
>>>>> >
>>>>> > that everything works for you?
>>>>> >
>>>>>
>>>>>
>>>>> I can confirm that changing the url to a relative path in this one
>>>>> location
>>>>> allows everything to work correctly with a repo checked out via https.
>>>>>
>>>>>
>>>>> > It seems there's a typo in setupbase.py
>>>>> >
>>>>> > https://github.com/ipython/ipython/blob/master/setupbase.py#L384
>>>>> >
>>>>> > I'm assuming that 'external' should in fact be 'components'
>>>>> > With this change I can compile & run the latest IPython.
>>>>> >
>>>>>
>>>>>
>>>>> NB: To build & install you still have to fix the typo in setupbase.py
>>>>>
>>>>> Thanks,
>>>>> Dave
>>>>>
>>>>> _______________________________________________
>>>>> IPython-dev mailing list
>>>>> IPython-dev at scipy.org
>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> IPython-dev mailing list
>>>> IPython-dev at scipy.org
>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>
>>>>
>>>
>>> _______________________________________________
>>> IPython-dev mailing list
>>> IPython-dev at scipy.org
>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>
>>>
>>
>> _______________________________________________
>> IPython-dev mailing list
>> IPython-dev at scipy.org
>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>
>>
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20130502/fc865278/attachment-0001.html>


More information about the IPython-dev mailing list