author | Junio C Hamano <gitster@pobox.com> | |
Fri, 18 Nov 2011 00:26:54 +0000 (16:26 -0800) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Wed, 30 Nov 2011 22:27:59 +0000 (14:27 -0800) | ||
commit | 6c526148644475acbc047faaeb57d42fde1f667d | |
tree | 1bf8400d2f5dff6ea15775b8b8af47af2e740617 | tree | snapshot |
parent | 0e990530ae6d6c6805d31c666953541f762dd402 | commit | diff |
csum-file: introduce sha1file_checkpoint
It is useful to be able to rewind a check-summed file to a certain
previous state after writing data into it using sha1write() API. The
fast-import command does this after streaming a blob data to the packfile
being generated and then noticing that the same blob has already been
written, and it does this with a private code truncate_pack() that is
commented as "Yes, this is a layering violation".
Introduce two API functions, sha1file_checkpoint(), that allows the caller
to save a state of a sha1file, and then later revert it to the saved state.
Use it to reimplement truncate_pack().
Signed-off-by: Junio C Hamano <gitster@pobox.com>
It is useful to be able to rewind a check-summed file to a certain
previous state after writing data into it using sha1write() API. The
fast-import command does this after streaming a blob data to the packfile
being generated and then noticing that the same blob has already been
written, and it does this with a private code truncate_pack() that is
commented as "Yes, this is a layering violation".
Introduce two API functions, sha1file_checkpoint(), that allows the caller
to save a state of a sha1file, and then later revert it to the saved state.
Use it to reimplement truncate_pack().
Signed-off-by: Junio C Hamano <gitster@pobox.com>
csum-file.c | diff | blob | history | |
csum-file.h | diff | blob | history | |
fast-import.c | diff | blob | history |