From: Junio C Hamano Date: Sat, 4 Sep 2010 05:23:13 +0000 (-0700) Subject: Merge branch 'nd/maint-fix-replace' X-Git-Tag: v1.7.3-rc0~6 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/f92d62ec4ead67109418483b65aaf158b7462121?hp=-c Merge branch 'nd/maint-fix-replace' * nd/maint-fix-replace: parse_object: pass on the original sha1, not the replaced one --- f92d62ec4ead67109418483b65aaf158b7462121 diff --combined object.c index 277b3ddba7,cdf7b30baa..7adfda75f2 --- a/object.c +++ b/object.c @@@ -199,7 -199,7 +199,7 @@@ struct object *parse_object(const unsig return NULL; } - obj = parse_object_buffer(repl, type, size, buffer, &eaten); + obj = parse_object_buffer(sha1, type, size, buffer, &eaten); if (!eaten) free(buffer); return obj; @@@ -217,6 -217,27 +217,6 @@@ struct object_list *object_list_insert( return new_list; } -void object_list_append(struct object *item, - struct object_list **list_p) -{ - while (*list_p) { - list_p = &((*list_p)->next); - } - *list_p = xmalloc(sizeof(struct object_list)); - (*list_p)->next = NULL; - (*list_p)->item = item; -} - -unsigned object_list_length(struct object_list *list) -{ - unsigned ret = 0; - while (list) { - list = list->next; - ret++; - } - return ret; -} - int object_list_contains(struct object_list *list, struct object *obj) { while (list) { @@@ -252,10 -273,10 +252,10 @@@ void add_object_array_with_mode(struct void object_array_remove_duplicates(struct object_array *array) { - int ref, src, dst; + unsigned int ref, src, dst; struct object_array_entry *objects = array->objects; - for (ref = 0; ref < array->nr - 1; ref++) { + for (ref = 0; ref + 1 < array->nr; ref++) { for (src = ref + 1, dst = src; src < array->nr; src++) { diff --combined t/t6050-replace.sh index 4185b7ca1d,903ebc53d7..dd917d76da --- a/t/t6050-replace.sh +++ b/t/t6050-replace.sh @@@ -209,7 -209,7 +209,7 @@@ test_expect_success 'fetch branch with test_expect_success 'bisect and replacements' ' git bisect start $HASH7 $HASH1 && - test "$S" = "$(git rev-parse --verify HEAD)" && + test "$PARA3" = "$(git rev-parse --verify HEAD)" && git bisect reset && GIT_NO_REPLACE_OBJECTS=1 git bisect start $HASH7 $HASH1 && test "$HASH4" = "$(git rev-parse --verify HEAD)" && @@@ -219,12 -219,6 +219,12 @@@ git bisect reset ' +test_expect_success 'index-pack and replacements' ' + git --no-replace-objects rev-list --objects HEAD | + git --no-replace-objects pack-objects test- && + git index-pack test-*.pack +' + # # test_done