From: Junio C Hamano <gitster@pobox.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: git@vger.kernel.org, "Jakub Narębski" <jnareb@gmail.com>,
"Johannes Sixt" <j6t@kdbg.org>, "René Scharfe" <l.s.r@web.de>
Subject: Re* [PATCH v3 05/25] sequencer: eventually release memory allocated for the option values
Date: Wed, 12 Oct 2016 11:20:23 -0700 [thread overview]
Message-ID: <xmqqk2dd4efs.fsf_-_@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <alpine.DEB.2.20.1610121405410.3492@virtualbox> (Johannes Schindelin's message of "Wed, 12 Oct 2016 14:06:09 +0200 (CEST)")
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> On Tue, 11 Oct 2016, Junio C Hamano wrote:
>
>> The only reason why the OPT_STRDUP appeared convenient was because
>> options[] element happened to use a field in the structure directly.
>> The patch under discussion does an equivalent of
>>
>> app.x_field = xstrdup_or_null(opt_x);
>
> Oh, that xstrdup_or_null() function slipped by me. My local patches use it
> now.
It has slipped many people ;-)
-- >8 --
Subject: cocci: refactor common patterns to use xstrdup_or_null()
d64ea0f83b ("git-compat-util: add xstrdup_or_null helper",
2015-01-12) added a handy wrapper that allows us to get a duplicate
of a string or NULL if the original is NULL, but a handful of
codepath predate its introduction or just weren't aware of it.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
contrib/coccinelle/xstrdup_or_null.cocci | 7 +++++++
git.c | 3 +--
imap-send.c | 6 ++----
mailmap.c | 6 ++----
refs.c | 3 +--
send-pack.c | 3 +--
trailer.c | 9 +++------
7 files changed, 17 insertions(+), 20 deletions(-)
diff --git a/contrib/coccinelle/xstrdup_or_null.cocci b/contrib/coccinelle/xstrdup_or_null.cocci
new file mode 100644
index 0000000000..3fceef132b
--- /dev/null
+++ b/contrib/coccinelle/xstrdup_or_null.cocci
@@ -0,0 +1,7 @@
+@@
+expression E;
+expression V;
+@@
+- if (E)
+- V = xstrdup(E);
++ V = xstrdup_or_null(E);
diff --git a/git.c b/git.c
index 0f1937fd0c..f914490e14 100644
--- a/git.c
+++ b/git.c
@@ -35,8 +35,7 @@ static void save_env_before_alias(void)
orig_cwd = xgetcwd();
for (i = 0; i < ARRAY_SIZE(env_names); i++) {
orig_env[i] = getenv(env_names[i]);
- if (orig_env[i])
- orig_env[i] = xstrdup(orig_env[i]);
+ orig_env[i] = xstrdup_or_null(orig_env[i]);
}
}
diff --git a/imap-send.c b/imap-send.c
index 0f5f4760e9..9514ddc565 100644
--- a/imap-send.c
+++ b/imap-send.c
@@ -1082,10 +1082,8 @@ static struct imap_store *imap_open_store(struct imap_server_conf *srvc, char *f
cred.protocol = xstrdup(srvc->use_ssl ? "imaps" : "imap");
cred.host = xstrdup(srvc->host);
- if (srvc->user)
- cred.username = xstrdup(srvc->user);
- if (srvc->pass)
- cred.password = xstrdup(srvc->pass);
+ cred.username = xstrdup_or_null(srvc->user);
+ cred.password = xstrdup_or_null(srvc->pass);
credential_fill(&cred);
diff --git a/mailmap.c b/mailmap.c
index b5c521fdea..c1a79c100c 100644
--- a/mailmap.c
+++ b/mailmap.c
@@ -103,10 +103,8 @@ static void add_mapping(struct string_list *map,
} else {
struct mailmap_info *mi = xcalloc(1, sizeof(struct mailmap_info));
debug_mm("mailmap: adding (complex) entry for '%s'\n", old_email);
- if (new_name)
- mi->name = xstrdup(new_name);
- if (new_email)
- mi->email = xstrdup(new_email);
+ mi->name = xstrdup_or_null(new_name);
+ mi->email = xstrdup_or_null(new_email);
string_list_insert(&me->namemap, old_name)->util = mi;
}
diff --git a/refs.c b/refs.c
index b4e7cac7b2..62055ab091 100644
--- a/refs.c
+++ b/refs.c
@@ -791,8 +791,7 @@ struct ref_update *ref_transaction_add_update(
hashcpy(update->new_sha1, new_sha1);
if (flags & REF_HAVE_OLD)
hashcpy(update->old_sha1, old_sha1);
- if (msg)
- update->msg = xstrdup(msg);
+ update->msg = xstrdup_or_null(msg);
return update;
}
diff --git a/send-pack.c b/send-pack.c
index 90f2ac51a7..6195b43e9a 100644
--- a/send-pack.c
+++ b/send-pack.c
@@ -181,8 +181,7 @@ static int receive_status(int in, struct ref *refs)
hint->status = REF_STATUS_REMOTE_REJECT;
ret = -1;
}
- if (msg)
- hint->remote_status = xstrdup(msg);
+ hint->remote_status = xstrdup_or_null(msg);
/* start our next search from the next ref */
hint = hint->next;
}
diff --git a/trailer.c b/trailer.c
index c6ea9ac64d..aecaf9232a 100644
--- a/trailer.c
+++ b/trailer.c
@@ -428,12 +428,9 @@ static int set_if_missing(struct conf_info *item, const char *value)
static void duplicate_conf(struct conf_info *dst, struct conf_info *src)
{
*dst = *src;
- if (src->name)
- dst->name = xstrdup(src->name);
- if (src->key)
- dst->key = xstrdup(src->key);
- if (src->command)
- dst->command = xstrdup(src->command);
+ dst->name = xstrdup_or_null(src->name);
+ dst->key = xstrdup_or_null(src->key);
+ dst->command = xstrdup_or_null(src->command);
}
static struct trailer_item *get_conf_item(const char *name)
next prev parent reply other threads:[~2016-10-12 18:20 UTC|newest]
Thread overview: 352+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-29 8:03 [PATCH 00/22] Prepare the sequencer for the upcoming rebase -i patches Johannes Schindelin
2016-08-29 8:03 ` [PATCH 01/22] sequencer: use static initializers for replay_opts Johannes Schindelin
2016-08-29 9:19 ` Dennis Kaarsemaker
2016-08-29 10:54 ` Johannes Schindelin
2016-08-29 17:41 ` Jakub Narębski
2016-08-29 17:06 ` Johannes Schindelin
2016-08-29 8:04 ` [PATCH 02/22] sequencer: use memoized sequencer directory path Johannes Schindelin
2016-08-29 19:54 ` Jakub Narębski
2016-08-29 17:10 ` Johannes Schindelin
2016-08-29 8:04 ` [PATCH 03/22] sequencer: avoid unnecessary indirection Johannes Schindelin
2016-08-29 20:22 ` Jakub Narębski
2016-08-29 17:15 ` Johannes Schindelin
2016-08-29 8:04 ` [PATCH 04/22] sequencer: future-proof remove_sequencer_state() Johannes Schindelin
2016-08-29 9:24 ` Dennis Kaarsemaker
2016-08-29 10:58 ` Johannes Schindelin
2016-08-29 11:19 ` Johannes Schindelin
2016-08-29 8:04 ` [PATCH 05/22] sequencer: allow the sequencer to take custody of malloc()ed data Johannes Schindelin
2016-08-29 21:59 ` Jakub Narębski
2016-08-30 5:33 ` Johannes Sixt
2016-08-30 7:30 ` Johannes Schindelin
2016-08-30 7:29 ` Johannes Schindelin
2016-08-30 11:08 ` Jakub Narębski
2016-08-30 18:25 ` Junio C Hamano
2016-08-31 8:20 ` Johannes Schindelin
2016-08-29 8:04 ` [PATCH 06/22] sequencer: release memory that was allocated when reading options Johannes Schindelin
2016-08-30 14:54 ` Jakub Narębski
2016-08-30 17:52 ` Johannes Schindelin
2016-08-30 20:46 ` Johannes Sixt
2016-08-30 22:07 ` Junio C Hamano
2016-08-30 22:00 ` Jakub Narębski
2016-08-30 18:30 ` Junio C Hamano
2016-08-31 8:07 ` Johannes Schindelin
2016-08-29 8:04 ` [PATCH 07/22] sequencer: future-proof read_populate_todo() Johannes Schindelin
2016-08-30 16:07 ` Jakub Narębski
2016-08-30 16:48 ` Johannes Schindelin
2016-08-29 8:04 ` [PATCH 08/22] sequencer: remove overzealous assumption Johannes Schindelin
2016-08-31 13:41 ` Jakub Narębski
2016-08-31 18:36 ` Johannes Schindelin
2016-08-31 18:46 ` Jakub Narębski
2016-09-01 8:01 ` Johannes Schindelin
2016-09-01 20:00 ` Jakub Narębski
2016-08-31 19:01 ` Junio C Hamano
2016-09-01 8:02 ` Johannes Schindelin
2016-08-29 8:05 ` [PATCH 09/22] sequencer: completely revamp the "todo" script parsing Johannes Schindelin
2016-08-31 17:29 ` Jakub Narębski
2016-08-31 23:03 ` Stefan Beller
2016-09-01 6:35 ` Johannes Schindelin
2016-09-01 18:37 ` Junio C Hamano
2016-09-01 7:49 ` Johannes Schindelin
2016-09-01 22:05 ` Jakub Narębski
2016-09-09 14:12 ` Johannes Schindelin
2016-08-29 8:05 ` [PATCH 10/22] sequencer: avoid completely different messages for different actions Johannes Schindelin
2016-08-31 17:58 ` Jakub Narębski
2016-09-01 7:52 ` Johannes Schindelin
2016-09-01 22:33 ` Jakub Narębski
2016-09-09 14:23 ` Johannes Schindelin
2016-08-29 8:05 ` [PATCH 11/22] sequencer: get rid of the subcommand field Johannes Schindelin
2016-08-31 18:24 ` Jakub Narębski
2016-09-01 7:55 ` Johannes Schindelin
2016-08-29 8:05 ` [PATCH 12/22] sequencer: refactor the code to obtain a short commit name Johannes Schindelin
2016-08-29 9:39 ` Dennis Kaarsemaker
2016-08-29 11:04 ` Johannes Schindelin
2016-08-29 8:05 ` [PATCH 13/22] sequencer: remember the onelines when parsing the todo file Johannes Schindelin
2016-08-31 18:37 ` Jakub Narębski
2016-08-31 19:10 ` Junio C Hamano
2016-08-31 19:24 ` Jakub Narębski
2016-08-31 19:42 ` Junio C Hamano
2016-09-01 13:14 ` Johannes Schindelin
2016-09-01 13:12 ` Johannes Schindelin
2016-09-01 22:52 ` Jakub Narębski
2016-09-01 9:37 ` Johannes Schindelin
2016-09-01 18:47 ` Junio C Hamano
2016-09-09 15:12 ` Johannes Schindelin
2016-09-09 19:06 ` Jakub Narębski
2016-09-11 8:33 ` Git garden shears, was " Johannes Schindelin
2016-09-21 13:17 ` Jakub Narębski
2016-09-25 18:16 ` Johannes Schindelin
2016-09-01 22:46 ` Jakub Narębski
2016-09-01 22:59 ` Junio C Hamano
2016-09-09 14:27 ` Johannes Schindelin
2016-09-01 8:45 ` Johannes Schindelin
2016-08-29 8:06 ` [PATCH 14/22] sequencer: prepare for rebase -i's commit functionality Johannes Schindelin
2016-08-29 21:32 ` Junio C Hamano
2016-08-30 6:53 ` Johannes Schindelin
2016-08-30 17:32 ` Junio C Hamano
2016-08-30 18:18 ` Johannes Schindelin
2016-08-30 22:35 ` Junio C Hamano
2016-08-31 8:19 ` Johannes Schindelin
2016-08-29 8:06 ` [PATCH 15/22] sequencer: introduce a helper to read files written by scripts Johannes Schindelin
2016-08-29 9:47 ` Dennis Kaarsemaker
2016-08-29 11:08 ` Johannes Schindelin
2016-08-29 8:06 ` [PATCH 16/22] sequencer: prepare for rebase -i's GPG settings Johannes Schindelin
2016-08-31 20:10 ` Jakub Narębski
2016-08-31 20:12 ` Junio C Hamano
2016-08-31 20:29 ` Jakub Narębski
2016-08-31 20:33 ` Junio C Hamano
2016-09-01 13:35 ` Johannes Schindelin
2016-09-01 13:33 ` Johannes Schindelin
2016-09-01 13:33 ` Johannes Schindelin
2016-09-01 23:21 ` Jakub Narębski
2016-08-29 8:06 ` [PATCH 17/22] sequencer: allow editing the commit message on a case-by-case basis Johannes Schindelin
2016-08-31 20:56 ` Jakub Narębski
2016-09-01 13:40 ` Johannes Schindelin
2016-08-29 8:06 ` [PATCH 18/22] sequencer: support amending commits Johannes Schindelin
2016-08-31 21:08 ` Jakub Narębski
2016-09-01 13:42 ` Johannes Schindelin
2016-08-29 8:06 ` [PATCH 19/22] sequencer: support cleaning up commit messages Johannes Schindelin
2016-09-01 10:31 ` Jakub Narębski
2016-09-01 13:56 ` Johannes Schindelin
2016-09-01 23:31 ` Jakub Narębski
2016-08-29 8:06 ` [PATCH 20/22] sequencer: remember do_recursive_merge()'s return value Johannes Schindelin
2016-08-29 9:51 ` Dennis Kaarsemaker
2016-08-29 11:09 ` Johannes Schindelin
2016-08-29 20:32 ` Jakub Narębski
2016-08-29 21:13 ` Junio C Hamano
2016-08-29 8:06 ` [PATCH 21/22] sequencer: left-trim the lines read from the script Johannes Schindelin
2016-09-01 10:50 ` Jakub Narębski
2016-09-01 14:13 ` Johannes Schindelin
2016-09-01 17:58 ` Junio C Hamano
2016-09-09 15:08 ` Johannes Schindelin
2016-09-01 23:33 ` Jakub Narębski
2016-09-09 14:31 ` Johannes Schindelin
2016-08-29 8:06 ` [PATCH 22/22] sequencer: refactor write_message() Johannes Schindelin
2016-09-01 11:10 ` Jakub Narębski
2016-09-01 14:20 ` Johannes Schindelin
2016-09-01 23:35 ` Jakub Narębski
2016-09-09 14:40 ` Johannes Schindelin
2016-09-09 19:11 ` Jakub Narębski
2016-09-11 8:26 ` Johannes Schindelin
2016-08-29 9:56 ` [PATCH 00/22] Prepare the sequencer for the upcoming rebase -i patches Dennis Kaarsemaker
2016-08-29 11:10 ` Johannes Schindelin
2016-09-02 11:41 ` Jakub Narębski
2016-09-02 13:56 ` Johannes Schindelin
2016-09-11 10:52 ` [PATCH v2 00/25] " Johannes Schindelin
2016-09-11 10:52 ` [PATCH v2 01/25] sequencer: use static initializers for replay_opts Johannes Schindelin
2016-09-12 19:46 ` Junio C Hamano
2016-09-11 10:52 ` [PATCH v2 02/25] sequencer: use memoized sequencer directory path Johannes Schindelin
2016-09-12 19:48 ` Junio C Hamano
2016-09-11 10:52 ` [PATCH v2 03/25] sequencer: avoid unnecessary indirection Johannes Schindelin
2016-09-12 19:49 ` Junio C Hamano
2016-09-11 10:53 ` [PATCH v2 04/25] sequencer: future-proof remove_sequencer_state() Johannes Schindelin
2016-09-12 19:53 ` Junio C Hamano
2016-10-05 11:46 ` Johannes Schindelin
2016-10-05 17:41 ` Junio C Hamano
2016-09-11 10:53 ` [PATCH v2 05/25] sequencer: allow the sequencer to take custody of malloc()ed data Johannes Schindelin
2016-09-12 19:46 ` Junio C Hamano
2016-10-05 11:41 ` Johannes Schindelin
2016-10-06 19:23 ` Junio C Hamano
2016-10-06 22:40 ` Jakub Narębski
2016-10-06 22:53 ` Junio C Hamano
2016-10-08 9:11 ` Johannes Schindelin
2016-09-11 10:53 ` [PATCH v2 06/25] sequencer: release memory that was allocated when reading options Johannes Schindelin
2016-09-11 10:53 ` [PATCH v2 07/25] sequencer: future-proof read_populate_todo() Johannes Schindelin
2016-09-11 10:53 ` [PATCH v2 08/25] sequencer: completely revamp the "todo" script parsing Johannes Schindelin
2016-09-11 10:53 ` [PATCH v2 09/25] sequencer: avoid completely different messages for different actions Johannes Schindelin
2016-09-11 10:53 ` [PATCH v2 10/25] sequencer: get rid of the subcommand field Johannes Schindelin
2016-09-15 19:15 ` Junio C Hamano
2016-09-11 10:54 ` [PATCH v2 11/25] sequencer: refactor the code to obtain a short commit name Johannes Schindelin
2016-09-11 10:54 ` [PATCH v2 12/25] sequencer: remember the onelines when parsing the todo file Johannes Schindelin
2016-09-11 10:54 ` [PATCH v2 13/25] sequencer: prepare for rebase -i's commit functionality Johannes Schindelin
2016-09-11 10:54 ` [PATCH v2 14/25] sequencer: introduce a helper to read files written by scripts Johannes Schindelin
2016-09-11 10:54 ` [PATCH v2 15/25] sequencer: prepare for rebase -i's GPG settings Johannes Schindelin
2016-09-11 10:54 ` [PATCH v2 16/25] sequencer: allow editing the commit message on a case-by-case basis Johannes Schindelin
2016-09-11 10:55 ` [PATCH v2 17/25] sequencer: support amending commits Johannes Schindelin
2016-09-12 21:36 ` Junio C Hamano
2016-10-05 12:41 ` Johannes Schindelin
2016-09-11 10:55 ` [PATCH v2 18/25] sequencer: support cleaning up commit messages Johannes Schindelin
2016-09-12 21:33 ` Junio C Hamano
2016-09-11 10:55 ` [PATCH v2 19/25] sequencer: remember do_recursive_merge()'s return value Johannes Schindelin
2016-09-12 21:23 ` Junio C Hamano
2016-10-05 12:35 ` Johannes Schindelin
2016-10-05 17:43 ` Junio C Hamano
2016-09-11 10:55 ` [PATCH v2 20/25] sequencer: left-trim lines read from the script Johannes Schindelin
2016-09-11 23:39 ` Junio C Hamano
2016-09-12 8:23 ` Johannes Schindelin
2016-09-12 15:42 ` Junio C Hamano
2016-10-06 13:08 ` Johannes Schindelin
2016-10-06 16:23 ` Johannes Sixt
2016-10-06 18:41 ` Junio C Hamano
2016-10-09 8:57 ` Johannes Schindelin
2016-10-09 10:45 ` Johannes Sixt
2016-09-11 10:55 ` [PATCH v2 21/25] sequencer: refactor write_message() Johannes Schindelin
2016-09-11 23:38 ` Junio C Hamano
2016-09-12 8:35 ` Johannes Sixt
2016-09-15 19:21 ` Junio C Hamano
2016-10-05 13:08 ` Johannes Schindelin
2016-09-11 10:55 ` [PATCH v2 22/25] sequencer: remove overzealous assumption in rebase -i mode Johannes Schindelin
2016-09-11 23:35 ` Junio C Hamano
2016-09-11 10:55 ` [PATCH v2 23/25] sequencer: mark action_name() for translation Johannes Schindelin
2016-09-11 10:55 ` [PATCH v2 24/25] sequencer: quote filenames in error messages Johannes Schindelin
2016-09-11 23:33 ` Junio C Hamano
2016-10-06 13:41 ` Johannes Schindelin
2016-09-11 10:56 ` [PATCH v2 25/25] sequencer: remove bogus hint for translators Johannes Schindelin
2016-09-11 23:30 ` Junio C Hamano
2016-10-06 14:18 ` Johannes Schindelin
2016-10-10 17:24 ` [PATCH v3 00/25] Prepare the sequencer for the upcoming rebase -i patches Johannes Schindelin
2016-10-10 17:24 ` [PATCH v3 01/25] sequencer: use static initializers for replay_opts Johannes Schindelin
2016-10-10 22:14 ` Junio C Hamano
2016-10-10 17:24 ` [PATCH v3 02/25] sequencer: use memoized sequencer directory path Johannes Schindelin
2016-10-10 17:24 ` [PATCH v3 03/25] sequencer: avoid unnecessary indirection Johannes Schindelin
2016-10-10 22:14 ` Junio C Hamano
2016-10-10 17:24 ` [PATCH v3 04/25] sequencer: future-proof remove_sequencer_state() Johannes Schindelin
2016-10-10 17:24 ` [PATCH v3 05/25] sequencer: eventually release memory allocated for the option values Johannes Schindelin
2016-10-10 22:18 ` Junio C Hamano
2016-10-11 10:07 ` Johannes Schindelin
2016-10-11 16:30 ` Junio C Hamano
2016-10-12 12:06 ` Johannes Schindelin
2016-10-12 18:20 ` Junio C Hamano [this message]
2016-10-13 10:51 ` Re* " Johannes Schindelin
2016-10-10 17:24 ` [PATCH v3 06/25] sequencer: future-proof read_populate_todo() Johannes Schindelin
2016-10-10 17:25 ` [PATCH v3 07/25] sequencer: completely revamp the "todo" script parsing Johannes Schindelin
2016-10-10 22:13 ` Junio C Hamano
2016-10-11 10:20 ` Johannes Schindelin
2016-10-11 10:22 ` Johannes Schindelin
2016-10-11 10:55 ` Johannes Schindelin
2016-10-11 16:58 ` Junio C Hamano
2016-10-11 16:54 ` Junio C Hamano
2016-10-15 17:03 ` Torsten Bögershausen
2016-10-15 17:19 ` Jeff King
2016-10-15 17:40 ` Torsten Bögershausen
2016-10-15 17:46 ` Jeff King
2016-10-16 8:09 ` Johannes Schindelin
2016-10-16 19:42 ` Jeff King
2016-10-17 8:37 ` Johannes Schindelin
2016-10-17 9:36 ` Jeff King
2016-10-10 17:25 ` [PATCH v3 08/25] sequencer: strip CR from the todo script Johannes Schindelin
2016-10-11 18:54 ` Junio C Hamano
2016-10-12 11:46 ` Johannes Schindelin
2016-10-10 17:25 ` [PATCH v3 09/25] sequencer: avoid completely different messages for different actions Johannes Schindelin
2016-10-10 17:25 ` [PATCH v3 10/25] sequencer: get rid of the subcommand field Johannes Schindelin
2016-10-10 17:25 ` [PATCH v3 11/25] sequencer: refactor the code to obtain a short commit name Johannes Schindelin
2016-10-10 17:25 ` [PATCH v3 12/25] sequencer: remember the onelines when parsing the todo file Johannes Schindelin
2016-10-11 19:07 ` Junio C Hamano
2016-10-12 11:49 ` Johannes Schindelin
2016-10-12 16:24 ` Junio C Hamano
2016-10-13 10:41 ` Johannes Schindelin
2016-10-10 17:25 ` [PATCH v3 13/25] sequencer: prepare for rebase -i's commit functionality Johannes Schindelin
2016-10-11 19:17 ` Junio C Hamano
2016-10-12 12:00 ` Johannes Schindelin
2016-10-12 16:55 ` Junio C Hamano
2016-10-13 10:50 ` Johannes Schindelin
2016-10-14 16:41 ` Junio C Hamano
2016-10-10 17:25 ` [PATCH v3 14/25] sequencer: introduce a helper to read files written by scripts Johannes Schindelin
2016-10-17 17:17 ` Junio C Hamano
2016-10-18 11:42 ` Johannes Schindelin
2016-10-18 15:54 ` Junio C Hamano
2016-10-20 12:07 ` Johannes Schindelin
2016-10-10 17:25 ` [PATCH v3 15/25] sequencer: allow editing the commit message on a case-by-case basis Johannes Schindelin
2016-10-17 17:18 ` Junio C Hamano
2016-10-10 17:25 ` [PATCH v3 16/25] sequencer: support amending commits Johannes Schindelin
2016-10-17 17:22 ` Junio C Hamano
2016-10-18 11:53 ` Johannes Schindelin
2016-10-18 15:56 ` Junio C Hamano
2016-10-10 17:26 ` [PATCH v3 17/25] sequencer: support cleaning up commit messages Johannes Schindelin
2016-10-10 17:26 ` [PATCH v3 18/25] sequencer: do not try to commit when there were merge conflicts Johannes Schindelin
2016-10-10 17:26 ` [PATCH v3 19/25] sequencer: left-trim lines read from the script Johannes Schindelin
2016-10-10 17:26 ` [PATCH v3 20/25] sequencer: refactor write_message() Johannes Schindelin
2016-10-10 17:26 ` [PATCH v3 21/25] sequencer: remove overzealous assumption in rebase -i mode Johannes Schindelin
2016-10-10 17:26 ` [PATCH v3 22/25] sequencer: mark action_name() for translation Johannes Schindelin
2016-10-10 17:26 ` [PATCH v3 23/25] sequencer: quote filenames in error messages Johannes Schindelin
2016-10-10 17:26 ` [PATCH v3 24/25] sequencer: start error messages consistently with lower case Johannes Schindelin
2016-10-10 17:26 ` [PATCH v3 25/25] sequencer: mark all error messages for translation Johannes Schindelin
2016-10-12 20:46 ` Johannes Sixt
2016-10-12 21:24 ` Junio C Hamano
2016-10-13 14:56 ` Johannes Schindelin
2016-10-13 20:35 ` Johannes Sixt
2016-10-14 13:15 ` [PATCH v4 00/25] Prepare the sequencer for the upcoming rebase -i patches Johannes Schindelin
2016-10-14 13:15 ` [PATCH v4 01/25] sequencer: use static initializers for replay_opts Johannes Schindelin
2016-10-14 13:17 ` [PATCH v4 02/25] sequencer: use memoized sequencer directory path Johannes Schindelin
2016-10-14 13:17 ` [PATCH v4 03/25] sequencer: avoid unnecessary indirection Johannes Schindelin
2016-10-14 13:17 ` [PATCH v4 04/25] sequencer: future-proof remove_sequencer_state() Johannes Schindelin
2016-10-14 13:17 ` [PATCH v4 05/25] sequencer: eventually release memory allocated for the option values Johannes Schindelin
2016-10-17 19:06 ` Junio C Hamano
2016-10-18 12:03 ` Johannes Schindelin
2016-10-19 1:12 ` Junio C Hamano
2016-10-20 12:16 ` Johannes Schindelin
2016-10-14 13:17 ` [PATCH v4 06/25] sequencer: future-proof read_populate_todo() Johannes Schindelin
2016-10-14 13:17 ` [PATCH v4 07/25] sequencer: refactor the code to obtain a short commit name Johannes Schindelin
2016-10-14 13:17 ` [PATCH v4 08/25] sequencer: completely revamp the "todo" script parsing Johannes Schindelin
2016-10-17 22:33 ` Junio C Hamano
2016-10-18 12:25 ` Johannes Schindelin
2016-10-14 13:17 ` [PATCH v4 09/25] sequencer: strip CR from the todo script Johannes Schindelin
2016-10-14 13:17 ` [PATCH v4 10/25] sequencer: avoid completely different messages for different actions Johannes Schindelin
2016-10-14 13:18 ` [PATCH v4 11/25] sequencer: get rid of the subcommand field Johannes Schindelin
2016-10-14 13:18 ` [PATCH v4 12/25] sequencer: remember the onelines when parsing the todo file Johannes Schindelin
2016-10-14 13:18 ` [PATCH v4 13/25] sequencer: prepare for rebase -i's commit functionality Johannes Schindelin
2016-10-14 13:18 ` [PATCH v4 14/25] sequencer: introduce a helper to read files written by scripts Johannes Schindelin
2016-10-14 13:18 ` [PATCH v4 15/25] sequencer: allow editing the commit message on a case-by-case basis Johannes Schindelin
2016-10-14 13:18 ` [PATCH v4 16/25] sequencer: support amending commits Johannes Schindelin
2016-10-14 13:18 ` [PATCH v4 17/25] sequencer: support cleaning up commit messages Johannes Schindelin
2016-10-20 20:06 ` Junio C Hamano
2016-10-14 13:18 ` [PATCH v4 18/25] sequencer: do not try to commit when there were merge conflicts Johannes Schindelin
2016-10-20 20:11 ` Junio C Hamano
2016-10-21 11:10 ` Johannes Schindelin
2016-10-14 13:18 ` [PATCH v4 19/25] sequencer: left-trim lines read from the script Johannes Schindelin
2016-10-14 13:18 ` [PATCH v4 20/25] sequencer: refactor write_message() Johannes Schindelin
2016-10-20 20:22 ` Junio C Hamano
2016-10-20 20:26 ` Junio C Hamano
2016-10-21 11:43 ` Johannes Schindelin
2016-10-21 15:40 ` Junio C Hamano
2016-10-23 9:29 ` Johannes Schindelin
2016-10-14 13:18 ` [PATCH v4 21/25] sequencer: remove overzealous assumption in rebase -i mode Johannes Schindelin
2016-10-14 13:19 ` [PATCH v4 22/25] sequencer: mark action_name() for translation Johannes Schindelin
2016-10-14 13:19 ` [PATCH v4 23/25] sequencer: quote filenames in error messages Johannes Schindelin
2016-10-20 20:27 ` Junio C Hamano
2016-10-20 20:28 ` Junio C Hamano
2016-10-14 13:19 ` [PATCH v4 24/25] sequencer: start error messages consistently with lower case Johannes Schindelin
2016-10-14 13:19 ` [PATCH v4 25/25] sequencer: mark all error messages for translation Johannes Schindelin
2016-10-17 19:08 ` [PATCH v4 00/25] Prepare the sequencer for the upcoming rebase -i patches Junio C Hamano
2016-10-21 12:23 ` [PATCH v5 00/27] " Johannes Schindelin
2016-10-21 12:23 ` [PATCH v5 01/27] sequencer: use static initializers for replay_opts Johannes Schindelin
2016-10-21 12:23 ` [PATCH v5 02/27] sequencer: use memoized sequencer directory path Johannes Schindelin
2016-10-21 12:24 ` [PATCH v5 03/27] sequencer: avoid unnecessary indirection Johannes Schindelin
2016-10-21 12:24 ` [PATCH v5 04/27] sequencer: future-proof remove_sequencer_state() Johannes Schindelin
2016-10-21 12:24 ` [PATCH v5 05/27] sequencer: plug memory leaks for the option values Johannes Schindelin
2016-10-21 12:24 ` [PATCH v5 06/27] sequencer: future-proof read_populate_todo() Johannes Schindelin
2016-10-21 12:24 ` [PATCH v5 07/27] sequencer: refactor the code to obtain a short commit name Johannes Schindelin
2016-10-21 12:24 ` [PATCH v5 08/27] sequencer: completely revamp the "todo" script parsing Johannes Schindelin
2016-11-06 14:05 ` Lars Schneider
2016-10-21 12:24 ` [PATCH v5 09/27] sequencer: strip CR from the todo script Johannes Schindelin
2016-10-21 12:24 ` [PATCH v5 10/27] sequencer: avoid completely different messages for different actions Johannes Schindelin
2016-10-21 12:24 ` [PATCH v5 11/27] sequencer: get rid of the subcommand field Johannes Schindelin
2016-10-21 12:25 ` [PATCH v5 12/27] sequencer: remember the onelines when parsing the todo file Johannes Schindelin
2016-10-21 12:25 ` [PATCH v5 13/27] sequencer: prepare for rebase -i's commit functionality Johannes Schindelin
2016-10-21 12:25 ` [PATCH v5 14/27] sequencer: introduce a helper to read files written by scripts Johannes Schindelin
2016-10-21 12:25 ` [PATCH v5 15/27] sequencer: allow editing the commit message on a case-by-case basis Johannes Schindelin
2016-10-21 12:25 ` [PATCH v5 16/27] sequencer: support amending commits Johannes Schindelin
2016-10-21 12:25 ` [PATCH v5 17/27] sequencer: support cleaning up commit messages Johannes Schindelin
2016-10-21 12:25 ` [PATCH v5 18/27] sequencer: left-trim lines read from the script Johannes Schindelin
2016-10-21 12:25 ` [PATCH v5 19/27] sequencer: stop releasing the strbuf in write_message() Johannes Schindelin
2016-10-21 18:30 ` Junio C Hamano
2016-10-21 12:26 ` [PATCH v5 20/27] sequencer: roll back lock file if write_message() failed Johannes Schindelin
2016-10-21 12:26 ` [PATCH v5 21/27] sequencer: refactor write_message() to take a pointer/length Johannes Schindelin
2016-10-21 12:26 ` [PATCH v5 22/27] sequencer: teach write_message() to append an optional LF Johannes Schindelin
2016-10-21 18:32 ` Junio C Hamano
2016-10-23 9:34 ` Johannes Schindelin
2016-10-21 12:26 ` [PATCH v5 23/27] sequencer: remove overzealous assumption in rebase -i mode Johannes Schindelin
2016-10-21 12:26 ` [PATCH v5 24/27] sequencer: mark action_name() for translation Johannes Schindelin
2016-10-21 12:26 ` [PATCH v5 25/27] sequencer: quote filenames in error messages Johannes Schindelin
2016-10-21 12:26 ` [PATCH v5 26/27] sequencer: start error messages consistently with lower case Johannes Schindelin
2016-10-21 12:26 ` [PATCH v5 27/27] sequencer: mark all error messages for translation Johannes Schindelin
2016-10-21 18:40 ` [PATCH v5 00/27] Prepare the sequencer for the upcoming rebase -i patches Junio C Hamano
2016-10-23 9:50 ` Johannes Schindelin
2016-10-24 20:00 ` Junio C Hamano
2016-10-22 17:11 ` Junio C Hamano
2016-10-23 9:54 ` Johannes Schindelin
2016-10-23 9:58 ` Johannes Schindelin
2016-10-24 12:24 ` Max Horn
2016-10-24 14:02 ` Johannes Schindelin
2016-10-24 20:03 ` Junio C Hamano
2016-10-24 19:36 ` Stefan Beller
2016-10-24 20:16 ` Junio C Hamano
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
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqk2dd4efs.fsf_-_@gitster.mtv.corp.google.com \
--to=gitster@pobox.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=j6t@kdbg.org \
--cc=jnareb@gmail.com \
--cc=l.s.r@web.de \
/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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).