From: Junio C Hamano <gitster@pobox.com>
To: git@vger.kernel.org
Cc: Jeff King <peff@peff.net>, Paul Tan <pyokagan@gmail.com>
Subject: [PATCH 0/5] "am" state file fix with write_file() clean-up
Date: Mon, 24 Aug 2015 10:09:41 -0700 [thread overview]
Message-ID: <1440436186-7894-1-git-send-email-gitster@pobox.com> (raw)
In-Reply-To: <20150824065033.GA4124@sigill.intra.peff.net>
So here is an solution based on the "write_file() is primarily to
produce text, so it should be able to correct the incomplete line
at the end" approach.
The first one is Peff's idea to consolidate callers in "am", in a
more concrete form.
The second is the fix to $gmane/276238.
The remainder is to clean up write_file() helper function. All
callers except for two were passing 1 as one parameter, whose
meaning was not all obvious to a casual reader.
In patch 3/5, we flip the default behaviour of write_file() to die
upon error unless explicitly asked not to with WRITE_FILE_GENTLY
flag, and change the two oddball callers to pass this new flag.
In patch 4/5, we enhance the default behaviour of write_file() to
complete an incomplete line at the end, unless asked not to with
WRITE_FILE_BINARY flag; nobody passes this because all existing
callers want to produce a text file.
In patch 5/5, the transitional noise left by patches 3 and 4 are
cleaned up by updating the non-binary callers not to add LF
themselves and by changing the callers that pass 1 as flags
parameter to pass 0 (as bit (1<<0) is a no-op since patch 3/5).
The series is built on top of b5e8235, the current tip of the
pt/am-builtin-options topic.
Junio C Hamano (5):
builtin/am: introduce write_state_*() helper functions
builtin/am: make sure state files are text
write_file(): introduce an explicit WRITE_FILE_GENTLY request
write_file(): do not leave incomplete line at the end
write_file(): clean up transitional mess of flag words and terminating LF
builtin/am.c | 68 ++++++++++++++++++++++++++++++++----------------------
builtin/init-db.c | 2 +-
builtin/worktree.c | 10 ++++----
cache.h | 16 ++++++++++++-
daemon.c | 2 +-
setup.c | 2 +-
submodule.c | 2 +-
transport.c | 2 +-
wrapper.c | 13 +++++++++--
9 files changed, 77 insertions(+), 40 deletions(-)
--
2.5.0-568-g53a3e28
next prev parent reply other threads:[~2015-08-24 17:09 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-20 13:22 Minor builtin 'git am' side-effect SZEDER Gábor
2015-08-20 18:40 ` Junio C Hamano
2015-08-23 5:50 ` [PATCH] am: terminate state files with a newline Paul Tan
2015-08-23 12:30 ` SZEDER Gábor
2015-08-23 19:05 ` Junio C Hamano
2015-08-24 5:13 ` Jeff King
2015-08-24 6:48 ` Junio C Hamano
2015-08-24 6:50 ` Jeff King
2015-08-24 17:09 ` Junio C Hamano [this message]
2015-08-24 17:09 ` [PATCH 1/5] builtin/am: introduce write_state_*() helper functions Junio C Hamano
2015-08-24 17:09 ` [PATCH 2/5] builtin/am: make sure state files are text Junio C Hamano
2015-08-24 17:09 ` [PATCH 3/5] write_file(): introduce an explicit WRITE_FILE_GENTLY request Junio C Hamano
2015-08-24 18:41 ` Junio C Hamano
2015-08-25 10:08 ` Duy Nguyen
2015-08-25 10:30 ` [PATCH] setup: update the right file in multiple checkouts Nguyễn Thái Ngọc Duy
2015-08-25 16:38 ` Junio C Hamano
2015-08-31 10:29 ` Duy Nguyen
2015-08-24 17:09 ` [PATCH 4/5] write_file(): do not leave incomplete line at the end Junio C Hamano
2015-08-24 17:09 ` [PATCH 5/5] write_file(): clean up transitional mess of flag words and terminating LF Junio C Hamano
2015-08-24 17:41 ` [PATCH 0/5] "am" state file fix with write_file() clean-up Jeff King
2015-08-24 18:15 ` Junio C Hamano
2015-08-24 18:35 ` Jeff King
2015-08-24 19:57 ` Junio C Hamano
2015-08-24 20:58 ` [PATCH v2 0/6] " Junio C Hamano
2015-08-24 20:58 ` [PATCH v2 1/6] builtin/am: introduce write_state_*() helper functions Junio C Hamano
2015-08-24 20:58 ` [PATCH v2 2/6] builtin/am: make sure state files are text Junio C Hamano
2015-08-24 23:55 ` Jeff King
2015-08-25 16:19 ` Junio C Hamano
2015-08-25 16:47 ` Jeff King
2015-08-25 18:41 ` Junio C Hamano
2015-08-24 20:58 ` [PATCH v2 3/6] write_file(): drop "fatal" parameter Junio C Hamano
2015-08-24 20:58 ` [PATCH v2 4/6] write_file_v(): do not leave incomplete line at the end Junio C Hamano
2015-08-24 20:58 ` [PATCH v2 5/6] write_file(): drop caller-supplied LF from calls to create a one-liner file Junio C Hamano
2015-08-24 20:58 ` [PATCH v2 6/6] write_file(): drop caller-supplied LF from multi-line file Junio C Hamano
2015-08-25 0:02 ` [PATCH v2 0/6] "am" state file fix with write_file() clean-up Jeff King
2015-08-24 23:36 ` [PATCH] am: terminate state files with a newline brian m. carlson
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=1440436186-7894-1-git-send-email-gitster@pobox.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
--cc=pyokagan@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.