From: drafnel@gmail.com
To: gitster@pobox.org
Cc: git@vger.kernel.org, spearce@spearce.org, nico@cam.org,
ae@op5.se, Brandon Casey <drafnel@gmail.com>
Subject: [PATCH 2/3] sha1_file.c: split has_loose_object() into local and non-local counterparts
Date: Sun, 9 Nov 2008 23:59:57 -0600 [thread overview]
Message-ID: <5374142.1226296710939.JavaMail.teamon@b307.teamon.com> (raw)
In-Reply-To: <1226296798-31522-2-git-send-email-foo@foo.com>
From: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Brandon Casey <drafnel@gmail.com>
---
cache.h | 1 +
sha1_file.c | 19 +++++++++++++------
2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/cache.h b/cache.h
index 37ab457..1ec90f1 100644
--- a/cache.h
+++ b/cache.h
@@ -578,6 +578,7 @@ extern int move_temp_to_file(const char *tmpfile, const char *filename);
extern int has_sha1_pack(const unsigned char *sha1, const char **ignore);
extern int has_sha1_file(const unsigned char *sha1);
+extern int has_loose_object_nonlocal(const unsigned char *sha1);
extern int has_pack_file(const unsigned char *sha1);
extern int has_pack_index(const unsigned char *sha1);
diff --git a/sha1_file.c b/sha1_file.c
index f2b25bd..4912205 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -423,23 +423,30 @@ void prepare_alt_odb(void)
read_info_alternates(get_object_directory(), 0);
}
-static int has_loose_object(const unsigned char *sha1)
+static int has_loose_object_local(const unsigned char *sha1)
{
char *name = sha1_file_name(sha1);
- struct alternate_object_database *alt;
+ return !access(name, F_OK);
+}
- if (!access(name, F_OK))
- return 1;
+int has_loose_object_nonlocal(const unsigned char *sha1)
+{
+ struct alternate_object_database *alt;
prepare_alt_odb();
for (alt = alt_odb_list; alt; alt = alt->next) {
- name = alt->name;
- fill_sha1_path(name, sha1);
+ fill_sha1_path(alt->name, sha1);
if (!access(alt->base, F_OK))
return 1;
}
return 0;
}
+static int has_loose_object(const unsigned char *sha1)
+{
+ return has_loose_object_local(sha1) ||
+ has_loose_object_nonlocal(sha1);
+}
+
static unsigned int pack_used_ctr;
static unsigned int pack_mmap_calls;
static unsigned int peak_pack_open_windows;
--
1.6.0.2.588.g3102
next prev parent reply other threads:[~2008-11-10 6:00 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-31 19:32 getting list of objects for packing Brandon Casey
2008-10-31 20:40 ` Nicolas Pitre
2008-10-31 20:48 ` Brandon Casey
2008-10-31 21:30 ` Junio C Hamano
2008-10-31 21:40 ` Brandon Casey
2008-10-31 22:23 ` Jakub Narebski
2008-11-01 0:00 ` Brandon Casey
2008-11-02 3:35 ` [PATCH] t7700: demonstrate mishandling of objects in packs with a .keep file drafnel
2008-11-02 16:31 ` [PATCH 1/3] packed_git: convert pack_local flag into generic bit mask drafnel
2008-11-03 16:12 ` Shawn O. Pearce
2008-11-03 18:24 ` Brandon Casey
2008-11-03 20:37 ` [PATCH v2 1/3] t7700: demonstrate mishandling of objects in packs with a .keep file Brandon Casey
2008-11-03 20:41 ` [PATCH v2 2/3] packed_git: convert pack_local flag into a bitfield and add pack_keep Brandon Casey
2008-11-03 20:43 ` [PATCH v2 3/3] pack-objects: honor '.keep' files Brandon Casey
2008-11-03 20:49 ` Shawn O. Pearce
2008-11-05 22:37 ` Brandon Casey
2008-11-06 23:22 ` Brandon Casey
2008-11-07 0:30 ` Junio C Hamano
2008-11-07 1:17 ` Brandon Casey
2008-11-07 8:12 ` Andreas Ericsson
2008-11-07 19:25 ` Shawn O. Pearce
2008-11-10 5:59 ` recognize loose local objects during repack drafnel
2008-11-10 21:03 ` Junio C Hamano
[not found] ` <1226296798-31522-1-git-send-email-foo@foo.com>
2008-11-10 5:59 ` [PATCH 1/3] t7700: demonstrate mishandling of loose objects in an alternate ODB drafnel
[not found] ` <1226296798-31522-2-git-send-email-foo@foo.com>
2008-11-10 5:59 ` drafnel [this message]
[not found] ` <1226296798-31522-3-git-send-email-foo@foo.com>
2008-11-10 5:59 ` [PATCH 3/3] pack-objects: extend --local to mean ignore non-local loose objects too drafnel
2008-11-07 1:52 ` [PATCH 1/4] pack-objects: new option --honor-pack-keep Brandon Casey
2008-11-07 1:54 ` [PATCH 2/4] repack: don't repack local objects in packs with .keep file Brandon Casey
2008-11-07 1:55 ` [PATCH 3/4] repack: do not fall back to incremental repacking with [-a|-A] Brandon Casey
2008-11-07 1:56 ` [PATCH 4/4] builtin-gc.c: use new pack_keep bitfield to detect .keep file existence Brandon Casey
2008-11-07 8:14 ` [PATCH 2/4] repack: don't repack local objects in packs with .keep file Andreas Ericsson
2008-11-07 8:13 ` [PATCH 1/4] pack-objects: new option --honor-pack-keep Andreas Ericsson
2008-11-03 22:14 ` [PATCH v3] t7700: demonstrate mishandling of objects in packs with a .keep file Brandon Casey
2008-11-04 19:17 ` [PATCH v2 1/3] " Andreas Ericsson
2008-11-04 19:49 ` Brandon Casey
2008-11-04 19:55 ` Junio C Hamano
2008-11-04 20:01 ` Brandon Casey
2008-11-04 20:21 ` Andreas Ericsson
2008-11-04 23:55 ` Junio C Hamano
2008-11-12 8:09 ` Jeff King
2008-11-12 17:10 ` Junio C Hamano
2008-11-12 19:17 ` Jeff King
2008-11-12 17:30 ` Brandon Casey
2008-11-12 17:59 ` repack and .keep series Brandon Casey
2008-11-12 17:59 ` [PATCH 1/6] t7700: demonstrate mishandling of objects in packs with a .keep file Brandon Casey
2008-11-12 17:59 ` [PATCH 2/6] packed_git: convert pack_local flag into a bitfield and add pack_keep Brandon Casey
2008-11-12 17:59 ` [PATCH 3/6] pack-objects: new option --honor-pack-keep Brandon Casey
2008-11-12 17:59 ` [PATCH 4/6] repack: don't repack local objects in packs with .keep file Brandon Casey
2008-11-12 17:59 ` [PATCH 5/6] repack: do not fall back to incremental repacking with [-a|-A] Brandon Casey
2008-11-12 17:59 ` [PATCH 6/6] builtin-gc.c: use new pack_keep bitfield to detect .keep file existence Brandon Casey
2008-11-13 0:50 ` [PATCH] t7700: test that 'repack -a' packs alternate packed objects Brandon Casey
2008-11-12 18:10 ` [PATCH v2 1/3] t7700: demonstrate mishandling of objects in packs with a .keep file Junio C Hamano
2008-11-12 18:19 ` Junio C Hamano
[not found] ` <1225643477-32319-1-git-send-email-foo@foo.com>
2008-11-02 16:31 ` [PATCH 2/3] packed_git: add new PACK_KEEP flag and haspackkeep() access macro drafnel
[not found] ` <1225643477-32319-2-git-send-email-foo@foo.com>
2008-11-02 16:31 ` [PATCH 3/3] pack-objects: honor '.keep' files drafnel
2008-11-03 16:17 ` Shawn O. Pearce
2008-11-03 10:35 ` [PATCH] t7700: demonstrate mishandling of objects in packs with a .keep file Andreas Ericsson
2008-11-03 18:20 ` Brandon Casey
2008-11-03 20:25 ` Andreas Ericsson
2008-11-03 22:02 ` Brandon Casey
2008-11-04 19:25 ` Andreas Ericsson
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=5374142.1226296710939.JavaMail.teamon@b307.teamon.com \
--to=drafnel@gmail.com \
--cc=ae@op5.se \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.org \
--cc=nico@cam.org \
--cc=spearce@spearce.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.