Merge branch 'sb/format-patch-patchname'
* sb/format-patch-patchname: format_sanitized_subject: Don't trim past initial length of strbuf log-tree: fix patch filename computation in "git format-patch" format-patch: --numbered-files and --stdout aren't mutually exclusive format-patch: --attach/inline uses filename instead of SHA1 format-patch: move get_patch_filename() into log-tree format-patch: pass a commit to reopen_stdout() format-patch: construct patch filename in one function pretty.c: add %f format specifier to format_commit_message()
This commit is contained in:
@ -121,6 +121,7 @@ The placeholders are:
|
|||||||
- '%d': ref names, like the --decorate option of linkgit:git-log[1]
|
- '%d': ref names, like the --decorate option of linkgit:git-log[1]
|
||||||
- '%e': encoding
|
- '%e': encoding
|
||||||
- '%s': subject
|
- '%s': subject
|
||||||
|
- '%f': sanitized subject line, suitable for a filename
|
||||||
- '%b': body
|
- '%b': body
|
||||||
- '%Cred': switch color to red
|
- '%Cred': switch color to red
|
||||||
- '%Cgreen': switch color to green
|
- '%Cgreen': switch color to green
|
||||||
|
131
builtin-log.c
131
builtin-log.c
@ -417,13 +417,6 @@ int cmd_log(int argc, const char **argv, const char *prefix)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* format-patch */
|
/* format-patch */
|
||||||
#define FORMAT_PATCH_NAME_MAX 64
|
|
||||||
|
|
||||||
static int istitlechar(char c)
|
|
||||||
{
|
|
||||||
return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') ||
|
|
||||||
(c >= '0' && c <= '9') || c == '.' || c == '_';
|
|
||||||
}
|
|
||||||
|
|
||||||
static const char *fmt_patch_suffix = ".patch";
|
static const char *fmt_patch_suffix = ".patch";
|
||||||
static int numbered = 0;
|
static int numbered = 0;
|
||||||
@ -523,92 +516,33 @@ static int git_format_config(const char *var, const char *value, void *cb)
|
|||||||
return git_log_config(var, value, cb);
|
return git_log_config(var, value, cb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static const char *get_oneline_for_filename(struct commit *commit,
|
|
||||||
int keep_subject)
|
|
||||||
{
|
|
||||||
static char filename[PATH_MAX];
|
|
||||||
char *sol;
|
|
||||||
int len = 0;
|
|
||||||
int suffix_len = strlen(fmt_patch_suffix) + 1;
|
|
||||||
|
|
||||||
sol = strstr(commit->buffer, "\n\n");
|
|
||||||
if (!sol)
|
|
||||||
filename[0] = '\0';
|
|
||||||
else {
|
|
||||||
int j, space = 0;
|
|
||||||
|
|
||||||
sol += 2;
|
|
||||||
/* strip [PATCH] or [PATCH blabla] */
|
|
||||||
if (!keep_subject && !prefixcmp(sol, "[PATCH")) {
|
|
||||||
char *eos = strchr(sol + 6, ']');
|
|
||||||
if (eos) {
|
|
||||||
while (isspace(*eos))
|
|
||||||
eos++;
|
|
||||||
sol = eos;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (j = 0;
|
|
||||||
j < FORMAT_PATCH_NAME_MAX - suffix_len - 5 &&
|
|
||||||
len < sizeof(filename) - suffix_len &&
|
|
||||||
sol[j] && sol[j] != '\n';
|
|
||||||
j++) {
|
|
||||||
if (istitlechar(sol[j])) {
|
|
||||||
if (space) {
|
|
||||||
filename[len++] = '-';
|
|
||||||
space = 0;
|
|
||||||
}
|
|
||||||
filename[len++] = sol[j];
|
|
||||||
if (sol[j] == '.')
|
|
||||||
while (sol[j + 1] == '.')
|
|
||||||
j++;
|
|
||||||
} else
|
|
||||||
space = 1;
|
|
||||||
}
|
|
||||||
while (filename[len - 1] == '.'
|
|
||||||
|| filename[len - 1] == '-')
|
|
||||||
len--;
|
|
||||||
filename[len] = '\0';
|
|
||||||
}
|
|
||||||
return filename;
|
|
||||||
}
|
|
||||||
|
|
||||||
static FILE *realstdout = NULL;
|
static FILE *realstdout = NULL;
|
||||||
static const char *output_directory = NULL;
|
static const char *output_directory = NULL;
|
||||||
static int outdir_offset;
|
static int outdir_offset;
|
||||||
|
|
||||||
static int reopen_stdout(const char *oneline, int nr, struct rev_info *rev)
|
static int reopen_stdout(struct commit *commit, struct rev_info *rev)
|
||||||
{
|
{
|
||||||
char filename[PATH_MAX];
|
struct strbuf filename = STRBUF_INIT;
|
||||||
int len = 0;
|
|
||||||
int suffix_len = strlen(fmt_patch_suffix) + 1;
|
int suffix_len = strlen(fmt_patch_suffix) + 1;
|
||||||
|
|
||||||
if (output_directory) {
|
if (output_directory) {
|
||||||
len = snprintf(filename, sizeof(filename), "%s",
|
strbuf_addstr(&filename, output_directory);
|
||||||
output_directory);
|
if (filename.len >=
|
||||||
if (len >=
|
PATH_MAX - FORMAT_PATCH_NAME_MAX - suffix_len)
|
||||||
sizeof(filename) - FORMAT_PATCH_NAME_MAX - suffix_len)
|
|
||||||
return error("name of output directory is too long");
|
return error("name of output directory is too long");
|
||||||
if (filename[len - 1] != '/')
|
if (filename.buf[filename.len - 1] != '/')
|
||||||
filename[len++] = '/';
|
strbuf_addch(&filename, '/');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!oneline)
|
get_patch_filename(commit, rev->nr, fmt_patch_suffix, &filename);
|
||||||
len += sprintf(filename + len, "%d", nr);
|
|
||||||
else {
|
|
||||||
len += sprintf(filename + len, "%04d-", nr);
|
|
||||||
len += snprintf(filename + len, sizeof(filename) - len - 1
|
|
||||||
- suffix_len, "%s", oneline);
|
|
||||||
strcpy(filename + len, fmt_patch_suffix);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!DIFF_OPT_TST(&rev->diffopt, QUIET))
|
if (!DIFF_OPT_TST(&rev->diffopt, QUIET))
|
||||||
fprintf(realstdout, "%s\n", filename + outdir_offset);
|
fprintf(realstdout, "%s\n", filename.buf + outdir_offset);
|
||||||
|
|
||||||
if (freopen(filename, "w", stdout) == NULL)
|
if (freopen(filename.buf, "w", stdout) == NULL)
|
||||||
return error("Cannot open patch file %s",filename);
|
return error("Cannot open patch file %s", filename.buf);
|
||||||
|
|
||||||
|
strbuf_release(&filename);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -678,7 +612,6 @@ static void make_cover_letter(struct rev_info *rev, int use_stdout,
|
|||||||
int nr, struct commit **list, struct commit *head)
|
int nr, struct commit **list, struct commit *head)
|
||||||
{
|
{
|
||||||
const char *committer;
|
const char *committer;
|
||||||
char *head_sha1;
|
|
||||||
const char *subject_start = NULL;
|
const char *subject_start = NULL;
|
||||||
const char *body = "*** SUBJECT HERE ***\n\n*** BLURB HERE ***\n";
|
const char *body = "*** SUBJECT HERE ***\n\n*** BLURB HERE ***\n";
|
||||||
const char *msg;
|
const char *msg;
|
||||||
@ -689,21 +622,41 @@ static void make_cover_letter(struct rev_info *rev, int use_stdout,
|
|||||||
const char *encoding = "utf-8";
|
const char *encoding = "utf-8";
|
||||||
struct diff_options opts;
|
struct diff_options opts;
|
||||||
int need_8bit_cte = 0;
|
int need_8bit_cte = 0;
|
||||||
|
struct commit *commit = NULL;
|
||||||
|
|
||||||
if (rev->commit_format != CMIT_FMT_EMAIL)
|
if (rev->commit_format != CMIT_FMT_EMAIL)
|
||||||
die("Cover letter needs email format");
|
die("Cover letter needs email format");
|
||||||
|
|
||||||
if (!use_stdout && reopen_stdout(numbered_files ?
|
committer = git_committer_info(0);
|
||||||
NULL : "cover-letter", 0, rev))
|
|
||||||
|
if (!numbered_files) {
|
||||||
|
/*
|
||||||
|
* We fake a commit for the cover letter so we get the filename
|
||||||
|
* desired.
|
||||||
|
*/
|
||||||
|
commit = xcalloc(1, sizeof(*commit));
|
||||||
|
commit->buffer = xmalloc(400);
|
||||||
|
snprintf(commit->buffer, 400,
|
||||||
|
"tree 0000000000000000000000000000000000000000\n"
|
||||||
|
"parent %s\n"
|
||||||
|
"author %s\n"
|
||||||
|
"committer %s\n\n"
|
||||||
|
"cover letter\n",
|
||||||
|
sha1_to_hex(head->object.sha1), committer, committer);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!use_stdout && reopen_stdout(commit, rev))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
head_sha1 = sha1_to_hex(head->object.sha1);
|
if (commit) {
|
||||||
|
|
||||||
log_write_email_headers(rev, head_sha1, &subject_start, &extra_headers,
|
free(commit->buffer);
|
||||||
|
free(commit);
|
||||||
|
}
|
||||||
|
|
||||||
|
log_write_email_headers(rev, head, &subject_start, &extra_headers,
|
||||||
&need_8bit_cte);
|
&need_8bit_cte);
|
||||||
|
|
||||||
committer = git_committer_info(0);
|
|
||||||
|
|
||||||
msg = body;
|
msg = body;
|
||||||
pp_user_info(NULL, CMIT_FMT_EMAIL, &sb, committer, DATE_RFC2822,
|
pp_user_info(NULL, CMIT_FMT_EMAIL, &sb, committer, DATE_RFC2822,
|
||||||
encoding);
|
encoding);
|
||||||
@ -1067,6 +1020,8 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
|
|||||||
const char *msgid = clean_message_id(in_reply_to);
|
const char *msgid = clean_message_id(in_reply_to);
|
||||||
string_list_append(msgid, rev.ref_message_ids);
|
string_list_append(msgid, rev.ref_message_ids);
|
||||||
}
|
}
|
||||||
|
rev.numbered_files = numbered_files;
|
||||||
|
rev.patch_suffix = fmt_patch_suffix;
|
||||||
if (cover_letter) {
|
if (cover_letter) {
|
||||||
if (thread)
|
if (thread)
|
||||||
gen_message_id(&rev, "cover");
|
gen_message_id(&rev, "cover");
|
||||||
@ -1115,9 +1070,9 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
|
|||||||
}
|
}
|
||||||
gen_message_id(&rev, sha1_to_hex(commit->object.sha1));
|
gen_message_id(&rev, sha1_to_hex(commit->object.sha1));
|
||||||
}
|
}
|
||||||
if (!use_stdout && reopen_stdout(numbered_files ? NULL :
|
|
||||||
get_oneline_for_filename(commit, keep_subject),
|
if (!use_stdout && reopen_stdout(numbered_files ? NULL : commit,
|
||||||
rev.nr, &rev))
|
&rev))
|
||||||
die("Failed to create output files");
|
die("Failed to create output files");
|
||||||
shown = log_tree_commit(&rev, commit);
|
shown = log_tree_commit(&rev, commit);
|
||||||
free(commit->buffer);
|
free(commit->buffer);
|
||||||
|
35
log-tree.c
35
log-tree.c
@ -179,13 +179,31 @@ static int has_non_ascii(const char *s)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void log_write_email_headers(struct rev_info *opt, const char *name,
|
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) {
|
||||||
|
int max_len = start_len + FORMAT_PATCH_NAME_MAX - suffix_len;
|
||||||
|
|
||||||
|
format_commit_message(commit, "%f", buf, DATE_NORMAL);
|
||||||
|
if (max_len < buf->len)
|
||||||
|
strbuf_setlen(buf, max_len);
|
||||||
|
strbuf_addstr(buf, suffix);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void log_write_email_headers(struct rev_info *opt, struct commit *commit,
|
||||||
const char **subject_p,
|
const char **subject_p,
|
||||||
const char **extra_headers_p,
|
const char **extra_headers_p,
|
||||||
int *need_8bit_cte_p)
|
int *need_8bit_cte_p)
|
||||||
{
|
{
|
||||||
const char *subject = NULL;
|
const char *subject = NULL;
|
||||||
const char *extra_headers = opt->extra_headers;
|
const char *extra_headers = opt->extra_headers;
|
||||||
|
const char *name = sha1_to_hex(commit->object.sha1);
|
||||||
|
|
||||||
*need_8bit_cte_p = 0; /* unknown */
|
*need_8bit_cte_p = 0; /* unknown */
|
||||||
if (opt->total > 0) {
|
if (opt->total > 0) {
|
||||||
@ -224,6 +242,7 @@ void log_write_email_headers(struct rev_info *opt, const char *name,
|
|||||||
if (opt->mime_boundary) {
|
if (opt->mime_boundary) {
|
||||||
static char subject_buffer[1024];
|
static char subject_buffer[1024];
|
||||||
static char buffer[1024];
|
static char buffer[1024];
|
||||||
|
struct strbuf filename = STRBUF_INIT;
|
||||||
*need_8bit_cte_p = -1; /* NEVER */
|
*need_8bit_cte_p = -1; /* NEVER */
|
||||||
snprintf(subject_buffer, sizeof(subject_buffer) - 1,
|
snprintf(subject_buffer, sizeof(subject_buffer) - 1,
|
||||||
"%s"
|
"%s"
|
||||||
@ -242,18 +261,21 @@ void log_write_email_headers(struct rev_info *opt, const char *name,
|
|||||||
mime_boundary_leader, opt->mime_boundary);
|
mime_boundary_leader, opt->mime_boundary);
|
||||||
extra_headers = subject_buffer;
|
extra_headers = subject_buffer;
|
||||||
|
|
||||||
|
get_patch_filename(opt->numbered_files ? NULL : commit, opt->nr,
|
||||||
|
opt->patch_suffix, &filename);
|
||||||
snprintf(buffer, sizeof(buffer) - 1,
|
snprintf(buffer, sizeof(buffer) - 1,
|
||||||
"\n--%s%s\n"
|
"\n--%s%s\n"
|
||||||
"Content-Type: text/x-patch;"
|
"Content-Type: text/x-patch;"
|
||||||
" name=\"%s.diff\"\n"
|
" name=\"%s\"\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Content-Disposition: %s;"
|
"Content-Disposition: %s;"
|
||||||
" filename=\"%s.diff\"\n\n",
|
" filename=\"%s\"\n\n",
|
||||||
mime_boundary_leader, opt->mime_boundary,
|
mime_boundary_leader, opt->mime_boundary,
|
||||||
name,
|
filename.buf,
|
||||||
opt->no_inline ? "attachment" : "inline",
|
opt->no_inline ? "attachment" : "inline",
|
||||||
name);
|
filename.buf);
|
||||||
opt->diffopt.stat_sep = buffer;
|
opt->diffopt.stat_sep = buffer;
|
||||||
|
strbuf_release(&filename);
|
||||||
}
|
}
|
||||||
*subject_p = subject;
|
*subject_p = subject;
|
||||||
*extra_headers_p = extra_headers;
|
*extra_headers_p = extra_headers;
|
||||||
@ -333,8 +355,7 @@ void show_log(struct rev_info *opt)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (opt->commit_format == CMIT_FMT_EMAIL) {
|
if (opt->commit_format == CMIT_FMT_EMAIL) {
|
||||||
log_write_email_headers(opt, sha1_to_hex(commit->object.sha1),
|
log_write_email_headers(opt, commit, &subject, &extra_headers,
|
||||||
&subject, &extra_headers,
|
|
||||||
&need_8bit_cte);
|
&need_8bit_cte);
|
||||||
} else if (opt->commit_format != CMIT_FMT_USERFORMAT) {
|
} else if (opt->commit_format != CMIT_FMT_USERFORMAT) {
|
||||||
fputs(diff_get_color_opt(&opt->diffopt, DIFF_COMMIT), stdout);
|
fputs(diff_get_color_opt(&opt->diffopt, DIFF_COMMIT), stdout);
|
||||||
|
@ -13,10 +13,14 @@ int log_tree_commit(struct rev_info *, struct commit *);
|
|||||||
int log_tree_opt_parse(struct rev_info *, const char **, int);
|
int log_tree_opt_parse(struct rev_info *, const char **, int);
|
||||||
void show_log(struct rev_info *opt);
|
void show_log(struct rev_info *opt);
|
||||||
void show_decorations(struct rev_info *opt, struct commit *commit);
|
void show_decorations(struct rev_info *opt, struct commit *commit);
|
||||||
void log_write_email_headers(struct rev_info *opt, const char *name,
|
void log_write_email_headers(struct rev_info *opt, struct commit *commit,
|
||||||
const char **subject_p,
|
const char **subject_p,
|
||||||
const char **extra_headers_p,
|
const char **extra_headers_p,
|
||||||
int *need_8bit_cte_p);
|
int *need_8bit_cte_p);
|
||||||
void load_ref_decorations(void);
|
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
|
#endif
|
||||||
|
37
pretty.c
37
pretty.c
@ -493,6 +493,40 @@ static void parse_commit_header(struct format_commit_context *context)
|
|||||||
context->commit_header_parsed = 1;
|
context->commit_header_parsed = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int istitlechar(char c)
|
||||||
|
{
|
||||||
|
return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') ||
|
||||||
|
(c >= '0' && c <= '9') || c == '.' || c == '_';
|
||||||
|
}
|
||||||
|
|
||||||
|
static void format_sanitized_subject(struct strbuf *sb, const char *msg)
|
||||||
|
{
|
||||||
|
size_t trimlen;
|
||||||
|
size_t start_len = sb->len;
|
||||||
|
int space = 2;
|
||||||
|
|
||||||
|
for (; *msg && *msg != '\n'; msg++) {
|
||||||
|
if (istitlechar(*msg)) {
|
||||||
|
if (space == 1)
|
||||||
|
strbuf_addch(sb, '-');
|
||||||
|
space = 0;
|
||||||
|
strbuf_addch(sb, *msg);
|
||||||
|
if (*msg == '.')
|
||||||
|
while (*(msg+1) == '.')
|
||||||
|
msg++;
|
||||||
|
} else
|
||||||
|
space |= 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* trim any trailing '.' or '-' characters */
|
||||||
|
trimlen = 0;
|
||||||
|
while (sb->len - trimlen > start_len &&
|
||||||
|
(sb->buf[sb->len - 1 - trimlen] == '.'
|
||||||
|
|| sb->buf[sb->len - 1 - trimlen] == '-'))
|
||||||
|
trimlen++;
|
||||||
|
strbuf_remove(sb, sb->len - trimlen, trimlen);
|
||||||
|
}
|
||||||
|
|
||||||
const char *format_subject(struct strbuf *sb, const char *msg,
|
const char *format_subject(struct strbuf *sb, const char *msg,
|
||||||
const char *line_separator)
|
const char *line_separator)
|
||||||
{
|
{
|
||||||
@ -683,6 +717,9 @@ static size_t format_commit_item(struct strbuf *sb, const char *placeholder,
|
|||||||
case 's': /* subject */
|
case 's': /* subject */
|
||||||
format_subject(sb, msg + c->subject_off, " ");
|
format_subject(sb, msg + c->subject_off, " ");
|
||||||
return 1;
|
return 1;
|
||||||
|
case 'f': /* sanitized subject */
|
||||||
|
format_sanitized_subject(sb, msg + c->subject_off);
|
||||||
|
return 1;
|
||||||
case 'b': /* body */
|
case 'b': /* body */
|
||||||
strbuf_addstr(sb, msg + c->body_off);
|
strbuf_addstr(sb, msg + c->body_off);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -85,6 +85,8 @@ struct rev_info {
|
|||||||
struct log_info *loginfo;
|
struct log_info *loginfo;
|
||||||
int nr, total;
|
int nr, total;
|
||||||
const char *mime_boundary;
|
const char *mime_boundary;
|
||||||
|
const char *patch_suffix;
|
||||||
|
int numbered_files;
|
||||||
char *message_id;
|
char *message_id;
|
||||||
struct string_list *ref_message_ids;
|
struct string_list *ref_message_ids;
|
||||||
const char *add_signoff;
|
const char *add_signoff;
|
||||||
|
@ -246,11 +246,12 @@ format-patch --stdout initial..master
|
|||||||
format-patch --stdout --no-numbered initial..master
|
format-patch --stdout --no-numbered initial..master
|
||||||
format-patch --stdout --numbered initial..master
|
format-patch --stdout --numbered initial..master
|
||||||
format-patch --attach --stdout initial..side
|
format-patch --attach --stdout initial..side
|
||||||
|
format-patch --attach --stdout --suffix=.diff initial..side
|
||||||
format-patch --attach --stdout initial..master^
|
format-patch --attach --stdout initial..master^
|
||||||
format-patch --attach --stdout initial..master
|
format-patch --attach --stdout initial..master
|
||||||
format-patch --inline --stdout initial..side
|
format-patch --inline --stdout initial..side
|
||||||
format-patch --inline --stdout initial..master^
|
format-patch --inline --stdout initial..master^
|
||||||
format-patch --inline --stdout initial..master
|
format-patch --inline --stdout --numbered-files initial..master
|
||||||
format-patch --inline --stdout initial..master
|
format-patch --inline --stdout initial..master
|
||||||
format-patch --inline --stdout --subject-prefix=TESTCASE initial..master
|
format-patch --inline --stdout --subject-prefix=TESTCASE initial..master
|
||||||
config format.subjectprefix DIFFERENT_PREFIX
|
config format.subjectprefix DIFFERENT_PREFIX
|
||||||
|
@ -0,0 +1,61 @@
|
|||||||
|
$ git format-patch --attach --stdout --suffix=.diff initial..side
|
||||||
|
From c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a Mon Sep 17 00:00:00 2001
|
||||||
|
From: A U Thor <author@example.com>
|
||||||
|
Date: Mon, 26 Jun 2006 00:03:00 +0000
|
||||||
|
Subject: [PATCH] Side
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: multipart/mixed; boundary="------------g-i-t--v-e-r-s-i-o-n"
|
||||||
|
|
||||||
|
This is a multi-part message in MIME format.
|
||||||
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
|
Content-Type: text/plain; charset=UTF-8; format=fixed
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
---
|
||||||
|
dir/sub | 2 ++
|
||||||
|
file0 | 3 +++
|
||||||
|
file3 | 4 ++++
|
||||||
|
3 files changed, 9 insertions(+), 0 deletions(-)
|
||||||
|
create mode 100644 file3
|
||||||
|
|
||||||
|
|
||||||
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
|
Content-Type: text/x-patch; name="0001-Side.diff"
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
Content-Disposition: attachment; filename="0001-Side.diff"
|
||||||
|
|
||||||
|
diff --git a/dir/sub b/dir/sub
|
||||||
|
index 35d242b..7289e35 100644
|
||||||
|
--- a/dir/sub
|
||||||
|
+++ b/dir/sub
|
||||||
|
@@ -1,2 +1,4 @@
|
||||||
|
A
|
||||||
|
B
|
||||||
|
+1
|
||||||
|
+2
|
||||||
|
diff --git a/file0 b/file0
|
||||||
|
index 01e79c3..f4615da 100644
|
||||||
|
--- a/file0
|
||||||
|
+++ b/file0
|
||||||
|
@@ -1,3 +1,6 @@
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
+A
|
||||||
|
+B
|
||||||
|
+C
|
||||||
|
diff --git a/file3 b/file3
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..7289e35
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/file3
|
||||||
|
@@ -0,0 +1,4 @@
|
||||||
|
+A
|
||||||
|
+B
|
||||||
|
+1
|
||||||
|
+2
|
||||||
|
|
||||||
|
--------------g-i-t--v-e-r-s-i-o-n--
|
||||||
|
|
||||||
|
|
||||||
|
$
|
@ -22,9 +22,9 @@ This is the second commit.
|
|||||||
|
|
||||||
|
|
||||||
--------------g-i-t--v-e-r-s-i-o-n
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
Content-Type: text/x-patch; name="1bde4ae5f36c8d9abe3a0fce0c6aab3c4a12fe44.diff"
|
Content-Type: text/x-patch; name="0001-Second.patch"
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
Content-Disposition: attachment; filename="1bde4ae5f36c8d9abe3a0fce0c6aab3c4a12fe44.diff"
|
Content-Disposition: attachment; filename="0001-Second.patch"
|
||||||
|
|
||||||
diff --git a/dir/sub b/dir/sub
|
diff --git a/dir/sub b/dir/sub
|
||||||
index 35d242b..8422d40 100644
|
index 35d242b..8422d40 100644
|
||||||
@ -80,9 +80,9 @@ Content-Transfer-Encoding: 8bit
|
|||||||
|
|
||||||
|
|
||||||
--------------g-i-t--v-e-r-s-i-o-n
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
Content-Type: text/x-patch; name="9a6d4949b6b76956d9d5e26f2791ec2ceff5fdc0.diff"
|
Content-Type: text/x-patch; name="0002-Third.patch"
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
Content-Disposition: attachment; filename="9a6d4949b6b76956d9d5e26f2791ec2ceff5fdc0.diff"
|
Content-Disposition: attachment; filename="0002-Third.patch"
|
||||||
|
|
||||||
diff --git a/dir/sub b/dir/sub
|
diff --git a/dir/sub b/dir/sub
|
||||||
index 8422d40..cead32e 100644
|
index 8422d40..cead32e 100644
|
||||||
@ -129,9 +129,9 @@ Content-Transfer-Encoding: 8bit
|
|||||||
|
|
||||||
|
|
||||||
--------------g-i-t--v-e-r-s-i-o-n
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
Content-Type: text/x-patch; name="c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a.diff"
|
Content-Type: text/x-patch; name="0003-Side.patch"
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
Content-Disposition: attachment; filename="c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a.diff"
|
Content-Disposition: attachment; filename="0003-Side.patch"
|
||||||
|
|
||||||
diff --git a/dir/sub b/dir/sub
|
diff --git a/dir/sub b/dir/sub
|
||||||
index 35d242b..7289e35 100644
|
index 35d242b..7289e35 100644
|
||||||
|
@ -22,9 +22,9 @@ This is the second commit.
|
|||||||
|
|
||||||
|
|
||||||
--------------g-i-t--v-e-r-s-i-o-n
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
Content-Type: text/x-patch; name="1bde4ae5f36c8d9abe3a0fce0c6aab3c4a12fe44.diff"
|
Content-Type: text/x-patch; name="0001-Second.patch"
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
Content-Disposition: attachment; filename="1bde4ae5f36c8d9abe3a0fce0c6aab3c4a12fe44.diff"
|
Content-Disposition: attachment; filename="0001-Second.patch"
|
||||||
|
|
||||||
diff --git a/dir/sub b/dir/sub
|
diff --git a/dir/sub b/dir/sub
|
||||||
index 35d242b..8422d40 100644
|
index 35d242b..8422d40 100644
|
||||||
@ -80,9 +80,9 @@ Content-Transfer-Encoding: 8bit
|
|||||||
|
|
||||||
|
|
||||||
--------------g-i-t--v-e-r-s-i-o-n
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
Content-Type: text/x-patch; name="9a6d4949b6b76956d9d5e26f2791ec2ceff5fdc0.diff"
|
Content-Type: text/x-patch; name="0002-Third.patch"
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
Content-Disposition: attachment; filename="9a6d4949b6b76956d9d5e26f2791ec2ceff5fdc0.diff"
|
Content-Disposition: attachment; filename="0002-Third.patch"
|
||||||
|
|
||||||
diff --git a/dir/sub b/dir/sub
|
diff --git a/dir/sub b/dir/sub
|
||||||
index 8422d40..cead32e 100644
|
index 8422d40..cead32e 100644
|
||||||
|
@ -20,9 +20,9 @@ Content-Transfer-Encoding: 8bit
|
|||||||
|
|
||||||
|
|
||||||
--------------g-i-t--v-e-r-s-i-o-n
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
Content-Type: text/x-patch; name="c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a.diff"
|
Content-Type: text/x-patch; name="0001-Side.patch"
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
Content-Disposition: attachment; filename="c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a.diff"
|
Content-Disposition: attachment; filename="0001-Side.patch"
|
||||||
|
|
||||||
diff --git a/dir/sub b/dir/sub
|
diff --git a/dir/sub b/dir/sub
|
||||||
index 35d242b..7289e35 100644
|
index 35d242b..7289e35 100644
|
||||||
|
@ -0,0 +1,170 @@
|
|||||||
|
$ git format-patch --inline --stdout --numbered-files initial..master
|
||||||
|
From 1bde4ae5f36c8d9abe3a0fce0c6aab3c4a12fe44 Mon Sep 17 00:00:00 2001
|
||||||
|
From: A U Thor <author@example.com>
|
||||||
|
Date: Mon, 26 Jun 2006 00:01:00 +0000
|
||||||
|
Subject: [PATCH 1/3] Second
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: multipart/mixed; boundary="------------g-i-t--v-e-r-s-i-o-n"
|
||||||
|
|
||||||
|
This is a multi-part message in MIME format.
|
||||||
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
|
Content-Type: text/plain; charset=UTF-8; format=fixed
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
|
||||||
|
This is the second commit.
|
||||||
|
---
|
||||||
|
dir/sub | 2 ++
|
||||||
|
file0 | 3 +++
|
||||||
|
file2 | 3 ---
|
||||||
|
3 files changed, 5 insertions(+), 3 deletions(-)
|
||||||
|
delete mode 100644 file2
|
||||||
|
|
||||||
|
|
||||||
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
|
Content-Type: text/x-patch; name="1"
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
Content-Disposition: inline; filename="1"
|
||||||
|
|
||||||
|
diff --git a/dir/sub b/dir/sub
|
||||||
|
index 35d242b..8422d40 100644
|
||||||
|
--- a/dir/sub
|
||||||
|
+++ b/dir/sub
|
||||||
|
@@ -1,2 +1,4 @@
|
||||||
|
A
|
||||||
|
B
|
||||||
|
+C
|
||||||
|
+D
|
||||||
|
diff --git a/file0 b/file0
|
||||||
|
index 01e79c3..b414108 100644
|
||||||
|
--- a/file0
|
||||||
|
+++ b/file0
|
||||||
|
@@ -1,3 +1,6 @@
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
+4
|
||||||
|
+5
|
||||||
|
+6
|
||||||
|
diff --git a/file2 b/file2
|
||||||
|
deleted file mode 100644
|
||||||
|
index 01e79c3..0000000
|
||||||
|
--- a/file2
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,3 +0,0 @@
|
||||||
|
-1
|
||||||
|
-2
|
||||||
|
-3
|
||||||
|
|
||||||
|
--------------g-i-t--v-e-r-s-i-o-n--
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
From 9a6d4949b6b76956d9d5e26f2791ec2ceff5fdc0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: A U Thor <author@example.com>
|
||||||
|
Date: Mon, 26 Jun 2006 00:02:00 +0000
|
||||||
|
Subject: [PATCH 2/3] Third
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: multipart/mixed; boundary="------------g-i-t--v-e-r-s-i-o-n"
|
||||||
|
|
||||||
|
This is a multi-part message in MIME format.
|
||||||
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
|
Content-Type: text/plain; charset=UTF-8; format=fixed
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
---
|
||||||
|
dir/sub | 2 ++
|
||||||
|
file1 | 3 +++
|
||||||
|
2 files changed, 5 insertions(+), 0 deletions(-)
|
||||||
|
create mode 100644 file1
|
||||||
|
|
||||||
|
|
||||||
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
|
Content-Type: text/x-patch; name="2"
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
Content-Disposition: inline; filename="2"
|
||||||
|
|
||||||
|
diff --git a/dir/sub b/dir/sub
|
||||||
|
index 8422d40..cead32e 100644
|
||||||
|
--- a/dir/sub
|
||||||
|
+++ b/dir/sub
|
||||||
|
@@ -2,3 +2,5 @@ A
|
||||||
|
B
|
||||||
|
C
|
||||||
|
D
|
||||||
|
+E
|
||||||
|
+F
|
||||||
|
diff --git a/file1 b/file1
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..b1e6722
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/file1
|
||||||
|
@@ -0,0 +1,3 @@
|
||||||
|
+A
|
||||||
|
+B
|
||||||
|
+C
|
||||||
|
|
||||||
|
--------------g-i-t--v-e-r-s-i-o-n--
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
From c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a Mon Sep 17 00:00:00 2001
|
||||||
|
From: A U Thor <author@example.com>
|
||||||
|
Date: Mon, 26 Jun 2006 00:03:00 +0000
|
||||||
|
Subject: [PATCH 3/3] Side
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: multipart/mixed; boundary="------------g-i-t--v-e-r-s-i-o-n"
|
||||||
|
|
||||||
|
This is a multi-part message in MIME format.
|
||||||
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
|
Content-Type: text/plain; charset=UTF-8; format=fixed
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
---
|
||||||
|
dir/sub | 2 ++
|
||||||
|
file0 | 3 +++
|
||||||
|
file3 | 4 ++++
|
||||||
|
3 files changed, 9 insertions(+), 0 deletions(-)
|
||||||
|
create mode 100644 file3
|
||||||
|
|
||||||
|
|
||||||
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
|
Content-Type: text/x-patch; name="3"
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
Content-Disposition: inline; filename="3"
|
||||||
|
|
||||||
|
diff --git a/dir/sub b/dir/sub
|
||||||
|
index 35d242b..7289e35 100644
|
||||||
|
--- a/dir/sub
|
||||||
|
+++ b/dir/sub
|
||||||
|
@@ -1,2 +1,4 @@
|
||||||
|
A
|
||||||
|
B
|
||||||
|
+1
|
||||||
|
+2
|
||||||
|
diff --git a/file0 b/file0
|
||||||
|
index 01e79c3..f4615da 100644
|
||||||
|
--- a/file0
|
||||||
|
+++ b/file0
|
||||||
|
@@ -1,3 +1,6 @@
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
+A
|
||||||
|
+B
|
||||||
|
+C
|
||||||
|
diff --git a/file3 b/file3
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..7289e35
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/file3
|
||||||
|
@@ -0,0 +1,4 @@
|
||||||
|
+A
|
||||||
|
+B
|
||||||
|
+1
|
||||||
|
+2
|
||||||
|
|
||||||
|
--------------g-i-t--v-e-r-s-i-o-n--
|
||||||
|
|
||||||
|
|
||||||
|
$
|
@ -22,9 +22,9 @@ This is the second commit.
|
|||||||
|
|
||||||
|
|
||||||
--------------g-i-t--v-e-r-s-i-o-n
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
Content-Type: text/x-patch; name="1bde4ae5f36c8d9abe3a0fce0c6aab3c4a12fe44.diff"
|
Content-Type: text/x-patch; name="0001-Second.patch"
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
Content-Disposition: inline; filename="1bde4ae5f36c8d9abe3a0fce0c6aab3c4a12fe44.diff"
|
Content-Disposition: inline; filename="0001-Second.patch"
|
||||||
|
|
||||||
diff --git a/dir/sub b/dir/sub
|
diff --git a/dir/sub b/dir/sub
|
||||||
index 35d242b..8422d40 100644
|
index 35d242b..8422d40 100644
|
||||||
@ -80,9 +80,9 @@ Content-Transfer-Encoding: 8bit
|
|||||||
|
|
||||||
|
|
||||||
--------------g-i-t--v-e-r-s-i-o-n
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
Content-Type: text/x-patch; name="9a6d4949b6b76956d9d5e26f2791ec2ceff5fdc0.diff"
|
Content-Type: text/x-patch; name="0002-Third.patch"
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
Content-Disposition: inline; filename="9a6d4949b6b76956d9d5e26f2791ec2ceff5fdc0.diff"
|
Content-Disposition: inline; filename="0002-Third.patch"
|
||||||
|
|
||||||
diff --git a/dir/sub b/dir/sub
|
diff --git a/dir/sub b/dir/sub
|
||||||
index 8422d40..cead32e 100644
|
index 8422d40..cead32e 100644
|
||||||
@ -129,9 +129,9 @@ Content-Transfer-Encoding: 8bit
|
|||||||
|
|
||||||
|
|
||||||
--------------g-i-t--v-e-r-s-i-o-n
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
Content-Type: text/x-patch; name="c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a.diff"
|
Content-Type: text/x-patch; name="0003-Side.patch"
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
Content-Disposition: inline; filename="c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a.diff"
|
Content-Disposition: inline; filename="0003-Side.patch"
|
||||||
|
|
||||||
diff --git a/dir/sub b/dir/sub
|
diff --git a/dir/sub b/dir/sub
|
||||||
index 35d242b..7289e35 100644
|
index 35d242b..7289e35 100644
|
||||||
|
@ -22,9 +22,9 @@ This is the second commit.
|
|||||||
|
|
||||||
|
|
||||||
--------------g-i-t--v-e-r-s-i-o-n
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
Content-Type: text/x-patch; name="1bde4ae5f36c8d9abe3a0fce0c6aab3c4a12fe44.diff"
|
Content-Type: text/x-patch; name="0001-Second.patch"
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
Content-Disposition: inline; filename="1bde4ae5f36c8d9abe3a0fce0c6aab3c4a12fe44.diff"
|
Content-Disposition: inline; filename="0001-Second.patch"
|
||||||
|
|
||||||
diff --git a/dir/sub b/dir/sub
|
diff --git a/dir/sub b/dir/sub
|
||||||
index 35d242b..8422d40 100644
|
index 35d242b..8422d40 100644
|
||||||
@ -80,9 +80,9 @@ Content-Transfer-Encoding: 8bit
|
|||||||
|
|
||||||
|
|
||||||
--------------g-i-t--v-e-r-s-i-o-n
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
Content-Type: text/x-patch; name="9a6d4949b6b76956d9d5e26f2791ec2ceff5fdc0.diff"
|
Content-Type: text/x-patch; name="0002-Third.patch"
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
Content-Disposition: inline; filename="9a6d4949b6b76956d9d5e26f2791ec2ceff5fdc0.diff"
|
Content-Disposition: inline; filename="0002-Third.patch"
|
||||||
|
|
||||||
diff --git a/dir/sub b/dir/sub
|
diff --git a/dir/sub b/dir/sub
|
||||||
index 8422d40..cead32e 100644
|
index 8422d40..cead32e 100644
|
||||||
@ -129,9 +129,9 @@ Content-Transfer-Encoding: 8bit
|
|||||||
|
|
||||||
|
|
||||||
--------------g-i-t--v-e-r-s-i-o-n
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
Content-Type: text/x-patch; name="c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a.diff"
|
Content-Type: text/x-patch; name="0003-Side.patch"
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
Content-Disposition: inline; filename="c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a.diff"
|
Content-Disposition: inline; filename="0003-Side.patch"
|
||||||
|
|
||||||
diff --git a/dir/sub b/dir/sub
|
diff --git a/dir/sub b/dir/sub
|
||||||
index 35d242b..7289e35 100644
|
index 35d242b..7289e35 100644
|
||||||
|
@ -22,9 +22,9 @@ This is the second commit.
|
|||||||
|
|
||||||
|
|
||||||
--------------g-i-t--v-e-r-s-i-o-n
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
Content-Type: text/x-patch; name="1bde4ae5f36c8d9abe3a0fce0c6aab3c4a12fe44.diff"
|
Content-Type: text/x-patch; name="0001-Second.patch"
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
Content-Disposition: inline; filename="1bde4ae5f36c8d9abe3a0fce0c6aab3c4a12fe44.diff"
|
Content-Disposition: inline; filename="0001-Second.patch"
|
||||||
|
|
||||||
diff --git a/dir/sub b/dir/sub
|
diff --git a/dir/sub b/dir/sub
|
||||||
index 35d242b..8422d40 100644
|
index 35d242b..8422d40 100644
|
||||||
@ -80,9 +80,9 @@ Content-Transfer-Encoding: 8bit
|
|||||||
|
|
||||||
|
|
||||||
--------------g-i-t--v-e-r-s-i-o-n
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
Content-Type: text/x-patch; name="9a6d4949b6b76956d9d5e26f2791ec2ceff5fdc0.diff"
|
Content-Type: text/x-patch; name="0002-Third.patch"
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
Content-Disposition: inline; filename="9a6d4949b6b76956d9d5e26f2791ec2ceff5fdc0.diff"
|
Content-Disposition: inline; filename="0002-Third.patch"
|
||||||
|
|
||||||
diff --git a/dir/sub b/dir/sub
|
diff --git a/dir/sub b/dir/sub
|
||||||
index 8422d40..cead32e 100644
|
index 8422d40..cead32e 100644
|
||||||
|
@ -22,9 +22,9 @@ This is the second commit.
|
|||||||
|
|
||||||
|
|
||||||
--------------g-i-t--v-e-r-s-i-o-n
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
Content-Type: text/x-patch; name="1bde4ae5f36c8d9abe3a0fce0c6aab3c4a12fe44.diff"
|
Content-Type: text/x-patch; name="0001-Second.patch"
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
Content-Disposition: inline; filename="1bde4ae5f36c8d9abe3a0fce0c6aab3c4a12fe44.diff"
|
Content-Disposition: inline; filename="0001-Second.patch"
|
||||||
|
|
||||||
diff --git a/dir/sub b/dir/sub
|
diff --git a/dir/sub b/dir/sub
|
||||||
index 35d242b..8422d40 100644
|
index 35d242b..8422d40 100644
|
||||||
|
@ -20,9 +20,9 @@ Content-Transfer-Encoding: 8bit
|
|||||||
|
|
||||||
|
|
||||||
--------------g-i-t--v-e-r-s-i-o-n
|
--------------g-i-t--v-e-r-s-i-o-n
|
||||||
Content-Type: text/x-patch; name="c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a.diff"
|
Content-Type: text/x-patch; name="0001-Side.patch"
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
Content-Disposition: inline; filename="c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a.diff"
|
Content-Disposition: inline; filename="0001-Side.patch"
|
||||||
|
|
||||||
diff --git a/dir/sub b/dir/sub
|
diff --git a/dir/sub b/dir/sub
|
||||||
index 35d242b..7289e35 100644
|
index 35d242b..7289e35 100644
|
||||||
|
Reference in New Issue
Block a user