X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/2dc7b8bd0e8d4a2d91334b9bb458df146b1700e8..39411fa876bb23ad9ba9b05c5b62912dc6d3108a:/rsync.h diff --git a/rsync.h b/rsync.h index 7e9fccf0..269631dc 100644 --- a/rsync.h +++ b/rsync.h @@ -67,7 +67,7 @@ #define FLAG_MISSING (1<<6) /* generator */ /* update this if you make incompatible changes */ -#define PROTOCOL_VERSION 29 +#define PROTOCOL_VERSION 30 /* We refuse to interoperate with versions that are not in this range. * Note that we assume we'll work with later versions: the onus is on @@ -153,6 +153,7 @@ /* These are outside the range of the transmitted flags. */ #define ITEM_MISSING_DATA (1<<16) /* used by log_formatted() */ #define ITEM_DELETED (1<<17) /* used by log_formatted() */ +#define ITEM_MATCHED (1<<18) /* used by itemize() */ #define SIGNIFICANT_ITEM_FLAGS (~(\ ITEM_BASIS_TYPE_FOLLOWS | ITEM_XNAME_FOLLOWS | ITEM_LOCAL_CHANGE)) @@ -519,7 +520,7 @@ struct file_struct { char *basename; /* The current item's name (AKA filename) */ char *dirname; /* The directory info inside the transfer */ union { - char *root; /* Sender-side dir info outside transfer */ + const char *root;/* Sender-side dir info outside transfer */ int depth; /* Receiver-side directory depth info */ } dir; union { @@ -615,10 +616,12 @@ struct map_struct { #define MATCHFLG_SENDER_SIDE (1<<16)/* rule applies to the sending side */ #define MATCHFLG_RECEIVER_SIDE (1<<17)/* rule applies to the receiving side */ #define MATCHFLG_CLEAR_LIST (1<<18)/* this item is the "!" token */ +#define MATCHFLG_PERISHABLE (1<<19)/* perishable if parent dir goes away */ #define MATCHFLGS_FROM_CONTAINER (MATCHFLG_ABS_PATH | MATCHFLG_INCLUDE \ | MATCHFLG_DIRECTORY | MATCHFLG_SENDER_SIDE \ - | MATCHFLG_NEGATE | MATCHFLG_RECEIVER_SIDE) + | MATCHFLG_NEGATE | MATCHFLG_RECEIVER_SIDE \ + | MATCHFLG_PERISHABLE) struct filter_struct { struct filter_struct *next;