Thread (63 messages) 63 messages, 2 authors, 2016-09-09

Re: [PATCH 05/15] sequencer: lib'ify read_and_refresh_cache()

From: Johannes Schindelin <hidden>
Date: 2016-08-24 16:11:13

Hi Eric,

On Wed, 24 Aug 2016, Eric Sunshine wrote:
On Tue, Aug 23, 2016 at 12:07 PM, Johannes Schindelin
[off-list ref] wrote:
quoted
To be truly useful, the sequencer should never die() but always return
an error.

Signed-off-by: Johannes Schindelin <redacted>
---
diff --git a/sequencer.c b/sequencer.c
@@ -638,18 +638,21 @@ static int prepare_revs(struct replay_opts *opts)
-static void read_and_refresh_cache(struct replay_opts *opts)
+static int read_and_refresh_cache(struct replay_opts *opts)
 {
        static struct lock_file index_lock;
        int index_fd = hold_locked_index(&index_lock, 0);
        if (read_index_preload(&the_index, NULL) < 0)
-               die(_("git %s: failed to read the index"), action_name(opts));
+               return error(_("git %s: failed to read the index"),
+                       action_name(opts));
        refresh_index(&the_index, REFRESH_QUIET|REFRESH_UNMERGED, NULL, NULL, NULL);
        if (the_index.cache_changed && index_fd >= 0) {
                if (write_locked_index(&the_index, &index_lock, COMMIT_LOCK))
-                       die(_("git %s: failed to refresh the index"), action_name(opts));
+                       return error(_("git %s: failed to refresh the index"),
+                               action_name(opts));
Do these two error returns need to rollback the lockfile?
Here, too, the atexit() handler does the job, and again, this is not a
change in behavior.

Thanks for your review!
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help