Re: Re: Re: Updating a submodule with a compatible version from another submodule version using the parent meta-repository

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Heiko,

Thanks for all your feedbacks. Before your first mail I had already
implemented command 1 you are talking about and almost finished
command 2. Today I could spend some time again on this side project
and I have finished command 2. Here is what you do:

git submodulecheckout --find-versions <submodule> > <some_temp_file>
cd <submodule>
git submodulecheckout --find-closest < <some_temp_file>

This will output the version you need to checkout in the meta
repository. I don't handle the case where there is multiple solutions
but it is a good start I think. I think with this you can already
start the integration in the submodule bash script to make it
recursive and be more user-friendly? Are you still interested Heiko?

I have pushed this to my repository so you can check it out if you want.

Both commands have a suboptimal implementation but it can be improved
without changing the current API so I think it is a minor issue. I
will probably try this at work today on msysgit. Currently I am  doing
this at home on my linux using some open source meta-repository, if
you have a big one to try this feature let me know (I am currently
using git://git.assembla.com/luadocsuperforest.git and it is not that
big).

Best regards,

Julian Ibarz

On Wed, Feb 9, 2011 at 2:36 PM, Heiko Voigt <hvoigt@xxxxxxxxxx> wrote:
> Hi Julian,
>
> On Wed, Feb 02, 2011 at 11:31:40PM -0500, Julian Ibarz wrote:
>> So now my two questions that could save me some time are:
>> - is there a function that gives the distance between two commits? I'm
>> sure there is something like this coded somewhere but I didn't find it
>> yet
>
> One thing which now came to my mind is that you might be interested in
> is to use merge bases to find the earliest commit that contains a
> certain revision.
>
> Have a look at how I implemented the submodule merge strategy that might
> help you. You can find it in commit 68d03e4a. I basically do a search
> for the earliest commit that contains the commits from both sides. You
> could use a similar strategy but limit the possible candidates to a
> restricted list of commits which are contained in the supermodule.
>
> Cheers Heiko
>
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]