author | Junio C Hamano <gitster@pobox.com> | |
Wed, 11 Mar 2009 20:49:56 +0000 (13:49 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Wed, 11 Mar 2009 20:49:56 +0000 (13:49 -0700) |
* jc/maint-1.6.0-keep-pack:
is_kept_pack(): final clean-up
Simplify is_kept_pack()
Consolidate ignore_packed logic more
has_sha1_kept_pack(): take "struct rev_info"
has_sha1_pack(): refactor "pretend these packs do not exist" interface
git-repack: resist stray environment variable
is_kept_pack(): final clean-up
Simplify is_kept_pack()
Consolidate ignore_packed logic more
has_sha1_kept_pack(): take "struct rev_info"
has_sha1_pack(): refactor "pretend these packs do not exist" interface
git-repack: resist stray environment variable
1 | 2 | |||
---|---|---|---|---|
builtin-count-objects.c | patch | | diff1 | | diff2 | | blob | history |
builtin-fsck.c | patch | | diff1 | | diff2 | | blob | history |
builtin-pack-objects.c | patch | | diff1 | | diff2 | | blob | history |
cache.h | patch | | diff1 | | diff2 | | blob | history |
diff.c | patch | | diff1 | | diff2 | | blob | history |
git-repack.sh | patch | | diff1 | | diff2 | | blob | history |
revision.c | patch | | diff1 | | diff2 | | blob | history |
revision.h | patch | | diff1 | | diff2 | | blob | history |
sha1_file.c | patch | | diff1 | | diff2 | | blob | history |
diff --cc builtin-count-objects.c
Simple merge
diff --cc builtin-fsck.c
Simple merge
diff --cc builtin-pack-objects.c
Simple merge
diff --cc cache.h
index 189151de25ffd1a6671b7a70f359fa9b94b82173,0a3d523d26fb802a512a32d5f6067c2140879693..fdc4ada43a24fd64b93dc63589d13da911c70508
+++ b/cache.h
extern off_t nth_packed_object_offset(const struct packed_git *, uint32_t);
extern off_t find_pack_entry_one(const unsigned char *, struct packed_git *);
extern void *unpack_entry(struct packed_git *, off_t, enum object_type *, unsigned long *);
-extern unsigned long unpack_object_header_gently(const unsigned char *buf, unsigned long len, enum object_type *type, unsigned long *sizep);
+extern unsigned long unpack_object_header_buffer(const unsigned char *buf, unsigned long len, enum object_type *type, unsigned long *sizep);
extern unsigned long get_size_from_delta(struct packed_git *, struct pack_window **, off_t);
extern const char *packed_object_info_detail(struct packed_git *, off_t, unsigned long *, unsigned long *, unsigned int *, unsigned char *);
- extern int matches_pack_name(struct packed_git *p, const char *name);
/* Dumb servers support */
extern int update_server_info(int);
diff --cc diff.c
Simple merge
diff --cc git-repack.sh
Simple merge
diff --cc revision.c
Simple merge
diff --cc revision.h
Simple merge
diff --cc sha1_file.c
index 032300c4c6434701e802df729cd74245e543de20,7ead56cc3ef8e96e2ddda1dc77cc83cb6946e7fc..456317356f323eb744c207d787a2e7598ad9601e
--- 1/sha1_file.c
--- 2/sha1_file.c
+++ b/sha1_file.c
/* Not a loose object; someone else may have just packed it. */
reprepare_packed_git();
- if (!find_pack_entry(sha1, &e, NULL))
+ if (!find_pack_entry(sha1, &e))
return status;
}
- return packed_object_info(e.p, e.offset, sizep);
+
+ status = packed_object_info(e.p, e.offset, sizep);
+ if (status < 0) {
+ mark_bad_packed_object(e.p, sha1);
+ status = sha1_object_info(sha1, sizep);
+ }
+
+ return status;
}
static void *read_packed_sha1(const unsigned char *sha1,