diff options
| author | Paul Tan <pyokagan@gmail.com> | 2015-08-04 21:51:25 +0800 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2015-08-04 22:02:11 -0700 |
| commit | 8c3bd9e288b3ce70d02d8a843219168a9589e917 (patch) | |
| tree | a7d1286f0977993df4e3e50d4986767a816223c2 /t/t4013/diff.format-patch_--inline_--stdout_initial..side | |
| parent | builtin-am: implement skeletal builtin am (diff) | |
| download | git-8c3bd9e288b3ce70d02d8a843219168a9589e917.tar.gz git-8c3bd9e288b3ce70d02d8a843219168a9589e917.zip | |
builtin-am: implement patch queue mechanism
git-am applies a series of patches. If the process terminates
abnormally, we want to be able to resume applying the series of patches.
This requires the session state to be saved in a persistent location.
Implement the mechanism of a "patch queue", represented by 2 integers --
the index of the current patch we are applying and the index of the last
patch, as well as its lifecycle through the following functions:
* am_setup(), which will set up the state directory
$GIT_DIR/rebase-apply. As such, even if the process exits abnormally,
the last-known state will still persist.
* am_load(), which is called if there is an am session in
progress, to load the last known state from the state directory so we
can resume applying patches.
* am_run(), which will do the actual patch application. After applying a
patch, it calls am_next() to increment the current patch index. The
logic for applying and committing a patch is not implemented yet.
* am_destroy(), which is finally called when we successfully applied all
the patches in the queue, to clean up by removing the state directory
and its contents.
Helped-by: Junio C Hamano <gitster@pobox.com>
Helped-by: Stefan Beller <sbeller@google.com>
Helped-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Paul Tan <pyokagan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t4013/diff.format-patch_--inline_--stdout_initial..side')
0 files changed, 0 insertions, 0 deletions
