revision: add leak_pending flag

The new flag leak_pending in struct rev_info can be used to prevent
prepare_revision_walk from freeing the list of pending objects.  It
will still forget about them, so it really is leaked.  This behaviour
may look weird at first, but it can be useful if the pointer to the
list is saved before calling prepare_revision_walk.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
René Scharfe 2011-10-01 17:56:08 +02:00 коммит произвёл Junio C Hamano
Родитель 468224e580
Коммит 4a43d374fc
2 изменённых файлов: 3 добавлений и 1 удалений

Просмотреть файл

@ -1974,7 +1974,8 @@ int prepare_revision_walk(struct rev_info *revs)
}
e++;
}
free(list);
if (!revs->leak_pending)
free(list);
if (revs->no_walk)
return 0;

Просмотреть файл

@ -97,6 +97,7 @@ struct rev_info {
date_mode_explicit:1,
preserve_subject:1;
unsigned int disable_stdin:1;
unsigned int leak_pending:1;
enum date_mode date_mode;