Even though our convention is "zero return means good", it goes a
bit too far for matches_pack_name() to return 0 when it found
the pack is what the name refers to. This fixes that silly and
obvious interface bug.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
Junio C Hamano <gitster@pobox.com> writes:
> Nicolas Pitre <nico@cam.org> writes:
> ...
>> In fact, since we want to _also_ perform a repack of loose objects in
>> the context of automatic repacking, I wonder why we wouldn't use that
>> --unpacked= argument to also repack smallish packs at the same time in
>> only one pack-objects pass. Or maybe I'm missing something?
>
> I think this is a much better idea. You obviously need some
> twist to the pack-objects, and being lazy that was the reason I
> did not want to do this that way.
So what follows is two-patch series, which still is a rough
sketch, as I am feeling a bit too tired to do tests and
documentation (help is always welcomed, hint hint).
This message contains the first one, which is more or less
independent, that exposes matches_pack_name() function from
sha1_file.c, while fixing a silly and obvious interface bug.
cache.h | 1 +
sha1_file.c | 14 +++++++-------
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/cache.h b/cache.h
index 70abbd5..3fa5b8e 100644
--- a/cache.h
+++ b/cache.h
@@ -529,6 +529,7 @@ extern void *unpack_entry(struct packed_git *, off_t, enum object_type *, unsign
extern unsigned long unpack_object_header_gently(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 --git a/sha1_file.c b/sha1_file.c
index 9978a58..5801c3e 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -1684,22 +1684,22 @@ off_t find_pack_entry_one(const unsigned char *sha1,
return 0;
}
-static int matches_pack_name(struct packed_git *p, const char *ig)
+int matches_pack_name(struct packed_git *p, const char *name)
{
const char *last_c, *c;
- if (!strcmp(p->pack_name, ig))
- return 0;
+ if (!strcmp(p->pack_name, name))
+ return 1;
for (c = p->pack_name, last_c = c; *c;)
if (*c == '/')
last_c = ++c;
else
++c;
- if (!strcmp(last_c, ig))
- return 0;
+ if (!strcmp(last_c, name))
+ return 1;
- return 1;
+ return 0;
}
static int find_pack_entry(const unsigned char *sha1, struct pack_entry *e, const char **ignore_packed)
@@ -1717,7 +1717,7 @@ static int find_pack_entry(const unsigned char *sha1, struct pack_entry *e, cons
if (ignore_packed) {
const char **ig;
for (ig = ignore_packed; *ig; ig++)
- if (!matches_pack_name(p, *ig))
+ if (matches_pack_name(p, *ig))
break;
if (*ig)
goto next;
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
| David Miller | [GIT]: Networking |
| Greg KH | Re: [PATCH 5/7] FUSE: implement ioctl support |
| Frans Meulenbroeks | Re: [PATCH 00/10] AXFS: Advanced XIP filesystem |
| Rafael J. Wysocki | [Bug #11407] suspend: unable to handle kernel paging request |
git: | |
| Kevin Ballard | Re: git on MacOSX and files with decomposed utf-8 file names |
| Andi Kleen | Re: pack operation is thrashing my server |
| Aubrey Li | git proxy issue |
| Thomas Glanzmann | Re: fatal: ambiguous argument 'HEAD': unknown revision or path not in the working ... |
| Bryan Irvine | Re: find -exec {} help |
| Todd Pytel | IDE or SCSI virtual disks for VMWare image? |
| NetOne - Doichin Dokov | OpenBSD as Xen domU |
| Calomel | Re: OpenSSL On Openbsd help |
| Laurent Pinchart | [PATCH] dm9000: Support MAC address setting through platform data. |
| Jay Cliburn | Re: [PATCH 06/26] atl1: update initialization parameters |
| Benjamin Herrenschmidt | [PATCH 6/11] ibm_newemac: Cleanup/fix support for STACR register variants |
| Chris Snook | [RFC] introducing the Atheros L2 Fast Ethernet driver |
