From: Johannes Sixt <j.sixt@viscovery.net>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>,
Ramkumar Ramachandra <artagnon@gmail.com>,
git@vger.kernel.org, Christian Couder <chriscool@tuxfamily.org>,
Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>,
Phil Hord <phil.hord@gmail.com>,
Jay Soffian <jaysoffian@gmail.com>
Subject: [PATCH] Fix revert --abort on Windows
Date: Wed, 23 Nov 2011 09:49:38 +0100 [thread overview]
Message-ID: <4ECCB3A2.5030102@viscovery.net> (raw)
In-Reply-To: <20111123012721.GA14217@elie.hsd1.il.comcast.net>
From: Johannes Sixt <j6t@kdbg.org>
On Windows, it is not possible to rename or remove a directory that has
open files. 'revert --abort' renamed .git/sequencer when it still had
.git/sequencer/head open. Close the file as early as possible to allow
the rename operation on Windows.
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
---
I guess it's too late to squash this in. ;)
-- Hannes
builtin/revert.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/builtin/revert.c b/builtin/revert.c
index 0c61668..5dedb51 100644
--- a/builtin/revert.c
+++ b/builtin/revert.c
@@ -931,8 +931,10 @@ static int sequencer_rollback(struct replay_opts *opts)
if (strbuf_getline(&buf, f, '\n')) {
error(_("cannot read %s: %s"), filename, ferror(f) ?
strerror(errno) : _("unexpected end of file"));
+ fclose(f);
goto fail;
}
+ fclose(f);
if (get_sha1_hex(buf.buf, sha1) || buf.buf[40] != '\0') {
error(_("stored pre-cherry-pick HEAD file '%s' is corrupt"),
filename);
@@ -941,11 +943,9 @@ static int sequencer_rollback(struct replay_opts *opts)
if (reset_for_rollback(sha1))
goto fail;
strbuf_release(&buf);
- fclose(f);
return 0;
fail:
strbuf_release(&buf);
- fclose(f);
return -1;
}
--
1.7.8.rc3.1164.gba869.dirty
next prev parent reply other threads:[~2011-11-23 8:49 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-20 7:30 cherry-pick/revert error messages Jonathan Nieder
2011-11-20 8:02 ` Ramkumar Ramachandra
2011-11-20 9:46 ` [RFC/PATCH 0/3] " Jonathan Nieder
2011-11-20 9:48 ` [PATCH 1/3] revert: rename --reset option to --quit Jonathan Nieder
2011-11-21 20:36 ` Junio C Hamano
2011-11-21 22:35 ` Jakub Narebski
2011-11-21 22:43 ` Jonathan Nieder
2011-11-20 9:50 ` [PATCH 2/3] revert: rearrange pick_revisions() for clarity Jonathan Nieder
2011-11-20 9:51 ` [PATCH 3/3] revert: improve error message for cherry-pick during cherry-pick Jonathan Nieder
2011-11-22 11:12 ` [PATCH v2 0/3] Re: cherry-pick/revert error messages Jonathan Nieder
2011-11-22 11:14 ` [PATCH 1/3] revert: rename --reset option to --quit Jonathan Nieder
2011-11-22 11:15 ` [PATCH 2/3] revert: rearrange pick_revisions() for clarity Jonathan Nieder
2011-11-22 11:15 ` [PATCH 3/3] revert: improve error message for cherry-pick during cherry-pick Jonathan Nieder
2011-11-22 11:17 ` [PATCH 4/3] revert: write REVERT_HEAD pseudoref during conflicted revert Jonathan Nieder
2011-11-22 21:40 ` Thiago Farina
2011-12-01 9:34 ` Ramkumar Ramachandra
2011-11-22 11:20 ` [PATCH 5/3] revert: introduce --abort to cancel a failed cherry-pick Jonathan Nieder
2011-11-23 0:43 ` Junio C Hamano
2011-11-23 1:27 ` Jonathan Nieder
2011-11-23 8:49 ` Johannes Sixt [this message]
2011-11-23 10:04 ` [PATCH] Fix revert --abort on Windows Jonathan Nieder
2011-11-23 10:21 ` Johannes Sixt
2011-12-10 12:46 ` [RFC/PATCH 0/7] some sequencer loose ends (Re: Fix revert --abort on Windows) Jonathan Nieder
2011-12-10 12:47 ` [PATCH 1/7] revert: give --continue handling its own function Jonathan Nieder
2011-12-14 13:16 ` Ramkumar Ramachandra
2011-12-10 12:49 ` [PATCH 2/7] revert: allow cherry-pick --continue to commit before resuming Jonathan Nieder
2011-12-14 14:26 ` Ramkumar Ramachandra
2011-12-14 16:48 ` Jonathan Nieder
2011-12-10 12:58 ` [PATCH 3/7] revert: pass around rev-list args in already-parsed form Jonathan Nieder
2011-12-14 14:51 ` Ramkumar Ramachandra
2011-12-10 12:59 ` [PATCH 4/7] revert: allow single-pick in the middle of cherry-pick sequence Jonathan Nieder
2011-12-14 15:48 ` Ramkumar Ramachandra
2011-12-14 16:21 ` Jonathan Nieder
2012-04-05 11:49 ` Ævar Arnfjörð Bjarmason
2012-04-05 12:15 ` Jonathan Nieder
2011-12-10 13:02 ` [PATCH 5/7] revert: do not remove state until sequence is finished Jonathan Nieder
2011-12-14 16:02 ` Ramkumar Ramachandra
2011-12-10 13:03 ` [PATCH 6/7] Revert "reset: Make reset remove the sequencer state" Jonathan Nieder
2011-12-14 16:06 ` Ramkumar Ramachandra
2011-12-10 13:06 ` [PATCH 7/7] revert: stop creating and removing sequencer-old directory Jonathan Nieder
2011-12-14 16:10 ` Ramkumar Ramachandra
2011-12-11 19:58 ` [RFC/PATCH 0/7] some sequencer loose ends (Re: Fix revert --abort on Windows) Jonathan Nieder
2011-12-12 8:15 ` Junio C Hamano
2011-12-12 21:31 ` Junio C Hamano
2011-12-14 9:57 ` Jonathan Nieder
2011-11-23 17:23 ` [PATCH] Fix revert --abort on Windows Alex Riesen
2011-11-30 22:52 ` [PATCH 5/3] revert: introduce --abort to cancel a failed cherry-pick Junio C Hamano
2011-11-22 11:20 ` [PATCH 6/3] revert: remove --reset compatibility option Jonathan Nieder
2011-11-22 21:49 ` Junio C Hamano
2011-11-22 23:11 ` Jonathan Nieder
2011-11-22 23:38 ` Junio C Hamano
2011-11-22 11:27 ` [PATCH v2 0/3] Re: cherry-pick/revert error messages Jonathan Nieder
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4ECCB3A2.5030102@viscovery.net \
--to=j.sixt@viscovery.net \
--cc=artagnon@gmail.com \
--cc=chriscool@tuxfamily.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jaysoffian@gmail.com \
--cc=jrnieder@gmail.com \
--cc=martin.von.zweigbergk@gmail.com \
--cc=phil.hord@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.