[IPython-dev] submodules over https

Aron Ahmadia aron at ahmadia.net
Thu May 2 12:44:07 EDT 2013


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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20130502/354c0b52/attachment-0001.html>


More information about the IPython-dev mailing list