ports/devel/subversion16/files/extra-patch-fbsd-template
Lev A. Serebryakov 09a0319c83 Update subversion to 1.7.0.
Make FreeBSD patches to be port's options and remove separated port.

  Rename patches to more sane names.

  Add devel/subversion16 port, for people, who need old version.

  Mark ports, which could not be built with subversion 1.7.x, as
  conflicting with new subversion.
2011-10-16 14:31:47 +00:00

121 lines
4.3 KiB
Text

diff -ruN subversion/svn/util.c subversion/svn/util.c
--- subversion/svn/util.c 2009-02-13 19:28:37.000000000 +0300
+++ subversion/svn/util.c 2009-04-03 21:49:30.541875000 +0400
@@ -639,6 +639,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 *
@@ -654,8 +715,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)
@@ -667,6 +746,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;
@@ -786,6 +866,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)
{