aboutsummaryrefslogtreecommitdiff
path: root/net/cvsync
diff options
context:
space:
mode:
authorHiroki Sato <hrs@FreeBSD.org>2014-07-21 21:07:16 +0000
committerHiroki Sato <hrs@FreeBSD.org>2014-07-21 21:07:16 +0000
commitb851d6ed3cd38259fb509c6966189bbb98f9b039 (patch)
treea4783f6fbe68149ad767d1330c1c29f525ae91fe /net/cvsync
parent0050cd6e0cc6ec97794fcc906d6d80ab474c869a (diff)
downloadports-b851d6ed3cd38259fb509c6966189bbb98f9b039.tar.gz
ports-b851d6ed3cd38259fb509c6966189bbb98f9b039.zip
Notes
Diffstat (limited to 'net/cvsync')
-rw-r--r--net/cvsync/Makefile6
-rw-r--r--net/cvsync/files/patch-common_filecmp_rcs_c86
-rw-r--r--net/cvsync/files/patch-common_filescan_rcs_c17
-rw-r--r--net/cvsync/files/patch-common_rcslib_c91
-rw-r--r--net/cvsync/files/patch-common_rcslib_h11
-rw-r--r--net/cvsync/files/patch-common_refuse_c12
-rw-r--r--net/cvsync/files/patch-common_updater_rcs_c65
-rw-r--r--net/cvsync/files/patch-common_version_h14
-rw-r--r--net/cvsync/files/patch-rcscmp_main_c14
9 files changed, 313 insertions, 3 deletions
diff --git a/net/cvsync/Makefile b/net/cvsync/Makefile
index dc8b7ca0a5dd..758d00c95174 100644
--- a/net/cvsync/Makefile
+++ b/net/cvsync/Makefile
@@ -1,8 +1,8 @@
# $FreeBSD$
PORTNAME= cvsync
-PORTVERSION= 0.24.19
-PORTREVISION= 2
+PORTVERSION= 0.25.0
+DISTVERSION= 0.24.19
CATEGORIES= net ipv6
MASTER_SITES= ftp://ftp.cvsync.org/pub/cvsync/ \
ftp://ftp.allbsd.org/pub/cvsync/
@@ -10,7 +10,7 @@ MASTER_SITES= ftp://ftp.cvsync.org/pub/cvsync/ \
MAINTAINER= hrs@FreeBSD.org
COMMENT= Portable CVS repository synchronization utility
-LICENSE= BSD
+LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/doc/COPYRIGHT
USES= gmake
diff --git a/net/cvsync/files/patch-common_filecmp_rcs_c b/net/cvsync/files/patch-common_filecmp_rcs_c
new file mode 100644
index 000000000000..33a018562939
--- /dev/null
+++ b/net/cvsync/files/patch-common_filecmp_rcs_c
@@ -0,0 +1,86 @@
+$OpenBSD: patch-common_filecmp_rcs_c,v 1.1 2014/06/25 17:54:07 naddy Exp $
+--- common/filecmp_rcs.c.orig Mon Jul 18 16:32:56 2005
++++ common/filecmp_rcs.c Wed Jun 25 16:00:27 2014
+@@ -1808,7 +1808,13 @@ filecmp_rcs_delta_add(struct filecmp_args *fca, struct
+ return (false);
+
+ len = rev->num.n_len + rev->date.rd_num.n_len + rev->author.i_len;
+- len += rev->state.i_len + rev->next.n_len + hashops->length + 11;
++ len += rev->state.i_len + rev->next.n_len;
++
++ if (fca->fca_proto >= CVSYNC_PROTO(0, 25))
++ len += rev->commitid.i_len + 1;
++
++ len += hashops->length + 11; /* XXX magic? */
++
+ for (i = 0 ; i < branches->rb_count ; i++)
+ len += branches->rb_num[i].n_len + 1;
+ if (len > fca->fca_cmdmax) {
+@@ -1895,6 +1901,21 @@ filecmp_rcs_delta_add(struct filecmp_args *fca, struct
+ rev->next.n_len);
+ }
+
++ /* commitid */
++ if (fca->fca_proto >= CVSYNC_PROTO(0, 25)) {
++ cmd[0] = rev->commitid.i_len;
++ if (!mux_send(fca->fca_mux, MUX_UPDATER, cmd, 1))
++ return (false);
++ if (rev->commitid.i_len > 0) {
++ if (!mux_send(fca->fca_mux, MUX_UPDATER, rev->commitid.i_id,
++ rev->commitid.i_len)) {
++ return (false);
++ }
++ (*hashops->update)(fca->fca_hash_ctx, rev->commitid.i_id,
++ rev->commitid.i_len);
++ }
++ }
++
+ (*hashops->final)(fca->fca_hash_ctx, cmd);
+ if (!mux_send(fca->fca_mux, MUX_UPDATER, cmd, hashops->length))
+ return (false);
+@@ -1958,13 +1979,24 @@ filecmp_rcs_delta_update(struct filecmp_args *fca, str
+ rev->next.n_len);
+ }
+
++ /* commitid */
++ if (rev->commitid.i_len > 0 && fca->fca_proto >= CVSYNC_PROTO(0, 25))
++ (*hashops->update)(fca->fca_hash_ctx, rev->commitid.i_id,
++ rev->commitid.i_len);
++
+ (*hashops->final)(fca->fca_hash_ctx, fca->fca_hash);
+
+ if (memcmp(hash, fca->fca_hash, hashops->length) == 0)
+ return (true);
+
+ len = rev->num.n_len + rev->date.rd_num.n_len + rev->author.i_len;
+- len += rev->state.i_len + rev->next.n_len + hashops->length + 11;
++ len += rev->state.i_len + rev->next.n_len;
++
++ if (fca->fca_proto >= CVSYNC_PROTO(0, 25))
++ len += rev->commitid.i_len + 1;
++
++ len += hashops->length + 11; /* XXX magic? */
++
+ for (i = 0 ; i < branches->rb_count ; i++)
+ len += branches->rb_num[i].n_len + 1;
+ if (len > fca->fca_cmdmax)
+@@ -2037,6 +2069,19 @@ filecmp_rcs_delta_update(struct filecmp_args *fca, str
+ if (!mux_send(fca->fca_mux, MUX_UPDATER, rev->next.n_str,
+ rev->next.n_len)) {
+ return (false);
++ }
++ }
++
++ /* commitid */
++ if (fca->fca_proto >= CVSYNC_PROTO(0, 25)) {
++ cmd[0] = rev->commitid.i_len;
++ if (!mux_send(fca->fca_mux, MUX_UPDATER, cmd, 1))
++ return (false);
++ if (rev->commitid.i_len > 0) {
++ if (!mux_send(fca->fca_mux, MUX_UPDATER, rev->commitid.i_id,
++ rev->commitid.i_len)) {
++ return (false);
++ }
+ }
+ }
+
diff --git a/net/cvsync/files/patch-common_filescan_rcs_c b/net/cvsync/files/patch-common_filescan_rcs_c
new file mode 100644
index 000000000000..4b6d85656467
--- /dev/null
+++ b/net/cvsync/files/patch-common_filescan_rcs_c
@@ -0,0 +1,17 @@
+$OpenBSD: patch-common_filescan_rcs_c,v 1.2 2014/06/25 17:54:07 naddy Exp $
+--- common/filescan_rcs.c.orig Mon Jul 18 16:32:57 2005
++++ common/filescan_rcs.c Wed Jun 25 16:01:04 2014
+@@ -931,6 +931,13 @@ filescan_rcs_update_rcs_delta(struct filescan_args *fs
+ rev->next.n_len);
+ }
+
++ /* commitid */
++ if (fsa->fsa_proto >= CVSYNC_PROTO(0, 25)) {
++ if (rev->commitid.i_len > 0)
++ (*hashops->update)(fsa->fsa_hash_ctx, rev->commitid.i_id,
++ rev->commitid.i_len);
++ }
++
+ (*hashops->final)(fsa->fsa_hash_ctx, cmd);
+
+ if (!mux_send(fsa->fsa_mux, MUX_FILECMP, cmd, hashops->length))
diff --git a/net/cvsync/files/patch-common_rcslib_c b/net/cvsync/files/patch-common_rcslib_c
new file mode 100644
index 000000000000..f20ed4e297fb
--- /dev/null
+++ b/net/cvsync/files/patch-common_rcslib_c
@@ -0,0 +1,91 @@
+$OpenBSD: patch-common_rcslib_c,v 1.2 2014/06/25 17:54:07 naddy Exp $
+--- common/rcslib.c.orig Mon Jul 18 16:34:30 2005
++++ common/rcslib.c Wed Jun 25 00:48:47 2014
+@@ -64,6 +64,7 @@ static const struct rcs_keyword rcs_keywords[] = {
+ { "strict", 6 },
+ { "symbols", 7 },
+ { "text", 4 },
++ { "commitid", 8 },
+ { NULL, 0 }
+ };
+
+@@ -83,7 +84,8 @@ enum {
+ RCS_STATE,
+ RCS_STRICT,
+ RCS_SYMBOLS,
+- RCS_TEXT
++ RCS_TEXT,
++ RCS_COMMITID
+ };
+
+ #define RCS_SKIP(p, e) \
+@@ -579,6 +581,40 @@ rcslib_parse_delta(struct rcslib_file *rcs, char *sp,
+ return (NULL);
+ }
+
++ /* commitid id; */
++ rcskey = &rcs_keywords[RCS_COMMITID];
++ if ((sp + rcskey->namelen > bp) ||
++ (memcmp(sp, rcskey->name, rcskey->namelen) != 0)) {
++ rev->commitid.i_id = NULL;
++ rev->commitid.i_len = 0;
++ } else {
++ sp += rcskey->namelen;
++
++ p = sp;
++ RCS_SKIP_NORET(sp, bp)
++ if ((sp > bp) || (sp == p)) {
++ free(delta->rd_rev);
++ return (NULL);
++ }
++
++ if ((sp = rcslib_parse_id(sp, bp, &rev->commitid)) == NULL) {
++ free(delta->rd_rev);
++ return (NULL);
++ }
++
++ RCS_SKIP_NORET(sp, bp)
++ if ((sp > bp) || (*sp++ != ';')) {
++ free(delta->rd_rev);
++ return (NULL);
++ }
++
++ RCS_SKIP_NORET(sp, bp)
++ if (sp > bp) {
++ free(delta->rd_rev);
++ return (NULL);
++ }
++ }
++
+ /* { newphrase }* */
+ p = sp;
+ if ((sp = rcslib_parse_newphrase(sp, bp)) == NULL) {
+@@ -1522,10 +1558,24 @@ rcslib_write_delta(int fd, const struct rcslib_revisio
+ iov[0].iov_len = 7;
+ iov[1].iov_base = rev->next.n_str;
+ iov[1].iov_len = rev->next.n_len;
+- iov[2].iov_base = ";\n\n";
+- iov[2].iov_len = 3;
+- len = iov[0].iov_len + iov[1].iov_len + iov[2].iov_len;
+- if ((wn = writev(fd, iov, 3)) == -1)
++ iov[2].iov_base = ";\n";
++ iov[2].iov_len = 2;
++ if (rev->commitid.i_len > 0) {
++ iov[3].iov_base ="commitid\t";
++ iov[3].iov_len = 9;
++ iov[4].iov_base = rev->commitid.i_id;
++ iov[4].iov_len = rev->commitid.i_len;
++ iov[5].iov_base = ";\n\n";
++ iov[5].iov_len = 3;
++ } else {
++ iov[3].iov_base = "\n";
++ iov[3].iov_len = 1;
++ iov[4].iov_base = iov[5].iov_base = NULL;
++ iov[4].iov_len = iov[5].iov_len = 0;
++ }
++ len = iov[0].iov_len + iov[1].iov_len + iov[2].iov_len +
++ iov[3].iov_len + iov[4].iov_len + iov[5].iov_len;
++ if ((wn = writev(fd, iov, 6)) == -1)
+ return (false);
+ if ((size_t)wn != len)
+ return (false);
diff --git a/net/cvsync/files/patch-common_rcslib_h b/net/cvsync/files/patch-common_rcslib_h
new file mode 100644
index 000000000000..7cf1a18cf57f
--- /dev/null
+++ b/net/cvsync/files/patch-common_rcslib_h
@@ -0,0 +1,11 @@
+$OpenBSD: patch-common_rcslib_h,v 1.2 2014/06/25 17:54:07 naddy Exp $
+--- common/rcslib.h.orig Mon Jan 24 08:44:56 2005
++++ common/rcslib.h Wed Jun 25 00:48:47 2014
+@@ -102,6 +102,7 @@ struct rcslib_revision {
+ struct rcsnum next;
+ struct rcsstr log;
+ struct rcsstr text;
++ struct rcsid commitid;
+
+ /* internal use */
+ struct rcslib_revision *rv_next;
diff --git a/net/cvsync/files/patch-common_refuse_c b/net/cvsync/files/patch-common_refuse_c
new file mode 100644
index 000000000000..9283df69441e
--- /dev/null
+++ b/net/cvsync/files/patch-common_refuse_c
@@ -0,0 +1,12 @@
+$OpenBSD: patch-common_refuse_c,v 1.2 2014/06/25 17:54:07 naddy Exp $
+--- common/refuse.c.orig Mon Jul 18 16:32:58 2005
++++ common/refuse.c Wed Jun 25 00:48:47 2014
+@@ -246,7 +246,7 @@ refuse_access(struct refuse_args *ra, struct cvsync_at
+ continue;
+ namelen = strlen(pat);
+ ep = pat + namelen;
+- while (ep >= pat) {
++ while (ep > pat) {
+ if (*--ep != '/')
+ continue;
+
diff --git a/net/cvsync/files/patch-common_updater_rcs_c b/net/cvsync/files/patch-common_updater_rcs_c
new file mode 100644
index 000000000000..fa37927c7daa
--- /dev/null
+++ b/net/cvsync/files/patch-common_updater_rcs_c
@@ -0,0 +1,65 @@
+$OpenBSD: patch-common_updater_rcs_c,v 1.2 2014/06/26 20:06:50 naddy Exp $
+--- common/updater_rcs.c.orig Mon Jul 18 16:32:59 2005
++++ common/updater_rcs.c Thu Jun 26 19:28:00 2014
+@@ -59,6 +59,7 @@
+ #include "logmsg.h"
+ #include "mux.h"
+ #include "rcslib.h"
++#include "version.h"
+
+ #include "updater.h"
+
+@@ -1930,18 +1931,50 @@ updater_rcs_write_delta(struct updater_args *uda, uint
+ sp += slen;
+ }
+ len -= slen + 1;
+- iov[2].iov_base = ";\n\n";
+- iov[2].iov_len = 3;
++ iov[2].iov_base = ";\n";
++ iov[2].iov_len = 2;
+
+ if ((wn = writev(uda->uda_fileno, iov, 3)) == -1) {
+ logmsg_err("%s", strerror(errno));
+ (*hashops->destroy)(uda->uda_hash_ctx);
+ return (false);
+ }
+- if ((size_t)wn != slen + 10) {
++ if ((size_t)wn != slen + 9) {
+ logmsg_err("writev error");
+ (*hashops->destroy)(uda->uda_hash_ctx);
+ return (false);
++ }
++
++ /* commitid */
++ if (uda->uda_proto >= CVSYNC_PROTO(0, 25)) {
++ len--;
++ if ((slen = *sp++) != 0) {
++ iov[0].iov_base = "commitid\t";
++ iov[0].iov_len = 9;
++
++ if (len < slen) {
++ (*hashops->destroy)(uda->uda_hash_ctx);
++ return (false);
++ }
++ iov[1].iov_base = (void *)sp;
++ iov[1].iov_len = slen;
++ (*hashops->update)(uda->uda_hash_ctx, sp, slen);
++
++ sp += slen;
++ len -= slen;
++
++ iov[2].iov_base = ";\n\n";
++ iov[2].iov_len = 3;
++
++ if ((wn = writev(uda->uda_fileno, iov, 3)) == -1) {
++ (*hashops->destroy)(uda->uda_hash_ctx);
++ return (false);
++ }
++ if ((size_t)wn != slen + 12) {
++ (*hashops->destroy)(uda->uda_hash_ctx);
++ return (false);
++ }
++ }
+ }
+
+ if (len != hashops->length) {
diff --git a/net/cvsync/files/patch-common_version_h b/net/cvsync/files/patch-common_version_h
new file mode 100644
index 000000000000..189dfb4c3d0e
--- /dev/null
+++ b/net/cvsync/files/patch-common_version_h
@@ -0,0 +1,14 @@
+$OpenBSD: patch-common_version_h,v 1.1 2014/06/25 17:54:07 naddy Exp $
+--- common/version.h.orig Fri Jun 3 20:03:17 2005
++++ common/version.h Wed Jun 25 00:57:44 2014
+@@ -31,8 +31,8 @@
+ #define __VERSION_H__
+
+ #define CVSYNC_MAJOR 0
+-#define CVSYNC_MINOR 24
+-#define CVSYNC_PATCHLEVEL 19
++#define CVSYNC_MINOR 25
++#define CVSYNC_PATCHLEVEL 0
+
+ #define CVSYNC_PROTO_MAJOR CVSYNC_MAJOR
+ #define CVSYNC_PROTO_MINOR CVSYNC_MINOR
diff --git a/net/cvsync/files/patch-rcscmp_main_c b/net/cvsync/files/patch-rcscmp_main_c
new file mode 100644
index 000000000000..a4533ecb951b
--- /dev/null
+++ b/net/cvsync/files/patch-rcscmp_main_c
@@ -0,0 +1,14 @@
+$OpenBSD: patch-rcscmp_main_c,v 1.1 2014/06/25 17:54:07 naddy Exp $
+--- rcscmp/main.c.orig Mon Jul 18 16:37:38 2005
++++ rcscmp/main.c Wed Jun 25 00:48:47 2014
+@@ -220,6 +220,10 @@ rcscmp_hash(struct rcslib_file *rcs, const struct hash
+ (*hashops->update)(ctx, rev->next.n_str,
+ rev->next.n_len);
+ }
++ if (rev->commitid.i_len > 0) {
++ (*hashops->update)(ctx, rev->commitid.i_id,
++ rev->commitid.i_len);
++ }
+ }
+
+ if (rcs->desc.s_len > 0)