summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin-log.c24
-rw-r--r--log-tree.c22
-rw-r--r--log-tree.h4
3 files changed, 26 insertions, 24 deletions
diff --git a/builtin-log.c b/builtin-log.c
index 6a27ce6958..4f438db4c1 100644
--- a/builtin-log.c
+++ b/builtin-log.c
@@ -417,7 +417,6 @@ int cmd_log(int argc, const char **argv, const char *prefix)
}
/* format-patch */
-#define FORMAT_PATCH_NAME_MAX 64
static const char *fmt_patch_suffix = ".patch";
static int numbered = 0;
@@ -512,29 +511,6 @@ static int git_format_config(const char *var, const char *value, void *cb)
return git_log_config(var, value, cb);
}
-
-static void get_patch_filename(struct commit *commit, int nr,
- const char *suffix, struct strbuf *buf)
-{
- int suffix_len = strlen(suffix) + 1;
- int start_len = buf->len;
-
- strbuf_addf(buf, commit ? "%04d-" : "%d", nr);
- if (commit) {
- format_commit_message(commit, "%f", buf, DATE_NORMAL);
- /*
- * Replace characters at the end with the suffix if the
- * filename is too long
- */
- if (buf->len + suffix_len > FORMAT_PATCH_NAME_MAX + start_len)
- strbuf_splice(buf,
- start_len + FORMAT_PATCH_NAME_MAX - suffix_len,
- suffix_len, suffix, suffix_len);
- else
- strbuf_addstr(buf, suffix);
- }
-}
-
static FILE *realstdout = NULL;
static const char *output_directory = NULL;
static int outdir_offset;
diff --git a/log-tree.c b/log-tree.c
index 9565c184db..aee9995531 100644
--- a/log-tree.c
+++ b/log-tree.c
@@ -179,6 +179,28 @@ static int has_non_ascii(const char *s)
return 0;
}
+void get_patch_filename(struct commit *commit, int nr, const char *suffix,
+ struct strbuf *buf)
+{
+ int suffix_len = strlen(suffix) + 1;
+ int start_len = buf->len;
+
+ strbuf_addf(buf, commit ? "%04d-" : "%d", nr);
+ if (commit) {
+ format_commit_message(commit, "%f", buf, DATE_NORMAL);
+ /*
+ * Replace characters at the end with the suffix if the
+ * filename is too long
+ */
+ if (buf->len + suffix_len > FORMAT_PATCH_NAME_MAX + start_len)
+ strbuf_splice(buf,
+ start_len + FORMAT_PATCH_NAME_MAX - suffix_len,
+ suffix_len, suffix, suffix_len);
+ else
+ strbuf_addstr(buf, suffix);
+ }
+}
+
void log_write_email_headers(struct rev_info *opt, const char *name,
const char **subject_p,
const char **extra_headers_p,
diff --git a/log-tree.h b/log-tree.h
index f2a90084ae..78dc5be76f 100644
--- a/log-tree.h
+++ b/log-tree.h
@@ -19,4 +19,8 @@ void log_write_email_headers(struct rev_info *opt, const char *name,
int *need_8bit_cte_p);
void load_ref_decorations(void);
+#define FORMAT_PATCH_NAME_MAX 64
+void get_patch_filename(struct commit *commit, int nr, const char *suffix,
+ struct strbuf *buf);
+
#endif