git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: A Large Angry SCM <gitzilla@gmail.com>
To: Luke Kenneth Casson Leighton <luke.leighton@gmail.com>
Cc: Nguyen Thai Ngoc Duy <pclouds@gmail.com>, git <git@vger.kernel.org>
Subject: Re: git pack/unpack over bittorrent - works!
Date: Thu, 02 Sep 2010 12:58:14 -0400	[thread overview]
Message-ID: <4C7FD7A6.9090402@gmail.com> (raw)
In-Reply-To: <AANLkTikBnKQJmgOms2wK1+6fCLtHWiWkhuCVMN7kKLXP@mail.gmail.com>

On 09/02/2010 11:42 AM, Luke Kenneth Casson Leighton wrote:
> On Thu, Sep 2, 2010 at 4:33 PM, A Large Angry SCM<gitzilla@gmail.com>  wrote:
>> On 09/02/2010 09:37 AM, Luke Kenneth Casson Leighton wrote:
>>>
>>> On Wed, Sep 1, 2010 at 11:04 PM, Nguyen Thai Ngoc Duy<pclouds@gmail.com>
>>>   wrote:
>>
>> [...]
>>>>
>>>> There were discussions whether a pack is stable enough to
>>>> be shared like this,
>>>
>>>   it seems to be.  as long as each version of git produces the exact
>>> same pack object, off of the command "git pack-objects --all --stdout
>>> --thin {ref}<    {objref}"
>>
>> This is not guaranteed.
>
>   ok.  greeeat.
>
>   so, some sensible questions:
>
>   * what _can_ be guaranteed?
>
>   * diffs?

Given a pre-image and a post-image, the diff/delta created will recreate 
the post-image from the pre-image. The bit level representation of the 
diff/delta is not guaranteed.

>   * git-format-patches? (which i am aware can do binary files and also
> rms)?

See above.

> * individual files in the .git/objects directory?

Uncompressed: yes. Compressed: no.

>   and, asking perhaps some silly questions:
>
> * why is it not guaranteed?

The pack format was created to move objects from one repository to 
another. To do that efficiently, it uses many heuristics to decide how 
much information is _sufficient_ to do the job but but leaves it to the 
implementation and user to decide the various trade offs. For instance, 
there is no canonical the order of the object information in a pack or 
that the pack must be minimal. This also allows for the multi-threaded 
pack implementation.

> * under what circumstances is it not guaranteed?  and, crucially, is
> it necessary to care?   i.e. if someone does a shallow git clone, i
> couldn't give a stuff.

Pretty much all of the time.

> * is it possible to _make_ the repository guaranteed to produce
> identical pack objects?

Identical code on identical systems with identical repositories without 
multi-threading _might_ work.

> * does for example "git gc" change the object store in such a way such
> that one git repo will produce a different pack-object from the same
> ref?  if so, can running "git gc" prior to producing the pack-objects
> gurantee that the pack-objects will be the same?

See above.

> * is it a versioning issue?  is it because there are different
> versions (2 and 3)?  if so, that's ok, you just force people to use
> the same pack-object versions.

No.

> etc. etc.
>
> l.
>

  parent reply	other threads:[~2010-09-02 16:58 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-01 14:36 git pack/unpack over bittorrent - works! Luke Kenneth Casson Leighton
2010-09-01 22:04 ` Nguyen Thai Ngoc Duy
2010-09-02 13:37   ` Luke Kenneth Casson Leighton
2010-09-02 13:53     ` Luke Kenneth Casson Leighton
2010-09-02 14:08     ` Ævar Arnfjörð Bjarmason
2010-09-02 15:33     ` A Large Angry SCM
2010-09-02 15:42       ` Luke Kenneth Casson Leighton
2010-09-02 15:51         ` Luke Kenneth Casson Leighton
2010-09-02 17:06           ` A Large Angry SCM
2010-09-02 15:58         ` Jeff King
2010-09-02 16:41           ` Nicolas Pitre
2010-09-02 17:09             ` A Large Angry SCM
2010-09-02 17:31               ` Nicolas Pitre
2010-09-02 19:17                 ` Luke Kenneth Casson Leighton
2010-09-02 19:29                   ` Shawn O. Pearce
2010-09-02 19:51                     ` Luke Kenneth Casson Leighton
2010-09-02 20:06                     ` Luke Kenneth Casson Leighton
2010-09-03  0:36                       ` Nicolas Pitre
2010-09-03 10:34                         ` Luke Kenneth Casson Leighton
2010-09-03 17:03                         ` Junio C Hamano
2010-09-02 20:28                     ` Brandon Casey
2010-09-02 20:48                       ` Luke Kenneth Casson Leighton
2010-09-02 20:45                     ` Jakub Narebski
2010-09-02 21:10                       ` Luke Kenneth Casson Leighton
2010-09-02 21:19                         ` Luke Kenneth Casson Leighton
2010-09-03  0:29                         ` Nicolas Pitre
2010-09-03  2:48                           ` Nguyen Thai Ngoc Duy
2010-09-03 10:55                             ` Luke Kenneth Casson Leighton
2010-09-03 10:23                           ` Luke Kenneth Casson Leighton
2010-09-03 10:54                           ` Luke Kenneth Casson Leighton
2010-09-02 18:07           ` Luke Kenneth Casson Leighton
2010-09-02 18:23             ` Casey Dahlin
2010-09-02 16:58         ` A Large Angry SCM [this message]
2010-09-02 17:21         ` Nicolas Pitre
2010-09-02 19:41           ` Luke Kenneth Casson Leighton
2010-09-02 19:52             ` A Large Angry SCM
2010-09-02 23:09             ` Nicolas Pitre
2010-09-03 10:37               ` Theodore Tso
2010-09-03 11:04                 ` Luke Kenneth Casson Leighton
2010-09-03 17:12                 ` Junio C Hamano
2010-09-03 18:31                   ` Ted Ts'o
2010-09-03 19:41                     ` Nicolas Pitre
2010-09-03 21:11                       ` Luke Kenneth Casson Leighton
2010-09-04  0:24                         ` Nguyen Thai Ngoc Duy
2010-09-04  0:57                           ` Nguyen Thai Ngoc Duy
2010-09-04  1:52                           ` Artur Skawina
2010-09-04  4:39                             ` Nicolas Pitre
2010-09-04  5:42                               ` Artur Skawina
2010-09-04  6:13                                 ` Nicolas Pitre
2010-09-04 11:58                                   ` Luke Kenneth Casson Leighton
2010-09-04 13:14                                     ` Luke Kenneth Casson Leighton
2010-09-05  2:16                                       ` Nicolas Pitre
2010-09-05 18:05                                         ` Luke Kenneth Casson Leighton
2010-09-05 23:52                                           ` Nicolas Pitre
2010-09-06 13:23                                             ` Luke Kenneth Casson Leighton
2010-09-06 16:51                                               ` Nicolas Pitre
2010-09-06 22:33                                                 ` Luke Kenneth Casson Leighton
2010-09-06 23:34                                                 ` Junio C Hamano
2010-09-06 23:57                                                   ` Nicolas Pitre
2010-09-07  0:17                                                     ` Luke Kenneth Casson Leighton
2010-09-07  0:29                                                     ` Luke Kenneth Casson Leighton
2010-09-04 13:42                                   ` Artur Skawina
     [not found]                                     ` <20100904155638.GA17606@pcpool00.mathematik.uni-freiburg.de>
2010-09-04 17:23                                       ` Artur Skawina
2010-09-04 18:46                                       ` Artur Skawina
2010-09-04  1:57                       ` Theodore Tso
2010-09-04  5:23                         ` Kyle Moffett
2010-09-04 11:46                           ` Theodore Tso
2010-09-04 14:06                           ` Luke Kenneth Casson Leighton
2010-09-05  1:32                             ` Nicolas Pitre
2010-09-05 17:16                               ` Luke Kenneth Casson Leighton
2010-09-04  5:40                         ` Nicolas Pitre
2010-09-04 12:00                           ` Theodore Tso
2010-09-04 12:44                             ` Luke Kenneth Casson Leighton
2010-09-04 14:50                             ` Luke Kenneth Casson Leighton
2010-09-04 18:14                               ` Ted Ts'o
2010-09-04 20:00                                 ` Luke Kenneth Casson Leighton
2010-09-04 22:41                                   ` Ted Ts'o
2010-09-05 17:22                                     ` Luke Kenneth Casson Leighton
2010-09-04 20:20                                 ` Jakub Narebski
2010-09-04 20:47                                   ` Luke Kenneth Casson Leighton
2010-09-04 21:16                                     ` Jakub Narebski
2010-09-04 21:24                                       ` Luke Kenneth Casson Leighton
2010-09-04 22:47                                     ` Ted Ts'o
2010-09-05  1:43                                       ` Tomas Carnecky
2010-09-05  1:18                             ` Nicolas Pitre
2010-09-05 17:25                               ` Luke Kenneth Casson Leighton
2010-09-06  0:05                                 ` Nicolas Pitre
2010-09-04 12:33                           ` Luke Kenneth Casson Leighton

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=4C7FD7A6.9090402@gmail.com \
    --to=gitzilla@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=luke.leighton@gmail.com \
    --cc=pclouds@gmail.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).