git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Tay Ray Chuan <rctay89@gmail.com>
Cc: Steve Folly <steve@spfweb.co.uk>, git@vger.kernel.org
Subject: Re: Retrospectively add alternates to a repository?
Date: Sat, 27 Feb 2010 03:34:18 -0500	[thread overview]
Message-ID: <20100227083418.GC27191@coredump.intra.peff.net> (raw)
In-Reply-To: <be6fef0d1002261837g794e8df2yc92261d46f3235bd@mail.gmail.com>

On Sat, Feb 27, 2010 at 10:37:25AM +0800, Tay Ray Chuan wrote:

> yes, just make sure the objects/info/alternates file points to the
> location of that cloned repo's object directory; for example:
> 
>   $ echo /path/to/cloned/repo/.git/objects > .git/objects/info/alternates

You will probably want to then get rid of anything in the child that is
now available in the alternates repository.

I would have thought "git repack -adl" works, but I think there is
something a little funny in the logic. It reports "nothing new to pack",
but does not delete the loose objects. But packing first then worked:

  $ git clone large-parent child
  $ echo $PWD/large-parent/.git/objects >child/.git/objects/info/alternates
  $ cd child

  $ du -sh .git/objects
  51M     .git/objects

  $ git repack -adl && du -sh .git/objects
  Nothing new to pack.
  51M     .git/objects

  $ git repack -ad && du -sh .git/objects
  Counting objects: 3, done.
  Delta compression using up to 2 threads.
  Compressing objects: 100% (2/2), done.
  Writing objects: 100% (3/3), done.
  Total 3 (delta 0), reused 0 (delta 0)
  51M     .git/objects

  $ git repack -adl && du -sh .git/objects
  Nothing new to pack.
  20K     .git/objects

-Peff

  reply	other threads:[~2010-02-27  8:34 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-26 23:54 Retrospectively add alternates to a repository? Steve Folly
2010-02-27  2:37 ` Tay Ray Chuan
2010-02-27  8:34   ` Jeff King [this message]
2010-02-27 11:43     ` Steve Folly
2010-02-27 12:30       ` Jeff King
2010-05-16 13:55         ` Felipe Contreras
2010-05-22  5:38           ` Jeff King

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=20100227083418.GC27191@coredump.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=rctay89@gmail.com \
    --cc=steve@spfweb.co.uk \
    /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).