ports/devel/subversion-lts/files/extra-patch-fbsd-template
Antoine Brodin 26b4c8f71f Revert r559792 to unbreak INDEX and bulk -a
It seems a lot of reverse dependencies were missed

With hat:	portmgr
2021-01-01 10:11:34 +00:00

164 lines
6.4 KiB
Text
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

--- subversion/svn/util.c.orig 2015-02-28 13:37:27.000000000 +0300
+++ subversion/svn/util.c 2016-03-19 16:53:13.016472654 +0300
@@ -66,6 +66,9 @@
#include "private/svn_client_private.h"
#include "private/svn_cmdline_private.h"
#include "private/svn_string_private.h"
+#ifdef HAS_ORGANIZATION_NAME
+#include "freebsd-organization.h"
+#endif
@@ -331,6 +334,71 @@
}
+/*
+ * 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.
+ */
+
+static const char *prefixes[] = {
+ "PR:",
+ "Submitted by:",
+ "Reported by:",
+ "Reviewed by:",
+ "Approved by:",
+ "Obtained from:",
+ "MFC after:",
+ "MFH:",
+ "Relnotes:",
+ "Security:",
+ "Sponsored by:",
+ "Differential Revision:",
+};
+
+void
+cleanmsg(apr_size_t *l, char *s)
+{
+ int i;
+ char *pos;
+ char *kw;
+ char *p;
+ int empty;
+
+ for (i = 0; i < sizeof(prefixes) / sizeof(prefixes[0]); 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 *
@@ -343,11 +411,56 @@
svn_stringbuf_t *default_msg = NULL;
struct log_msg_baton *lmb = baton;
svn_stringbuf_t *message = NULL;
+ svn_config_t *cfg;
+ const char *mfc_after, *sponsored_by;
+
+ cfg = lmb->config ? svn_hash_gets(lmb->config, SVN_CONFIG_CATEGORY_CONFIG) : NULL;
/* 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, "Reported 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");
+ svn_config_get(cfg, &mfc_after, SVN_CONFIG_SECTION_MISCELLANY, "freebsd-mfc-after", NULL);
+ if (mfc_after != NULL)
+ svn_stringbuf_appendcstr(default_msg, mfc_after);
+ svn_stringbuf_appendcstr(default_msg, APR_EOL_STR);
+ svn_stringbuf_appendcstr(default_msg, "MFH:\t\t" APR_EOL_STR);
+ svn_stringbuf_appendcstr(default_msg, "Relnotes:\t" APR_EOL_STR);
+ svn_stringbuf_appendcstr(default_msg, "Security:\t" APR_EOL_STR);
+ svn_stringbuf_appendcstr(default_msg, "Sponsored by:\t");
+ svn_config_get(cfg, &sponsored_by, SVN_CONFIG_SECTION_MISCELLANY, "freebsd-sponsored-by",
+#ifdef HAS_ORGANIZATION_NAME
+ ORGANIZATION_NAME);
+#else
+ NULL);
+#endif
+ if (sponsored_by != NULL)
+ svn_stringbuf_appendcstr(default_msg, sponsored_by);
+ svn_stringbuf_appendcstr(default_msg, APR_EOL_STR);
+ svn_stringbuf_appendcstr(default_msg, "Differential Revision:\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 and which Problem Report is related." 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, "> Reported by: If someone else reported the issue." 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, "> MFH: Ports tree branch name. Request approval for merge." APR_EOL_STR);
+ svn_stringbuf_appendcstr(default_msg, "> Relnotes: Set to 'yes' for mention in release notes." APR_EOL_STR);
+ svn_stringbuf_appendcstr(default_msg, "> Security: Vulnerability reference (one per line) or description." APR_EOL_STR);
+ svn_stringbuf_appendcstr(default_msg, "> Sponsored by: If the change was sponsored by an organization (each collaborator)." APR_EOL_STR);
+ svn_stringbuf_appendcstr(default_msg, "> Differential Revision: https://reviews.freebsd.org/D### (*full* phabric URL needed)." 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)
@@ -362,6 +475,7 @@
/* Strip off the EOF marker text and the junk that follows it. */
truncate_buffer_at_prefix(&(log_msg_str->len), (char *)log_msg_str->data,
EDITOR_EOF_PREFIX);
+ cleanmsg(NULL, (char*)log_msg_str->data);
*log_msg = log_msg_str->data;
return SVN_NO_ERROR;
@@ -472,6 +586,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)
{