* Q. regarding subtree merge
@ 2008-04-18 9:36 Stefan Näwe
2008-04-18 10:02 ` Santi Béjar
0 siblings, 1 reply; 5+ messages in thread
From: Stefan Näwe @ 2008-04-18 9:36 UTC (permalink / raw)
To: git
Hi all.
I tried the scenario described in
$GIT_DIR/Documentation/howto/using-merge-subtree.txt and have some problems
with it.
My setup:
I use git to track my changes in three different "project directories", lets
say:
...../src_root/libfoo
...../src_root/appbar
...../bin_root/installed
All three git repositories contain a topic branch (lets say 'current-work')
that I want to track.
Now I want to setup one git repository containing only the three directories
'libfoo', 'appbar', and 'installed' that others can clone easily. Reading the
above howto document, I think this should be possible.
I do:
$ mkdir super-prj
$ cd super-prj
$ git init
$ git add remote -f libfoo ../path/to/src_root/libfoo
OK. No problem.
The problem arises after the second step of the howto:
$ git merge -s ours --no-commit libfoo/current-work
Now, all files of 'libfoo' are in the current directory. This is not what I
want.
Could someone please tell me what I'm doing wrong?
Thanks
Stefan
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Q. regarding subtree merge
2008-04-18 9:36 Q. regarding subtree merge Stefan Näwe
@ 2008-04-18 10:02 ` Santi Béjar
2008-04-18 10:09 ` Santi Béjar
0 siblings, 1 reply; 5+ messages in thread
From: Santi Béjar @ 2008-04-18 10:02 UTC (permalink / raw)
To: Stefan Näwe; +Cc: git
On Fri, Apr 18, 2008 at 11:36 AM, Stefan Näwe
<stefan.naewe+git@gmail.com> wrote:
> Hi all.
>
> I tried the scenario described in
> $GIT_DIR/Documentation/howto/using-merge-subtree.txt and have some problems
> with it.
>
> My setup:
>
> I use git to track my changes in three different "project directories", lets
> say:
>
> ...../src_root/libfoo
> ...../src_root/appbar
> ...../bin_root/installed
>
> All three git repositories contain a topic branch (lets say 'current-work')
> that I want to track.
>
> Now I want to setup one git repository containing only the three directories
> 'libfoo', 'appbar', and 'installed' that others can clone easily. Reading the
> above howto document, I think this should be possible.
>
> I do:
>
> $ mkdir super-prj
> $ cd super-prj
> $ git init
> $ git add remote -f libfoo ../path/to/src_root/libfoo
>
> OK. No problem.
>
> The problem arises after the second step of the howto:
>
> $ git merge -s ours --no-commit libfoo/current-work
>
> Now, all files of 'libfoo' are in the current directory. This is not what I
> want.
>
> Could someone please tell me what I'm doing wrong?
You are trying to merge libfoo with an empty project, so the merge
just "fast-forward" to the other commit as you do not have an "ours".
Simply skip the merge step.
Santi
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Q. regarding subtree merge
2008-04-18 10:02 ` Santi Béjar
@ 2008-04-18 10:09 ` Santi Béjar
2008-04-18 12:18 ` Stefan Näwe
0 siblings, 1 reply; 5+ messages in thread
From: Santi Béjar @ 2008-04-18 10:09 UTC (permalink / raw)
To: Stefan Näwe; +Cc: git
On Fri, Apr 18, 2008 at 12:02 PM, Santi Béjar <sbejar@gmail.com> wrote:
>
> On Fri, Apr 18, 2008 at 11:36 AM, Stefan Näwe
> <stefan.naewe+git@gmail.com> wrote:
> > Hi all.
> >
> > I tried the scenario described in
> > $GIT_DIR/Documentation/howto/using-merge-subtree.txt and have some problems
> > with it.
> >
> > My setup:
> >
> > I use git to track my changes in three different "project directories", lets
> > say:
> >
> > ...../src_root/libfoo
> > ...../src_root/appbar
> > ...../bin_root/installed
> >
> > All three git repositories contain a topic branch (lets say 'current-work')
> > that I want to track.
> >
> > Now I want to setup one git repository containing only the three directories
> > 'libfoo', 'appbar', and 'installed' that others can clone easily. Reading the
> > above howto document, I think this should be possible.
> >
> > I do:
> >
> > $ mkdir super-prj
> > $ cd super-prj
> > $ git init
> > $ git add remote -f libfoo ../path/to/src_root/libfoo
> >
> > OK. No problem.
> >
> > The problem arises after the second step of the howto:
> >
> > $ git merge -s ours --no-commit libfoo/current-work
> >
> > Now, all files of 'libfoo' are in the current directory. This is not what I
> > want.
> >
> > Could someone please tell me what I'm doing wrong?
>
> You are trying to merge libfoo with an empty project, so the merge
> just "fast-forward" to the other commit as you do not have an "ours".
>
> Simply skip the merge step.
Ups, I think you have to specify the parent for the new commit. Maybe
change the merge step with:
$ git reset --soft libfoo/current-work
Santi
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Q. regarding subtree merge
2008-04-18 10:09 ` Santi Béjar
@ 2008-04-18 12:18 ` Stefan Näwe
2008-04-18 12:59 ` Santi Béjar
0 siblings, 1 reply; 5+ messages in thread
From: Stefan Näwe @ 2008-04-18 12:18 UTC (permalink / raw)
To: git; +Cc: Santi Béjar
2008/4/18, Santi Béjar <sbejar@gmail.com>:
> On Fri, Apr 18, 2008 at 12:02 PM, Santi Béjar <sbejar@gmail.com> wrote:
> >
> > On Fri, Apr 18, 2008 at 11:36 AM, Stefan Näwe
> > <stefan.naewe+git@gmail.com> wrote:
> > > Hi all.
> > >
> > > I tried the scenario described in
> > > $GIT_DIR/Documentation/howto/using-merge-subtree.txt and have some problems
> > > with it.
> > >
> > > My setup:
> > >
> > > I use git to track my changes in three different "project directories", lets
> > > say:
> > >
> > > ...../src_root/libfoo
> > > ...../src_root/appbar
> > > ...../bin_root/installed
> > >
> > > All three git repositories contain a topic branch (lets say 'current-work')
> > > that I want to track.
> > >
> > > Now I want to setup one git repository containing only the three directories
> > > 'libfoo', 'appbar', and 'installed' that others can clone easily. Reading the
> > > above howto document, I think this should be possible.
> > >
> > > I do:
> > >
> > > $ mkdir super-prj
> > > $ cd super-prj
> > > $ git init
> > > $ git add remote -f libfoo ../path/to/src_root/libfoo
> > >
> > > OK. No problem.
> > >
> > > The problem arises after the second step of the howto:
> > >
> > > $ git merge -s ours --no-commit libfoo/current-work
> > >
> > > Now, all files of 'libfoo' are in the current directory. This is not what I
> > > want.
> > >
> > > Could someone please tell me what I'm doing wrong?
> >
> > You are trying to merge libfoo with an empty project, so the merge
> > just "fast-forward" to the other commit as you do not have an "ours".
> >
> > Simply skip the merge step.
>
>
> Ups, I think you have to specify the parent for the new commit. Maybe
> change the merge step with:
>
> $ git reset --soft libfoo/current-work
>
OK. Thanks. It worked without the merge.
I did another test where the 'super-prj' was not empty, this time with
'git merge -s...' and
that worked as well. So:
If you have an empty super-prj -> drop the merge
If you have a non-empty super-prj -> do the merge
But I really don't understand (yet...) why it is as it is...
Thanks
Stefan
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Q. regarding subtree merge
2008-04-18 12:18 ` Stefan Näwe
@ 2008-04-18 12:59 ` Santi Béjar
0 siblings, 0 replies; 5+ messages in thread
From: Santi Béjar @ 2008-04-18 12:59 UTC (permalink / raw)
To: Stefan Näwe; +Cc: git
On Fri, Apr 18, 2008 at 2:18 PM, Stefan Näwe
<stefan.naewe@googlemail.com> wrote:
> 2008/4/18, Santi Béjar <sbejar@gmail.com>:
>
[...]
> >
> > $ git reset --soft libfoo/current-work
> >
>
> OK. Thanks. It worked without the merge.
> I did another test where the 'super-prj' was not empty, this time with
> 'git merge -s...' and
> that worked as well. So:
> If you have an empty super-prj -> drop the merge
+ git reset --soft commit
If not the next "git merge -s subtree" will fail.
> If you have a non-empty super-prj -> do the merge
>
> But I really don't understand (yet...) why it is as it is...
Because you cannot merge an empty branch with another branch.
Maybe "git merge -s ours" should fail in this case, because it does not
make sense to merge an empty branch with the "ours" strategy.
Santi
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-04-18 13:01 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-18 9:36 Q. regarding subtree merge Stefan Näwe
2008-04-18 10:02 ` Santi Béjar
2008-04-18 10:09 ` Santi Béjar
2008-04-18 12:18 ` Stefan Näwe
2008-04-18 12:59 ` Santi Béjar
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).