git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Santi Béjar" <sbejar@gmail.com>
To: "H.Merijn Brand" <h.m.brand@xs4all.nl>
Cc: "Petr Baudis" <pasky@suse.cz>,
	"Brian Gernhardt" <benji@silverinsanity.com>,
	"Git List" <git@vger.kernel.org>,
	"Lars Noschinski" <lars-2008-1@usenet.noschinski.de>
Subject: Re: Merging submodules
Date: Thu, 31 Jul 2008 17:24:40 +0200	[thread overview]
Message-ID: <8aa486160807310824h25c9630dxc25b156e80fcdb29@mail.gmail.com> (raw)
In-Reply-To: <20080731170123.79e0d3e9@pc09.procura.nl>

On Thu, Jul 31, 2008 at 17:01, H.Merijn Brand <h.m.brand@xs4all.nl> wrote:
> On Thu, 31 Jul 2008 15:06:26 +0200, Petr Baudis <pasky@suse.cz> wrote:
>
>> On Thu, Jul 31, 2008 at 02:39:55PM +0200, H.Merijn Brand wrote:
>> >
>> > There is a slight problem with this merging approach. The path names
>> > are as they are/were in the submodules. In module_a, foo.pl was without
>> > a leading module_a/ path, and now after integration, it still is. Is it
>> > possible to rethink this whole process that integrates/merges the
>> > several git repo's in subfolders into the current folder, as-if they
>> > would have been in this folder in the first place?
>>
>> I would suggest re-reading Santi's suggestions:
>>
>> > You have, basically, two possibilities:
>> >
>> > 1) Add the module_# as submodules:
>> >   http://www.kernel.org/pub/software/scm/git/docs/git-submodule.html
>> >   http://git.or.cz/gitwiki/GitSubmoduleTutorial
>> > 2) Add the submodules as subtrees (as gitk and git-gui in git.git)
>> >   http://www.kernel.org/pub/software/scm/git/docs/howto/using-merge-subtree.html
>>
>> I think the latter is specifically what you want.
>
> I got stuck in that process, as the new repo thinks all the files from
> the sub-folders belong to the top-folder: After this process, there are
> a lot of files from subfolder include in the "new" top-level folder.
>

I see all OK. Can you provide a self consistent simple testcase that
shows what is wrong?

# prepare the project and the modules
mkdir project
cd project
git init
...
mkdir module_a
cd module_a
git init
...
# your script
# show what you get and what you expect, for example:

$ git show HEAD:   # or something equivalent
$ ls
$ git status
...

> --8<--- git-join.sh
> #!/bin/sh
>
> export MODS
> MODS="include fnc"
> MODS="$MODS i00f000 i99f000"
> MODS="$MODS l00m000 l01f000 l02f000 l03f000 l06f000 l90z000"
> MODS="$MODS rpt"
> MODS="$MODS leerpl mutbev prtabel tabellen zoomen"
>
> echo "Creating merge environment"
> rm -rf new
> mkdir new
> cd new
>
> echo "Recovering original repo's"
> tbz -s -x ../lep4gl-git
>
> echo "Initializing new repo"
> git init
>
> for mod in $MODS ; do
>    echo "Merging $mod ..."
>    git remote add -f B$mod $mod
>    git merge -s ours --no-commit B$mod/master
>    git read-tree --prefix=$mod/ -u B$mod/master
>    git commit -m "Merge $mod as our subdirectory"


>    git pull -s subtree B$mod master

This is only needed when updating the subtree if the module has been
updated (but it should do nothing in you case).

>    done
>
> echo Done
> -->8---

Santi

  reply	other threads:[~2008-07-31 15:25 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-30 23:03 Merging submodules (was Re: Feature suggestion: git-hist) Brian Gernhardt
2008-07-31  7:21 ` H.Merijn Brand
2008-07-31 12:39   ` Merging submodules H.Merijn Brand
2008-07-31 13:06     ` Petr Baudis
2008-07-31 15:01       ` H.Merijn Brand
2008-07-31 15:24         ` Santi Béjar [this message]
2008-07-31 18:15           ` H.Merijn Brand
2008-07-31 19:03             ` Santi Béjar
2008-07-31 20:44               ` H.Merijn Brand
2008-08-01  7:04               ` H.Merijn Brand
2008-08-01  9:52                 ` Santi Béjar
2008-08-01 10:35                   ` H.Merijn Brand
2008-08-01 11:34                     ` Santi Béjar
2008-08-04 13:24                       ` H.Merijn Brand
2008-08-04 13:40                         ` Petr Baudis
2008-08-04 13:57                           ` H.Merijn Brand
2008-08-04 14:06                             ` Petr Baudis
2008-07-31 13:17     ` Santi Béjar
  -- strict thread matches above, loose matches on Subject: below --
2008-07-30 22:59 Brian Gernhardt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8aa486160807310824h25c9630dxc25b156e80fcdb29@mail.gmail.com \
    --to=sbejar@gmail.com \
    --cc=benji@silverinsanity.com \
    --cc=git@vger.kernel.org \
    --cc=h.m.brand@xs4all.nl \
    --cc=lars-2008-1@usenet.noschinski.de \
    --cc=pasky@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).