# [PATCH] git-clone -s: document problems with git gc --prune

3 messages from 2008-01-22 to 2008-01-22. Participants: Miklos Vajna, Brandon Casey.
Thread: https://gitlist.dev/t/11706

## Miklos Vajna, 2008-01-22 21:03

Subject: [PATCH] git-clone -s: document problems with git gc --prune
Message-ID: <20080122210305.GM4475@genesis.frugalware.org>
URL: https://gitlist.dev/e/20080122210305.GM4475%40genesis.frugalware.org

```
There is a scenario when using git clone -s and git gc --prune togother is
dangerous. Document this.

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
---

I see people on #git regularly who do not know about this option can cause
problems, so I think it's important to document this.

 Documentation/git-clone.txt |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
index fdccbd4..5c4d936 100644
--- a/Documentation/git-clone.txt
+++ b/Documentation/git-clone.txt
@@ -62,6 +62,12 @@ OPTIONS
 	.git/objects/info/alternates to share the objects
 	with the source repository.  The resulting repository
 	starts out without any object of its own.
+	*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, you delete branches in the
+	source repository and you run linkgit:git-gc[1] using the
+	`--prune` option, then it will remove objects which are
+	referenced ones in the target repository!
 
 --reference <repository>::
 	If the reference repository is on the local machine
-- 
1.5.4.rc3.4.g16335-dirty

```

## Brandon Casey, 2008-01-22 21:10

Subject: Re: [PATCH] git-clone -s: document problems with git gc --prune
Message-ID: <47965BB2.8080703@nrlssc.navy.mil>
URL: https://gitlist.dev/e/47965BB2.8080703%40nrlssc.navy.mil
In-Reply-To: <20080122210305.GM4475@genesis.frugalware.org>

```
Miklos Vajna wrote:
> There is a scenario when using git clone -s and git gc --prune togother is
> dangerous. Document this.
> 
> Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
> ---
> 
> I see people on #git regularly who do not know about this option can cause
> problems, so I think it's important to document this.
> 
>  Documentation/git-clone.txt |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
> index fdccbd4..5c4d936 100644
> --- a/Documentation/git-clone.txt
> +++ b/Documentation/git-clone.txt
> @@ -62,6 +62,12 @@ OPTIONS
>  	.git/objects/info/alternates to share the objects
>  	with the source repository.  The resulting repository
>  	starts out without any object of its own.
> +	*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, you delete branches in the
> +	source repository and you run linkgit:git-gc[1] using the
> +	`--prune` option, then it will remove objects which are
> +	referenced ones in the target repository!

I find that second sentence hard to understand. Maybe:

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.

-brandon

```

## Miklos Vajna, 2008-01-22 22:12

Subject: [PATCH] git-clone -s: document problems with git gc --prune
Message-ID: <20080122221225.GN4475@genesis.frugalware.org>
URL: https://gitlist.dev/e/20080122221225.GN4475%40genesis.frugalware.org
In-Reply-To: <47965BB2.8080703@nrlssc.navy.mil>

```
There is a scenario when using git clone -s and git gc --prune togother is
dangerous. Document this.

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
---

On Tue, Jan 22, 2008 at 03:10:10PM -0600, Brandon Casey <casey@nrlssc.navy.mil> wrote:
> I find that second sentence hard to understand. Maybe:
>
> 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.

Here is the re-worded version.

 Documentation/git-clone.txt |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
index fdccbd4..2341881 100644
--- a/Documentation/git-clone.txt
+++ b/Documentation/git-clone.txt
@@ -62,6 +62,14 @@ OPTIONS
 	.git/objects/info/alternates to share the objects
 	with the source repository.  The resulting repository
 	starts out without any object of its own.
+	*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.
+
+
 
 --reference <repository>::
 	If the reference repository is on the local machine
-- 
1.5.4.rc3.4.g16335-dirty

```
