threads / discuss / 11702

tracking a file from another project in my own project

Subject: tracking a file from another project in my own project

## tl;dr

6 messages between Jan 22, 2008 and Jan 22, 2008.

replies: 5people: 4as markdown or json

picca· Jan 22, 2008, 08:35 UTC · lore
Hello

Supposed I want to use the strbuf.c and strbuf.h file of git.git in my own project.git. Is it possible to configure git to track this particular files when I do a git pull?

This way all strbug bugs corrected in git.git will be apply automatically to my own project.

Thank you.
Junio C Hamano· Jan 22, 2008, 09:20 UTC · re: picca · lore

Re: tracking a file from another project in my own project

picca <picca@synchrotron-soleil.Fr> writes:
> This way all strbug bugs corrected in git.git will be apply
> automatically to my own project.

If I were you I'd probably just keep git.git as a submodule in your project and have two symlinks from your toplevel pointing at git.git/strbuf.[ch] (or from src/ to ../git.git/strbuf.[ch]).

Or "merge -s subtree".
picca· Jan 22, 2008, 13:56 UTC · re: Junio C Hamano · lore

Re: tracking a file from another project in my own project

On Tue, 22 Jan 2008 01:20:41 -0800 Junio C Hamano <gitster@pobox.com> wrote:

> If I were you I'd probably just keep git.git as a submodule in
> your project and have two symlinks from your toplevel pointing
> at git.git/strbuf.[ch] (or from src/ to ../git.git/strbuf.[ch]).
So submodule is a requirement to achieved this comportment ?

If someone want to clone my project.git, must he also clone the git.git project or he loose the ability to follow by it's own the strbuf.[ch] file ?

> Or "merge -s subtree".

I red the git help merge -s explanation but I do not understand how it can help in my case.

Thanks
Frederic
Jakub Narebski· Jan 22, 2008, 15:23 UTC · re: picca · lore

Re: tracking a file from another project in my own project

picca <picca@synchrotron-soleil.Fr> writes:
Show 8 quoted lines
> On Tue, 22 Jan 2008 01:20:41 -0800
> Junio C Hamano <gitster@pobox.com> wrote:
> 
> > If I were you I'd probably just keep git.git as a submodule in
> > your project and have two symlinks from your toplevel pointing
> > at git.git/strbuf.[ch] (or from src/ to ../git.git/strbuf.[ch]).
> 
> So submodule is a requirement to achieved this comportment ?

If you want to have strbuf.[ch] automatically tracked from git.git the you would have to have git.git project somehow embedded in your repository. Using submodules is one solution.

Currently there is no way to do "sparse checkout", i.e. automatically checkout only needed files (even if git.git clone has all the objects), but feel free to implement it... ;-) (just kidding).

Or you can try to convince strbuf authors to make it into separate
project, which would be fetched into git.git like gitk was.  And you
could then pull from this project directly or indirectly (submodule)
into your project.
  
> If someone want to clone my project.git, must he also clone the
> git.git project or he loose the ability to follow by it's own the
> strbuf.[ch] file ?
True.
> > Or "merge -s subtree".
> 
> I read the git help merge -s explanation but I do not understand how
> it can help in my case.

Using subtree merge strategy you can join histories of your project and git.git, embedding git.git as a subdirectory like gitk and git-gui are now in git.git. It is an alternative to using submodules.

-- 
Jakub Narebski
Poland
ShadeHawk on #git
Sergei Organov· Jan 22, 2008, 17:30 UTC · re: Jakub Narebski · lore

Re: tracking a file from another project in my own project

Jakub Narebski <jnareb@gmail.com> writes:
> picca <picca@synchrotron-soleil.Fr> writes:
>> Junio C Hamano <gitster@pobox.com> wrote:
[...]
Show 8 quoted lines
>> > Or "merge -s subtree".
>> 
>> I read the git help merge -s explanation but I do not understand how
>> it can help in my case.
>
> Using subtree merge strategy you can join histories of your project
> and git.git, embedding git.git as a subdirectory like gitk and git-gui
> are now in git.git.  It is an alternative to using submodules.
Is subtree merge strategy documented?

$ grep subtree Documentation/merge-strategies.txt $

-- Sergei.
Jakub Narebski· Jan 22, 2008, 18:34 UTC · re: Sergei Organov · lore

Re: tracking a file from another project in my own project

Sergei Organov wrote:
Show 20 quoted lines
> Jakub Narebski <jnareb@gmail.com> writes:
>> picca <picca@synchrotron-soleil.Fr> writes:
>>> Junio C Hamano <gitster@pobox.com> wrote:
> 
> [...]
> 
>>>> Or "merge -s subtree".
>>> 
>>> I read the git help merge -s explanation but I do not understand how
>>> it can help in my case.
>>
>> Using subtree merge strategy you can join histories of your project
>> and git.git, embedding git.git as a subdirectory like gitk and
>> git-gui are now in git.git.  It is an alternative to using
>> submodules. 
> 
> Is subtree merge strategy documented?
> 
> $ grep subtree Documentation/merge-strategies.txt
> $
Documentation/howto/using-merge-subtree.txt

But I agree that it should be also described, or at least mentioned in Documentation/merge-strategies.txt

-- 
Jakub Narebski
Poland

← back to recent threads