Subject: [PATCH v2 00/16] First class shallow clone

From: Nguyễn Thái Ngọc Duy <[email-masked]>
Date: Sat, 20 Jul 2013 16:57:54 +0700

v2 includes:

 - fix Junio comments, especially the one that may lead to incomplete
   commit islands.
 - fix send-pack setting up temporary shallow file, but never passes
   it to index-pack/unpack-objects (also fix the tests to catch this)
 - support smart http
 - add core.noshallow for repos that wish to be always complete
 - fix locally cloning a shallow repository
 - make upload-pack pass --shallow-file to pack-objects in order to
   remove duplicate object counting code just for shallow case.

Nguyễn Thái Ngọc Duy (16):
  send-pack: forbid pushing from a shallow repository
  {receive,upload}-pack: advertise shallow graft information
  connect.c: teach get_remote_heads to parse "shallow" lines
  Move setup_alternate_shallow and write_shallow_commits to shallow.c
  fetch-pack: support fetching from a shallow repository
  {send,receive}-pack: support pushing from a shallow clone
  send-pack: support pushing to a shallow clone
  upload-pack: let pack-objects do the object counting in shallow case
  pack-protocol.txt: a bit about smart http
  Add document for command arguments for supporting smart http
  {fetch,upload}-pack: support fetching from a shallow clone via smart http
  receive-pack: support pushing to a shallow clone via http
  send-pack: support pushing from a shallow clone via http
  git-clone.txt: remove shallow clone limitations
  config: add core.noshallow to prevent turning a repo into a shallow one
  clone: use git protocol for cloning shallow repo locally

 Documentation/config.txt                  |   5 +
 Documentation/git-clone.txt               |   7 +-
 Documentation/git-fetch-pack.txt          |  11 +-
 Documentation/git-receive-pack.txt        |  16 ++-
 Documentation/git-send-pack.txt           |   9 +-
 Documentation/git-upload-pack.txt         |  13 ++-
 Documentation/technical/pack-protocol.txt |  76 ++++++++++++-
 builtin/clone.c                           |  14 ++-
 builtin/fetch-pack.c                      |   6 +-
 builtin/receive-pack.c                    |  76 +++++++++++--
 builtin/send-pack.c                       |   7 +-
 cache.h                                   |   4 +-
 commit.h                                  |  27 +++++
 config.c                                  |   5 +
 connect.c                                 |  12 +-
 environment.c                             |   1 +
 fetch-pack.c                              |  90 ++++++---------
 fetch-pack.h                              |   1 +
 remote-curl.c                             |   4 +-
 send-pack.c                               |  57 +++++++++-
 send-pack.h                               |   4 +-
 shallow.c                                 | 147 +++++++++++++++++++++++++
 t/t5530-upload-pack-error.sh              |   3 -
 t/t5536-fetch-shallow.sh (new +x)         | 141 ++++++++++++++++++++++++
 t/t5537-push-shallow.sh (new +x)          | 176 ++++++++++++++++++++++++++++++
 t/t5601-clone.sh                          |   7 ++
 transport.c                               |  14 ++-
 upload-pack.c                             | 132 ++++++----------------
 28 files changed, 858 insertions(+), 207 deletions(-)
 create mode 100755 t/t5536-fetch-shallow.sh
 create mode 100755 t/t5537-push-shallow.sh

-- 
1.8.2.83.gc99314b