summaryrefslogtreecommitdiff
path: root/devel/subversion/files/extra-patch-fbsd-template
diff options
context:
space:
mode:
Diffstat (limited to 'devel/subversion/files/extra-patch-fbsd-template')
-rw-r--r--devel/subversion/files/extra-patch-fbsd-template121
1 files changed, 121 insertions, 0 deletions
diff --git a/devel/subversion/files/extra-patch-fbsd-template b/devel/subversion/files/extra-patch-fbsd-template
new file mode 100644
index 000000000000..f6ed26f3e98a
--- /dev/null
+++ b/devel/subversion/files/extra-patch-fbsd-template
@@ -0,0 +1,121 @@
+diff -ruN subversion/svn/util.c subversion/svn/util.c
+--- subversion/svn/util.c 2011-06-28 21:10:44.000000000 +0400
++++ subversion/svn/util.c 2011-09-07 21:47:19.000000000 +0400
+@@ -682,6 +682,67 @@
+ }
+
+
++/*
++ * Since we're adding freebsd-specific tokens to the log message,
++ * clean out any leftovers to avoid accidently sending them to other
++ * projects that won't be expecting them.
++ */
++
++#define NPREFIX 7
++char *prefixes[NPREFIX] = {
++ "PR:",
++ "Submitted by:",
++ "Reviewed by:",
++ "Approved by:",
++ "Obtained from:",
++ "MFC after:",
++ "Security:",
++};
++
++void
++cleanmsg(apr_size_t *l, char *s)
++{
++ int i;
++ char *pos;
++ char *kw;
++ char *p;
++ int empty;
++
++ for (i = 0; i < NPREFIX; i++) {
++ pos = s;
++ while ((kw = strstr(pos, prefixes[i])) != NULL) {
++ /* Check to see if keyword is at start of line (or buffer) */
++ if (!(kw == s || kw[-1] == '\r' || kw[-1] == '\n')) {
++ pos = kw + 1;
++ continue;
++ }
++ p = kw + strlen(prefixes[i]);
++ empty = 1;
++ while (1) {
++ if (*p == ' ' || *p == '\t') {
++ p++;
++ continue;
++ }
++ if (*p == '\0' || *p == '\r' || *p == '\n')
++ break;
++ empty = 0;
++ break;
++ }
++ if (empty && (*p == '\r' || *p == '\n')) {
++ memmove(kw, p + 1, strlen(p + 1) + 1);
++ if (l)
++ *l -= (p + 1 - kw);
++ } else if (empty) {
++ *kw = '\0';
++ if (l)
++ *l -= (p - kw);
++ } else {
++ pos = p;
++ }
++ }
++ }
++}
++
+ #define EDITOR_EOF_PREFIX _("--This line, and those below, will be ignored--")
+
+ svn_error_t *
+@@ -697,8 +758,26 @@
+
+ /* Set default message. */
+ default_msg = svn_stringbuf_create(APR_EOL_STR, pool);
++ svn_stringbuf_appendcstr(default_msg, APR_EOL_STR);
++ svn_stringbuf_appendcstr(default_msg, "PR:\t\t" APR_EOL_STR);
++ svn_stringbuf_appendcstr(default_msg, "Submitted by:\t" APR_EOL_STR);
++ svn_stringbuf_appendcstr(default_msg, "Reviewed by:\t" APR_EOL_STR);
++ svn_stringbuf_appendcstr(default_msg, "Approved by:\t" APR_EOL_STR);
++ svn_stringbuf_appendcstr(default_msg, "Obtained from:\t" APR_EOL_STR);
++ svn_stringbuf_appendcstr(default_msg, "MFC after:\t" APR_EOL_STR);
++ svn_stringbuf_appendcstr(default_msg, "Security:\t" APR_EOL_STR);
+ svn_stringbuf_appendcstr(default_msg, EDITOR_EOF_PREFIX);
+- svn_stringbuf_appendcstr(default_msg, APR_EOL_STR APR_EOL_STR);
++ svn_stringbuf_appendcstr(default_msg, APR_EOL_STR);
++ svn_stringbuf_appendcstr(default_msg, "> Description of fields to fill in above: 76 columns --|" APR_EOL_STR);
++ svn_stringbuf_appendcstr(default_msg, "> PR: If a GNATS PR is affected by the change." APR_EOL_STR);
++ svn_stringbuf_appendcstr(default_msg, "> Submitted by: If someone else sent in the change." APR_EOL_STR);
++ svn_stringbuf_appendcstr(default_msg, "> Reviewed by: If someone else reviewed your modification." APR_EOL_STR);
++ svn_stringbuf_appendcstr(default_msg, "> Approved by: If you needed approval for this commit." APR_EOL_STR);
++ svn_stringbuf_appendcstr(default_msg, "> Obtained from: If the change is from a third party." APR_EOL_STR);
++ svn_stringbuf_appendcstr(default_msg, "> MFC after: N [day[s]|week[s]|month[s]]. Request a reminder email." APR_EOL_STR);
++ svn_stringbuf_appendcstr(default_msg, "> Security: Vulnerability reference (one per line) or description." APR_EOL_STR);
++ svn_stringbuf_appendcstr(default_msg, "> Empty fields above will be automatically removed." APR_EOL_STR);
++ svn_stringbuf_appendcstr(default_msg, APR_EOL_STR);
+
+ *tmp_file = NULL;
+ if (lmb->message)
+@@ -710,6 +789,7 @@
+ that follows it. */
+ truncate_buffer_at_prefix(&(log_msg_buf->len), log_msg_buf->data,
+ EDITOR_EOF_PREFIX);
++ cleanmsg(NULL, (char*)log_msg_buf->data);
+
+ /* Make a string from a stringbuf, sharing the data allocation. */
+ log_msg_str->data = log_msg_buf->data;
+@@ -830,6 +910,13 @@
+ if (message)
+ truncate_buffer_at_prefix(&message->len, message->data,
+ EDITOR_EOF_PREFIX);
++ /*
++ * Since we're adding freebsd-specific tokens to the log message,
++ * clean out any leftovers to avoid accidently sending them to other
++ * projects that won't be expecting them.
++ */
++ if (message)
++ cleanmsg(&message->len, message->data);
+
+ if (message)
+ {