git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* git repack and dumb protocols
@ 2009-06-03 23:50 Andreas Klöckner
  2009-06-04 10:58 ` [PATCH] git-pack.txt: Clarify implications of -a for " Michael J Gruber
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Andreas Klöckner @ 2009-06-03 23:50 UTC (permalink / raw)
  To: git

[-- Attachment #1: Type: text/plain, Size: 1332 bytes --]

Hi there,

I've posted a git repository to the web that is an rsync copy of my 
development archive's .git directory, with update-server-info run on it. Now 
if I understand correctly, this contains a single file for every 
commit/file/whatever else I ever made, which is a paint over HTTP. I have then 
recently learned about the wonder that is git repack, which I would love to 
use on this repository, were it not for this comment in its manpage:

8< ----------------------------------------------------------------------
Especially useful when packing a repository that is used for private 
development and there is no need to worry about people fetching via dumb 
protocols from it. 8< 
----------------------------------------------------------------------

It says this relating to the '-a' option, but it makes me wonder if I'll break 
copies of the repo that other people have pulled if I use 'repack'? What are 
the possible interactions and things to keep in mind between repack and dumb 
protocols?

In any case, I would like to suggest that the rather ominous-sounding text in 
the manpage be replaced with something more concrete, i.e. "If you repack an 
archive that has people fetching via dumb protocols from it, X, Y, and Z will 
happen."

Thanks,
Andreas

(please cc--not subscribed)

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH] git-pack.txt: Clarify implications of -a for dumb protocols
  2009-06-03 23:50 git repack and dumb protocols Andreas Klöckner
@ 2009-06-04 10:58 ` Michael J Gruber
  2009-06-04 11:34 ` [PATCHv1+eps] git-repack.txt: " Michael J Gruber
  2009-06-04 12:47 ` git repack and " Peter Harris
  2 siblings, 0 replies; 9+ messages in thread
From: Michael J Gruber @ 2009-06-04 10:58 UTC (permalink / raw)
  To: git; +Cc: lists, Junio C Hamano

The current text make some users feel uneasy, worrying whether
'-a' could lead to corrupt repositories. Clarify that '-a'
may lead to performance issues only for dumb protocols.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
---
Is that clear enough but concise?

Applies to maint.

 Documentation/git-repack.txt |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt
index aaa8852..8af5505 100644
--- a/Documentation/git-repack.txt
+++ b/Documentation/git-repack.txt
@@ -32,7 +32,10 @@ OPTIONS
 	pack everything referenced into a single pack.
 	Especially useful when packing a repository that is used
 	for private development and there is no need to worry
-	about people fetching via dumb protocols from it.  Use
+	about people fetching via dumb protocols from it. 
+	(Over dumb protocols, one would have to fetch the whole new
+	pack in order to get any contained object, no matter how
+	many other objects in that pack exist locally already.) Use
 	with '-d'.  This will clean up the objects that `git prune`
 	leaves behind, but `git fsck --full` shows as
 	dangling.
-- 
1.6.3.1.268.g94d6d1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCHv1+eps] git-repack.txt: Clarify implications of -a for dumb protocols
  2009-06-03 23:50 git repack and dumb protocols Andreas Klöckner
  2009-06-04 10:58 ` [PATCH] git-pack.txt: Clarify implications of -a for " Michael J Gruber
@ 2009-06-04 11:34 ` Michael J Gruber
  2009-06-04 13:34   ` Andreas Klöckner
  2009-06-04 19:46   ` Stephen Boyd
  2009-06-04 12:47 ` git repack and " Peter Harris
  2 siblings, 2 replies; 9+ messages in thread
From: Michael J Gruber @ 2009-06-04 11:34 UTC (permalink / raw)
  To: git; +Cc: lists, Junio C Hamano

The current text makes some users feel uneasy, worrying whether
'-a' could lead to corrupt repositories. Clarify that '-a'
may lead to performance issues only for dumb protocols.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
---
Is that clear enough but concise?

Applies to maint.

[Sorry for the resend, I managed to mistype the subject.]

 Documentation/git-repack.txt |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt
index aaa8852..8af5505 100644
--- a/Documentation/git-repack.txt
+++ b/Documentation/git-repack.txt
@@ -32,7 +32,10 @@ OPTIONS
 	pack everything referenced into a single pack.
 	Especially useful when packing a repository that is used
 	for private development and there is no need to worry
-	about people fetching via dumb protocols from it.  Use
+	about people fetching via dumb protocols from it. 
+	(Over dumb protocols, one would have to fetch the whole new
+	pack in order to get any contained object, no matter how
+	many other objects in that pack exist locally already.) Use
 	with '-d'.  This will clean up the objects that `git prune`
 	leaves behind, but `git fsck --full` shows as
 	dangling.
-- 
1.6.3.1.268.g94d6d1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: git repack and dumb protocols
  2009-06-03 23:50 git repack and dumb protocols Andreas Klöckner
  2009-06-04 10:58 ` [PATCH] git-pack.txt: Clarify implications of -a for " Michael J Gruber
  2009-06-04 11:34 ` [PATCHv1+eps] git-repack.txt: " Michael J Gruber
@ 2009-06-04 12:47 ` Peter Harris
  2 siblings, 0 replies; 9+ messages in thread
From: Peter Harris @ 2009-06-04 12:47 UTC (permalink / raw)
  To: Andreas Klöckner; +Cc: git

On Wed, Jun 3, 2009 at 7:50 PM, Andreas Klöckner wrote:
>
> 8< ----------------------------------------------------------------------
> Especially useful when packing a repository that is used for private
> development and there is no need to worry about people fetching via dumb
> protocols from it. 8<
> ----------------------------------------------------------------------
>
> It says this relating to the '-a' option, but it makes me wonder if I'll break
> copies of the repo that other people have pulled if I use 'repack'? What are
> the possible interactions and things to keep in mind between repack and dumb
> protocols?

It won't break any copies, but it may cause excessive network use.

Dumb protocols can only fetch or not-fetch the entire pack. So if
someone hasn't fetched since the last push, the next time they do a
"git pull", they will retrieve the entire repository. Even if they
only need a single small commit.

As you can imagine, people using dumb protocols over slow connections
may become somewhat annoyed with the admin that often does a repack
-a.

You do want to repack (usually without -a -- but see also ".keep")
periodically, though. Working out a schedule depends on the activity
level of the repository, and is left as an exercise for the reader.

> In any case, I would like to suggest that the rather ominous-sounding text in
> the manpage be replaced with something more concrete, i.e. "If you repack an
> archive that has people fetching via dumb protocols from it, X, Y, and Z will
> happen."

Patches welcome.

Peter Harris

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCHv1+eps] git-repack.txt: Clarify implications of -a for dumb protocols
  2009-06-04 11:34 ` [PATCHv1+eps] git-repack.txt: " Michael J Gruber
@ 2009-06-04 13:34   ` Andreas Klöckner
  2009-06-04 19:46   ` Stephen Boyd
  1 sibling, 0 replies; 9+ messages in thread
From: Andreas Klöckner @ 2009-06-04 13:34 UTC (permalink / raw)
  To: Michael J Gruber; +Cc: git

[-- Attachment #1: Type: text/plain, Size: 1377 bytes --]

Thanks, that's much better!

Andreas

On Donnerstag 04 Juni 2009, Michael J Gruber wrote:
> The current text makes some users feel uneasy, worrying whether
> '-a' could lead to corrupt repositories. Clarify that '-a'
> may lead to performance issues only for dumb protocols.
>
> Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
> ---
> Is that clear enough but concise?
>
> Applies to maint.
>
> [Sorry for the resend, I managed to mistype the subject.]
>
>  Documentation/git-repack.txt |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt
> index aaa8852..8af5505 100644
> --- a/Documentation/git-repack.txt
> +++ b/Documentation/git-repack.txt
> @@ -32,7 +32,10 @@ OPTIONS
>  	pack everything referenced into a single pack.
>  	Especially useful when packing a repository that is used
>  	for private development and there is no need to worry
> -	about people fetching via dumb protocols from it.  Use
> +	about people fetching via dumb protocols from it.
> +	(Over dumb protocols, one would have to fetch the whole new
> +	pack in order to get any contained object, no matter how
> +	many other objects in that pack exist locally already.) Use
>  	with '-d'.  This will clean up the objects that `git prune`
>  	leaves behind, but `git fsck --full` shows as
>  	dangling.



[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCHv1+eps] git-repack.txt: Clarify implications of -a for dumb  protocols
  2009-06-04 11:34 ` [PATCHv1+eps] git-repack.txt: " Michael J Gruber
  2009-06-04 13:34   ` Andreas Klöckner
@ 2009-06-04 19:46   ` Stephen Boyd
  2009-06-05  8:16     ` Michael J Gruber
  1 sibling, 1 reply; 9+ messages in thread
From: Stephen Boyd @ 2009-06-04 19:46 UTC (permalink / raw)
  To: Michael J Gruber; +Cc: git, lists, Junio C Hamano

On Thu, Jun 4, 2009 at 4:34 AM, Michael J
Gruber<git@drmicha.warpmail.net> wrote:
>        pack everything referenced into a single pack.
>        Especially useful when packing a repository that is used
>        for private development and there is no need to worry
> -       about people fetching via dumb protocols from it.  Use
> +       about people fetching via dumb protocols from it.
> +       (Over dumb protocols, one would have to fetch the whole new
> +       pack in order to get any contained object, no matter how
> +       many other objects in that pack exist locally already.) Use
>        with '-d'.  This will clean up the objects that `git prune`
>        leaves behind, but `git fsck --full` shows as
>        dangling.

Instead of adding this, why don't we just remove the part about dumb
protocols? So just say that it's especially useful for private
development. Then, if we really want to keep this performance note
just add it after the paragraph in one of those "+" things (What are
those called?)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCHv1+eps] git-repack.txt: Clarify implications of -a for dumb  protocols
  2009-06-04 19:46   ` Stephen Boyd
@ 2009-06-05  8:16     ` Michael J Gruber
  2009-06-05 19:14       ` Stephen Boyd
  0 siblings, 1 reply; 9+ messages in thread
From: Michael J Gruber @ 2009-06-05  8:16 UTC (permalink / raw)
  To: Stephen Boyd; +Cc: git, lists, Junio C Hamano

Stephen Boyd venit, vidit, dixit 04.06.2009 21:46:
> On Thu, Jun 4, 2009 at 4:34 AM, Michael J
> Gruber<git@drmicha.warpmail.net> wrote:
>>        pack everything referenced into a single pack.
>>        Especially useful when packing a repository that is used
>>        for private development and there is no need to worry
>> -       about people fetching via dumb protocols from it.  Use
>> +       about people fetching via dumb protocols from it.
>> +       (Over dumb protocols, one would have to fetch the whole new
>> +       pack in order to get any contained object, no matter how
>> +       many other objects in that pack exist locally already.) Use
>>        with '-d'.  This will clean up the objects that `git prune`
>>        leaves behind, but `git fsck --full` shows as
>>        dangling.
> 
> Instead of adding this, why don't we just remove the part about dumb
> protocols? So just say that it's especially useful for private
> development. Then, if we really want to keep this performance note
> just add it after the paragraph in one of those "+" things (What are
> those called?)

...because "repack -a" hurts *badly* on even midsized repos when dumb
protocols are used. On the other hand, using it isn't that much of an
improvement in terms of pack size, unless you repack manually very often
and, thus, produce many small packs. So, "gc --auto" users should be
fine in any case (dumb or not - the protocol, that is...) as long as
they don't use "-a".

Michael

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCHv1+eps] git-repack.txt: Clarify implications of -a for dumb  protocols
  2009-06-05  8:16     ` Michael J Gruber
@ 2009-06-05 19:14       ` Stephen Boyd
  2009-06-09 16:15         ` [PATCH] " Michael J Gruber
  0 siblings, 1 reply; 9+ messages in thread
From: Stephen Boyd @ 2009-06-05 19:14 UTC (permalink / raw)
  To: Michael J Gruber; +Cc: git, lists, Junio C Hamano

On Fri, Jun 5, 2009 at 1:16 AM, Michael J
Gruber<git@drmicha.warpmail.net> wrote:
> Stephen Boyd venit, vidit, dixit 04.06.2009 21:46:
>> Instead of adding this, why don't we just remove the part about dumb
>> protocols? So just say that it's especially useful for private
>> development. Then, if we really want to keep this performance note
>> just add it after the paragraph in one of those "+" things (What are
>> those called?)
>
> ...because "repack -a" hurts *badly* on even midsized repos when dumb
> protocols are used. On the other hand, using it isn't that much of an
> improvement in terms of pack size, unless you repack manually very often
> and, thus, produce many small packs. So, "gc --auto" users should be
> fine in any case (dumb or not - the protocol, that is...) as long as
> they don't use "-a".

Maybe I spoke wrongly. I'm suggesting something like

       Especially useful when packing a repository that is used
       for private development.  Use with '-d'.  This will clean up
       the objects that `git prune` leaves behind, but
       `git fsck --full` shows as dangling.
+
Note: Users fetching over dumb protocols will have to fetch the
whole pack in order to get any contained object, no matter how
many other objects in that pack they already have locally.

I think this Note part probably needs some work though.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH] git-repack.txt: Clarify implications of -a for dumb protocols
  2009-06-05 19:14       ` Stephen Boyd
@ 2009-06-09 16:15         ` Michael J Gruber
  0 siblings, 0 replies; 9+ messages in thread
From: Michael J Gruber @ 2009-06-09 16:15 UTC (permalink / raw)
  To: git; +Cc: Stephen Boyd, Junio C Hamano

The current text makes some users feel uneasy, worrying whether
'-a' could lead to corrupt repositories. Clarify that '-a'
may lead to performance issues only for dumb protocols.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
---
Helped-by: Stephen Boyd <bebarino@gmail.com>

 Documentation/git-repack.txt |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt
index aaa8852..c9257a1 100644
--- a/Documentation/git-repack.txt
+++ b/Documentation/git-repack.txt
@@ -31,11 +31,14 @@ OPTIONS
 	Instead of incrementally packing the unpacked objects,
 	pack everything referenced into a single pack.
 	Especially useful when packing a repository that is used
-	for private development and there is no need to worry
-	about people fetching via dumb protocols from it.  Use
+	for private development. Use
 	with '-d'.  This will clean up the objects that `git prune`
 	leaves behind, but `git fsck --full` shows as
 	dangling.
++
+Note that users fetching over dumb protocols will have to fetch the
+whole new pack in order to get any contained object, no matter how many
+other objects in that pack they already have locally.
 
 -A::
 	Same as `-a`, unless '-d' is used.  Then any unreachable
-- 
1.6.3.2.278.gb6431.dirty

^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-06-09 16:16 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-06-03 23:50 git repack and dumb protocols Andreas Klöckner
2009-06-04 10:58 ` [PATCH] git-pack.txt: Clarify implications of -a for " Michael J Gruber
2009-06-04 11:34 ` [PATCHv1+eps] git-repack.txt: " Michael J Gruber
2009-06-04 13:34   ` Andreas Klöckner
2009-06-04 19:46   ` Stephen Boyd
2009-06-05  8:16     ` Michael J Gruber
2009-06-05 19:14       ` Stephen Boyd
2009-06-09 16:15         ` [PATCH] " Michael J Gruber
2009-06-04 12:47 ` git repack and " Peter Harris

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).