* Splitting a repository but sharing the common parts of the object database
@ 2010-12-13 18:39 Phillip Susi
2010-12-13 19:20 ` Jonathan Nieder
0 siblings, 1 reply; 5+ messages in thread
From: Phillip Susi @ 2010-12-13 18:39 UTC (permalink / raw)
To: git
I have recently started a new project that has begun its life as a fork
of an old project, then heavily modified. At the same time I am looking
into migrating from svn to git. Since this is a separate project, I
thought I should split it into a separate git repository and keep them
separate going forward, however, since they have common ancestry up to
this point, I would like to make sure that all of that data is not
duplicated.
I thought what I could do is set up an initial repository that is fully
packed and use it as a read only archive to contain all of the shared
history, then clone that into two new repositories for the two separate
projects. It seems like I can do this by running a clone -s so that the
archive is set up to be an alternate object store, then its big pack
file will be found and used for all of the old history, but new commits
will be specific to each of the two new respective projects. The
problem I run into though, is when it comes time to repack the new projects.
If I run a repack -a, then the new project has everything copied out of
the archive and into its new main pack, rather than continuing to use
the archive repository for old history, and just pack everything since
then. I guess I am looking for is somewhere between a full repack and
an incremental; a way to make repack -a discard existing local packs,
but to respect the alternate packs and omit objects they contain from
the new local pack. Is this possible?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Splitting a repository but sharing the common parts of the object database
2010-12-13 18:39 Splitting a repository but sharing the common parts of the object database Phillip Susi
@ 2010-12-13 19:20 ` Jonathan Nieder
2010-12-13 19:50 ` Stephen Bash
2010-12-13 23:17 ` Phillip Susi
0 siblings, 2 replies; 5+ messages in thread
From: Jonathan Nieder @ 2010-12-13 19:20 UTC (permalink / raw)
To: Phillip Susi; +Cc: git
Hi Phillip,
Phillip Susi wrote:
> If I run a repack -a, then the new project has everything copied out of
> the archive and into its new main pack, rather than continuing to use
> the archive repository for old history, and just pack everything since
> then. I guess I am looking for is somewhere between a full repack and
> an incremental; a way to make repack -a discard existing local packs,
> but to respect the alternate packs and omit objects they contain from
> the new local pack.
You might be interested in girocco's fork support. See
http://repo.or.cz/w/girocco.git/blob/HEAD:/jobd/gc.sh for starters.
(Yes, the short answer is "-l" but showing where I got that answer
from seems a little easier. :))
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Splitting a repository but sharing the common parts of the object database
2010-12-13 19:20 ` Jonathan Nieder
@ 2010-12-13 19:50 ` Stephen Bash
2010-12-13 23:17 ` Phillip Susi
1 sibling, 0 replies; 5+ messages in thread
From: Stephen Bash @ 2010-12-13 19:50 UTC (permalink / raw)
To: Jonathan Nieder; +Cc: git, Phillip Susi
----- Original Message -----
> From: "Jonathan Nieder" <jrnieder@gmail.com>
> To: "Phillip Susi" <psusi@cfl.rr.com>
> Cc: git@vger.kernel.org
> Sent: Monday, December 13, 2010 2:20:53 PM
> Subject: Re: Splitting a repository but sharing the common parts of the object database
> Hi Phillip,
>
> Phillip Susi wrote:
>
> > If I run a repack -a, then the new project has everything copied out
> > of the archive and into its new main pack, rather than continuing to
> > use the archive repository for old history, and just pack everything
> > since then. I guess I am looking for is somewhere between a full repack
> > and an incremental; a way to make repack -a discard existing local
> > packs, but to respect the alternate packs and omit objects they contain
> > from the new local pack.
>
> You might be interested in girocco's fork support. See
> http://repo.or.cz/w/girocco.git/blob/HEAD:/jobd/gc.sh for starters.
You might also be interested in Pro Git's entry on git-replace:
http://progit.org/2010/03/17/replace.html
It's a completely different approach than what you're suggesting, but might open up new and interesting avenues.
Stephen
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Splitting a repository but sharing the common parts of the object database
2010-12-13 19:20 ` Jonathan Nieder
2010-12-13 19:50 ` Stephen Bash
@ 2010-12-13 23:17 ` Phillip Susi
2010-12-13 23:25 ` Jonathan Nieder
1 sibling, 1 reply; 5+ messages in thread
From: Phillip Susi @ 2010-12-13 23:17 UTC (permalink / raw)
To: Jonathan Nieder; +Cc: git
On 12/13/2010 02:20 PM, Jonathan Nieder wrote:
> You might be interested in girocco's fork support. See
> http://repo.or.cz/w/girocco.git/blob/HEAD:/jobd/gc.sh for starters.
>
> (Yes, the short answer is "-l" but showing where I got that answer
> from seems a little easier. :))
Yes, -l looks like exactly what I need. Now I don't suppose there is a
way to make it sticky so I don't have to remember to use it when
repacking every time? :)
I checked the man page for git-config and it doesn't show an option that
sounds like it.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Splitting a repository but sharing the common parts of the object database
2010-12-13 23:17 ` Phillip Susi
@ 2010-12-13 23:25 ` Jonathan Nieder
0 siblings, 0 replies; 5+ messages in thread
From: Jonathan Nieder @ 2010-12-13 23:25 UTC (permalink / raw)
To: Phillip Susi; +Cc: git, Stephen Bash
Phillip Susi wrote:
> Yes, -l looks like exactly what I need. Now I don't suppose there
> is a way to make it sticky so I don't have to remember to use it
> when repacking every time? :)
Maybe
[alias "repackfork"]
repack -a -d -f -l ...whatever other options are wanted...
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2010-12-13 23:25 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-13 18:39 Splitting a repository but sharing the common parts of the object database Phillip Susi
2010-12-13 19:20 ` Jonathan Nieder
2010-12-13 19:50 ` Stephen Bash
2010-12-13 23:17 ` Phillip Susi
2010-12-13 23:25 ` Jonathan Nieder
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).