summaryrefslogtreecommitdiff
path: root/rsync.h
diff options
context:
space:
mode:
authorWayne Davison <wayne@opencoder.net>2020-08-07 16:20:48 -0700
committerWayne Davison <wayne@opencoder.net>2020-08-07 16:25:12 -0700
commit4c4fce51072c9189cfb11b52aa54fed79f5741bd (patch)
tree78fbe82aa8e1942deff83ef64e36a22752ec8364 /rsync.h
parent6816b3137899f8cceb2ec0ba8dc27ae9a270fe7b (diff)
downloadrsync-4c4fce51072c9189cfb11b52aa54fed79f5741bd.tar.gz
Add some comments about protocol versions.
Diffstat (limited to 'rsync.h')
-rw-r--r--rsync.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/rsync.h b/rsync.h
index 0b618d16..345a68a6 100644
--- a/rsync.h
+++ b/rsync.h
@@ -108,12 +108,22 @@
#define BITS_EQUAL(b1,b2,mask) (((unsigned)(b1) & (unsigned)(mask)) \
== ((unsigned)(b2) & (unsigned)(mask)))
-/* update this if you make incompatible changes */
+/* Update this if you make incompatible changes and ALSO update the
+ * SUBPROTOCOL_VERSION if it is not a final (offical) release. */
#define PROTOCOL_VERSION 31
-/* This is used when working on a new protocol version in CVS, and should
- * be a new non-zero value for each CVS change that affects the protocol.
- * It must ALWAYS be 0 when the protocol goes final (and NEVER before)! */
+/* This is used when working on a new protocol version or for any unofficial
+ * protocol tweaks. It should be a non-zero value for each pre-release repo
+ * change that affects the protocol. The official pre-release versions should
+ * start with 1 (after incrementing the PROTOCOL_VERSION) and go up by 1 for
+ * each new protocol change. For unofficial changes, pick a fairly large
+ * random number that will hopefully not collide with anyone else's unofficial
+ * protocol. It must ALWAYS be 0 when the protocol goes final (and official)
+ * and NEVER before! When rsync negotiates a protocol match, it will only
+ * allow the newest protocol to be used if the SUBPROTOCOL_VERSION matches.
+ * All older protocol versions MUST be compatible with the final, official
+ * release of the protocol, so don't tweak the code to change the protocol
+ * behavior for an older protocol version. */
#define SUBPROTOCOL_VERSION 0
/* We refuse to interoperate with versions that are not in this range.