summaryrefslogtreecommitdiff
path: root/cache.h
diff options
context:
space:
mode:
authorNicolas Pitre <nico@cam.org>2008-12-09 19:26:52 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-12-11 01:56:05 (GMT)
commitc74faea19e39ca933492f697596310397175c329 (patch)
tree8d98539f02bf7bcc82c43f466feae01dbf0de9bc /cache.h
parentaa971cb9bf4105eefb435b9e6f282f019529c35f (diff)
downloadgit-c74faea19e39ca933492f697596310397175c329.zip
git-c74faea19e39ca933492f697596310397175c329.tar.gz
git-c74faea19e39ca933492f697596310397175c329.tar.bz2
make sure packs to be replaced are closed beforehand
Especially on Windows where an opened file cannot be replaced, make sure pack-objects always close packs it is about to replace. Even on non Windows systems, this could save potential bad results if ever objects were to be read from the new pack file using offset from the old index. This should fix t5303 on Windows. Signed-off-by: Nicolas Pitre <nico@cam.org> Tested-by: Johannes Sixt <j6t@kdbg.org> (MinGW) Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'cache.h')
-rw-r--r--cache.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/cache.h b/cache.h
index d1cd6aa..42f2f27 100644
--- a/cache.h
+++ b/cache.h
@@ -738,6 +738,7 @@ extern int open_pack_index(struct packed_git *);
extern unsigned char* use_pack(struct packed_git *, struct pack_window **, off_t, unsigned int *);
extern void close_pack_windows(struct packed_git *);
extern void unuse_pack(struct pack_window **);
+extern void free_pack_by_name(const char *);
extern struct packed_git *add_packed_git(const char *, int, int);
extern const unsigned char *nth_packed_object_sha1(struct packed_git *, uint32_t);
extern off_t nth_packed_object_offset(const struct packed_git *, uint32_t);