Code

Merge branch 'jc/maint-1.6.0-keep-pack'
authorJunio C Hamano <gitster@pobox.com>
Wed, 11 Mar 2009 20:49:56 +0000 (13:49 -0700)
committerJunio 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

1  2 
builtin-count-objects.c
builtin-fsck.c
builtin-pack-objects.c
cache.h
diff.c
git-repack.sh
revision.c
revision.h
sha1_file.c

Simple merge
diff --cc builtin-fsck.c
Simple merge
Simple merge
diff --cc cache.h
index 189151de25ffd1a6671b7a70f359fa9b94b82173,0a3d523d26fb802a512a32d5f6067c2140879693..fdc4ada43a24fd64b93dc63589d13da911c70508
+++ b/cache.h
@@@ -836,10 -745,9 +837,9 @@@ extern const unsigned char *nth_packed_
  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
@@@ -2046,17 -1969,10 +2032,17 @@@ int sha1_object_info(const unsigned cha
  
                /* 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,