1. 29 8月, 2014 1 次提交
  2. 01 4月, 2014 1 次提交
  3. 11 2月, 2014 1 次提交
  4. 11 12月, 2013 2 次提交
    • N
    • N
      make the sender advertise shallow commits to the receiver · ad491366
      Nguyễn Thái Ngọc Duy 提交于
      If either receive-pack or upload-pack is called on a shallow
      repository, shallow commits (*) will be sent after the ref
      advertisement (but before the packet flush), so that the receiver has
      the full "shape" of the sender's commit graph. This will be needed for
      the receiver to update its .git/shallow if necessary.
      
      This breaks the protocol for all clients trying to push to a shallow
      repo, or fetch from one. Which is basically the same end result as
      today's "is_repository_shallow() && die()" in receive-pack and
      upload-pack. New clients will be made aware of shallow upstream and
      can make use of this information.
      
      The sender must send all shallow commits that are sent in the
      following pack. It may send more shallow commits than necessary.
      
      upload-pack for example may choose to advertise no shallow commits if
      it knows in advance that the pack it's going to send contains no
      shallow commits. But upload-pack is the server, so we choose the
      cheaper way, send full .git/shallow and let the client deal with it.
      
      Smart HTTP is not affected by this patch. Shallow support on
      smart-http comes later separately.
      
      (*) A shallow commit is a commit that terminates the revision
          walker. It is usually put in .git/shallow in order to keep the
          revision walker from going out of bound because there is no
          guarantee that objects behind this commit is available.
      Signed-off-by: NNguyễn Thái Ngọc Duy <pclouds@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      ad491366
  5. 29 4月, 2013 1 次提交
    • M
      upload-pack: ignore 'shallow' lines with unknown obj-ids · af04fa2a
      Michael Heemskerk 提交于
      When the client sends a 'shallow' line for an object that the server does
      not have, the server currently dies with the error: "did not find object
      for shallow <obj-id>".  The client may have truncated the history at
      the commit by fetching shallowly from a different server, or the commit
      may have been garbage collected by the server. In either case, this
      unknown commit is not relevant for calculating the pack that is to be
      sent and can be safely ignored, and it is not used when recomputing where
      the updated history of the client is cauterised.
      
      The documentation in technical/pack-protocol.txt has been updated to
      remove the restriction that "Clients MUST NOT mention an obj-id which it
      does not know exists on the server". This requirement is not realistic
      because clients cannot know whether an object has been garbage collected
      by the server.
      Signed-off-by: NMichael Heemskerk <mheemskerk@atlassian.com>
      Reviewed-by: NNguyễn Thái Ngọc Duy <pclouds@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      af04fa2a
  6. 17 10月, 2012 1 次提交
  7. 19 9月, 2012 1 次提交
  8. 15 5月, 2012 1 次提交
  9. 04 10月, 2011 1 次提交
  10. 09 6月, 2011 2 次提交
  11. 05 4月, 2010 2 次提交
  12. 01 2月, 2010 1 次提交
  13. 14 11月, 2009 1 次提交
    • S
      Update packfile transfer protocol documentation · b31222cf
      Scott Chacon 提交于
      The current technical documentation for the packfile protocol is both
      sparse and incorrect.  This documents the fetch-pack/upload-pack and
      send-pack/ receive-pack protocols much more fully.
      
      Add documentation from Shawn's upcoming http-protocol docs that is
      shared by the packfile protocol. protocol-common.txt describes ABNF
      notation amendments, refname rules and the packet line format.
      
      Add documentation on the various capabilities supported by the
      upload-pack and receive-pack protocols. protocol-capabilities.txt
      describes multi-ack, thin-pack, side-band[-64k], shallow, no-progress,
      include-tag, ofs-delta, delete-refs and report-status.
      Signed-off-by: NScott Chacon <schacon@gmail.com>
      Signed-off-by: NNanako Shiraishi <nanako3@lavabit.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      b31222cf
  14. 13 12月, 2005 1 次提交
  15. 14 7月, 2005 1 次提交