Re: [PATCH v2 5/9] pack-bitmap: introduce bitmap_walk_contains()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Christian,
can I check one thing?

On 19/10/2019 11:35, Christian Couder wrote:
From: Jeff King <peff@xxxxxxxx>

We will use this helper function in a following commit to
tell us if an object is packed.

Signed-off-by: Jeff King <peff@xxxxxxxx>
Signed-off-by: Christian Couder <chriscool@xxxxxxxxxxxxx>
---
  pack-bitmap.c | 12 ++++++++++++
  pack-bitmap.h |  3 +++
  2 files changed, 15 insertions(+)

diff --git a/pack-bitmap.c b/pack-bitmap.c
index 016d0319fc..8a51302a1a 100644
--- a/pack-bitmap.c
+++ b/pack-bitmap.c
@@ -826,6 +826,18 @@ int reuse_partial_packfile_from_bitmap(struct bitmap_index *bitmap_git,
  	return 0;
  }
+int bitmap_walk_contains(struct bitmap_index *bitmap_git,
+			 struct bitmap *bitmap, const struct object_id *oid)
+{
+	int idx;
Excuse my ignorance here...

For the case on Windows (int/long 32 bit), is this return value guaranteed to be less than 2GiB, i.e. not a memory offset?

I'm just thinking ahead to the resolution of the 4GiB file limit issue on Git-for-Windows (https://github.com/git-for-windows/git/pull/2179)

+
+	if (!bitmap)
+		return 0;
+
+	idx = bitmap_position(bitmap_git, oid);
+	return idx >= 0 && bitmap_get(bitmap, idx);
+}
+
  void traverse_bitmap_commit_list(struct bitmap_index *bitmap_git,
  				 show_reachable_fn show_reachable)
  {
diff --git a/pack-bitmap.h b/pack-bitmap.h
index 466c5afa09..6ab6033dbe 100644
--- a/pack-bitmap.h
+++ b/pack-bitmap.h
@@ -3,6 +3,7 @@
#include "ewah/ewok.h"
  #include "khash.h"
+#include "pack.h"
  #include "pack-objects.h"
struct commit;
@@ -53,6 +54,8 @@ int reuse_partial_packfile_from_bitmap(struct bitmap_index *,
  int rebuild_existing_bitmaps(struct bitmap_index *, struct packing_data *mapping,
  			     kh_oid_map_t *reused_bitmaps, int show_progress);
  void free_bitmap_index(struct bitmap_index *);
+int bitmap_walk_contains(struct bitmap_index *,
+			 struct bitmap *bitmap, const struct object_id *oid);
/*
   * After a traversal has been performed by prepare_bitmap_walk(), this can be
--
Philip



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux