git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [ANNOUNCE] GIT 1.5.5.1

From
Brandon Casey <casey@nrlssc.navy.mil>
Date
Apr 22, 2008, 00:23 UTC
Message-ID
<480D2FEE.3010904@nrlssc.navy.mil>
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.

Show 18 quoted lines
> 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
Previous: Dmitry PotapovNext: Dmitry Potapov
Message 3 of 7 in “[ANNOUNCE] GIT 1.5.5.1”
  1. Junio C HamanoApr 21, 2008
  2. Dmitry PotapovApr 21, 2008
  3. Brandon CaseyApr 22, 2008
  4. Dmitry PotapovApr 22, 2008
  5. Brandon CaseyApr 22, 2008
  6. Dmitry PotapovApr 22, 2008
  7. Johannes SixtApr 22, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.