From: Nguyễn Thái Ngọc Duy Date: Fri, 16 Aug 2013 09:52:03 GMT Subject: [PATCH 2/6] shallow: only add shallow graft points to new shallow file Message-ID: <1376646727-22318-2-git-send-email-pclouds@gmail.com> In-Reply-To: <1376646727-22318-1-git-send-email-pclouds@gmail.com> for_each_commit_graft() goes through all graft points and shallow boudaries are just one special kind of grafting. If $GIT_DIR/shallow and $GIT_DIR/info/grafts are both present, write_shallow_commits may catch both sets, accidentally turning some graft points to shallow boundaries. Don't do that. Signed-off-by: Nguyễn Thái Ngọc Duy --- shallow.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/shallow.c b/shallow.c index 68dd106..5f626c0 100644 --- a/shallow.c +++ b/shallow.c @@ -153,6 +153,8 @@ static int write_one_shallow(const struct commit_graft *graft, void *cb_data) { struct write_shallow_data *data = cb_data; const char *hex = sha1_to_hex(graft->sha1); + if (graft->nr_parent != -1) + return 0; data->count++; if (data->use_pack_protocol) packet_buf_write(data->out, "shallow %s", hex); -- 1.8.2.82.gc24b958