threads / patch / 11706

patchgit-clone -s: document problems with git gc --prune

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

## tl;dr

3 messages between Jan 22, 2008 and Jan 22, 2008. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Miklos Vajna· Jan 22, 2008, 21:03 UTC · lore

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(-)
Show changes to Documentation/git-clone.txt +6 −0
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· Jan 22, 2008, 21:10 UTC · re: Miklos Vajna · lore

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

Miklos Vajna wrote:
Show 26 quoted lines
> 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· Jan 22, 2008, 22:12 UTC · re: Brandon Casey · lore

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:
Show 6 quoted lines
> 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(-)
Show changes to Documentation/git-clone.txt +8 −0
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

← back to recent threads