[PATCH 2/6] shallow: only add shallow graft points to new shallow file
- From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
- Date
- Aug 16, 2013, 09:52 UTC
- 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 <pclouds@gmail.com> --- 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