git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Hostetler <git@jeffhostetler.com>
To: git@vger.kernel.org
Cc: gitster@pobox.com, peff@peff.net, jonathantanmy@google.com,
	Jeff Hostetler <jeffhost@microsoft.com>
Subject: [PATCH v3 0/6] Partial clone part 1: object filtering
Date: Tue,  7 Nov 2017 19:35:40 +0000	[thread overview]
Message-ID: <20171107193546.10017-1-git@jeffhostetler.com> (raw)

From: Jeff Hostetler <jeffhost@microsoft.com>

Here is V3 of the list-object filtering.  This addresses the
comments on the mailing list for the V2 series as well as the
various TODO items I left in the code.  I also documented some
of the bit flags and fields that I added.

In the blob size filter, I removed the ".git*" pattern matching
for special files.  I don't think we need it any more and it
simplifies the code.  This patch series does not support
traverse_bitmap_commit_list() and the --use-bitmap-index feature
in rev-list, but by removing the ".git*" pattern matching now
we should be able allow filtering and bitmaps to be used
together in a future effort.  (That is beyond the scope of
the current partial-clone effort.)

With this patch series, I think part 1 is complete unless there
are further comments or questions.


Jeff Hostetler (6):
  dir: allow exclusions from blob in addition to file
  oidmap: add oidmap iterator methods
  oidset: add iterator methods to oidset
  list-objects: filter objects in traverse_commit_list
  rev-list: add list-objects filtering support
  pack-objects: add list-objects filtering

 Documentation/git-pack-objects.txt     |  12 +-
 Documentation/git-rev-list.txt         |   6 +-
 Documentation/rev-list-options.txt     |  34 +++
 Makefile                               |   2 +
 builtin/pack-objects.c                 |  28 ++-
 builtin/rev-list.c                     |  75 +++++-
 dir.c                                  | 132 ++++++++---
 dir.h                                  |   3 +
 list-objects-filter-options.c          | 148 ++++++++++++
 list-objects-filter-options.h          |  50 ++++
 list-objects-filter.c                  | 401 +++++++++++++++++++++++++++++++++
 list-objects-filter.h                  |  77 +++++++
 list-objects.c                         |  95 ++++++--
 list-objects.h                         |  13 +-
 object.h                               |   1 +
 oidmap.h                               |  22 ++
 oidset.c                               |  10 +
 oidset.h                               |  36 +++
 t/t5317-pack-objects-filter-objects.sh | 369 ++++++++++++++++++++++++++++++
 t/t6112-rev-list-filters-objects.sh    | 225 ++++++++++++++++++
 20 files changed, 1686 insertions(+), 53 deletions(-)
 create mode 100644 list-objects-filter-options.c
 create mode 100644 list-objects-filter-options.h
 create mode 100644 list-objects-filter.c
 create mode 100644 list-objects-filter.h
 create mode 100755 t/t5317-pack-objects-filter-objects.sh
 create mode 100755 t/t6112-rev-list-filters-objects.sh

-- 
2.9.3


             reply	other threads:[~2017-11-07 19:36 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-07 19:35 Jeff Hostetler [this message]
2017-11-07 19:35 ` [PATCH v3 1/6] dir: allow exclusions from blob in addition to file Jeff Hostetler
2017-11-07 19:35 ` [PATCH v3 2/6] oidmap: add oidmap iterator methods Jeff Hostetler
2017-11-07 19:35 ` [PATCH v3 3/6] oidset: add iterator methods to oidset Jeff Hostetler
2017-11-07 19:35 ` [PATCH v3 4/6] list-objects: filter objects in traverse_commit_list Jeff Hostetler
2017-11-07 23:20   ` Jonathan Tan
2017-11-08  5:01     ` Junio C Hamano
2017-11-16 17:28       ` Jeff Hostetler
2017-11-16 17:23     ` Jeff Hostetler
2017-11-07 19:35 ` [PATCH v3 5/6] rev-list: add list-objects filtering support Jeff Hostetler
2017-11-07 19:35 ` [PATCH v3 6/6] pack-objects: add list-objects filtering Jeff Hostetler
2017-11-08  0:45   ` Jonathan Tan
2017-11-08  5:25 ` [PATCH v3 0/6] Partial clone part 1: object filtering Junio C Hamano

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=20171107193546.10017-1-git@jeffhostetler.com \
    --to=git@jeffhostetler.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jeffhost@microsoft.com \
    --cc=jonathantanmy@google.com \
    --cc=peff@peff.net \
    /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).