git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Brandon Casey <casey@nrlssc.navy.mil>
To: Dmitry Potapov <dpotapov@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
Subject: Re: [ANNOUNCE] GIT 1.5.5.1
Date: Mon, 21 Apr 2008 19:23:10 -0500	[thread overview]
Message-ID: <480D2FEE.3010904@nrlssc.navy.mil> (raw)
In-Reply-To: <20080421235610.GB2631@dpotapov.dyndns.org>

Dmitry Potapov wrote:

> Johannes' patch removed this option, which IMHO was a significant user
> interface improvement.

Unless I missed something, this option has not been removed. The original
purpose for its existence (which was to cause git-gc to call git-prune)
has been removed. The call to git-prune within git-gc will remove _loose_
unreferenced objects, but _packed_ unreferenced objects are removed by
repack. The --prune option to git-gc is still used to adjust the call to
git-repack so that packed unreferenced objects are discarded.

> diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
> index 9758243..c1bf814 100644
> --- a/Documentation/git-clone.txt
> +++ b/Documentation/git-clone.txt
> @@ -65,10 +65,12 @@ OPTIONS
>  +
>  *NOTE*: this is a possibly dangerous operation; do *not* use
>  it unless you understand what it does. If you clone your
> -repository using this option, then delete branches in the
> -source repository and then run linkgit:git-gc[1] using the
> -'--prune' option in the source repository, it may remove
> -objects which are referenced by the cloned repository.
> +repository using this option and then delete a branch or use
> +any other git command that makes any previous existing commit
> +unreachable, then after some time linkgit:git-gc[1] may remove
> +unreachable objects, and this will break the cloned repository.
> +Because some git commands may run git-gc, it may happen at any
> +time after gc.pruneExpire time since commits became unreachable.

I agree that something should be said here about shared repositories,
but I think this wording is a little complicated (disclosure: I also
submitted some text for this a few weeks ago :). Of course something
is better than nothing.

Here's the blurb I submitted if you're interested:
+repository using this option and then delete branches in the
+source repository, some objects may become unreferenced (or dangling).
+These objects may be removed by normal git operations (such as git-commit[1])
+which automatically call git-gc[1]. If these objects are removed and
+were referenced by the cloned repository, then the cloned repository
+will become corrupt.

-brandon

  reply	other threads:[~2008-04-22  0:24 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-21 22:48 [ANNOUNCE] GIT 1.5.5.1 Junio C Hamano
2008-04-21 23:56 ` Dmitry Potapov
2008-04-22  0:23   ` Brandon Casey [this message]
2008-04-22  0:55     ` Dmitry Potapov
2008-04-22 17:37       ` Brandon Casey
2008-04-22 20:22         ` Dmitry Potapov
2008-04-22  7:03 ` Johannes Sixt

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=480D2FEE.3010904@nrlssc.navy.mil \
    --to=casey@nrlssc.navy.mil \
    --cc=dpotapov@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /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).