builtin/notes: split create_note() to clarify add vs. remove logic
commit52694cdabbf68f19c8289416e7bb3bbef41d8d27
authorJohan Herland <johan@herland.net>
Wed, 12 Nov 2014 00:40:13 +0000 (12 01:40 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 12 Nov 2014 18:59:50 +0000 (12 10:59 -0800)
treec353f2d10446ca0927e60b9479a9dc1eaeed75e7
parentb0de56c6a5bb41da71babafefc9207b0fc211d66
builtin/notes: split create_note() to clarify add vs. remove logic

create_note() has a non-trivial interface, and comprises three loosely
related parts:

 1. launching the editor with the note contents, if needed
 2. appending to an existing note, if append_only was given
 3. adding or removing the resulting note, based on whether it's non-empty

Split it along those lines to make the logic clearer: The first part
goes into a new function - prepare_note_data(), with a simpler interface.
The second part is moved into append_edit(), which is the only user of
this code. Finally, the add vs. remove decision is moved into the callers
(add() and append_edit()), keeping the logic for writing the actual note
object in a separate function: write_note_data().

Suggested-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/notes.c