Commit Graph

  • de8c8b28c0 - When --omit-implied-dirs is specified and the creation of a directory fails, we must make sure that the item we're skipping has a name that is still inside the missing hierarchy by using a prefix matching func. - We now handle the failure to remove a file to create a dir the same way as a failed mkdir() (skipping the failed dir's contents). Wayne Davison 2007-07-14 21:25:51 +00:00
  • 569e6f432b - Made f_name() and f_name_cmp() take const pointers. - Added f_name_has_prefix(). Wayne Davison 2007-07-14 21:21:15 +00:00
  • 0d585188f9 Make sure that any "dont compress" patterns that have wildcards in a suffix match stay in the wildcard-matching list. Wayne Davison 2007-07-14 19:36:52 +00:00
  • 34ca58d440 The "dont compress" daemon option points to the --skip-compress option for the default set of non-compressed file suffixes. Wayne Davison 2007-07-14 19:32:10 +00:00
  • 9c528e2935 Mention the latest changes. Wayne Davison 2007-07-14 19:29:04 +00:00
  • 2b967218eb Document --skip-compress. Wayne Davison 2007-07-14 19:24:44 +00:00
  • 6e058b4b60 - Added support for the new --skip-compress option. - Optimized the matching of non-compressing file suffixes. Wayne Davison 2007-07-14 19:24:35 +00:00
  • b1e436ec17 Parse the --skip-compress=LIST option and sent it to the sending side. Wayne Davison 2007-07-14 19:24:32 +00:00
  • 4319cc56d8 Added more suffixes to the default "dont compress" value. Wayne Davison 2007-07-14 19:24:27 +00:00
  • 952ae75138 Make sure that --dry-run with --del doesn't output extraneous info when the dest directory does not exist. Wayne Davison 2007-07-14 04:47:42 +00:00
  • 4d745d3cf5 The delete-during code needs to skip directories that don't exist yet in --dry-run mode to avoid outputting bogus delete details. Wayne Davison 2007-07-14 04:20:13 +00:00
  • 8798be8e63 Mention license change. Wayne Davison 2007-07-14 04:06:33 +00:00
  • 42b06481c3 Made some descriptions concerning modification times clearer. Wayne Davison 2007-07-12 14:43:26 +00:00
  • dbe287b701 Needed to use ndx_end in decrement_flist_in_progress(). Wayne Davison 2007-07-12 14:04:11 +00:00
  • 8e3b627d07 Mention how --ignore-existing can be useful for restarting a copy that uses --link-dest. Wayne Davison 2007-07-10 14:49:35 +00:00
  • 809724d7e2 - Use "filename", not "file name". - Say "regular file" instead of "file" when itemizing a list of non-directory types. - Try to avoid "file" in its generic sense, as it is hard to figure out when it includes dirs and when it doesn't. Wayne Davison 2007-07-10 14:21:59 +00:00
  • 8e41b68e8f Tweaking the license text a bit more. Wayne Davison 2007-07-10 13:55:49 +00:00
  • dc77edf218 Martin gave his approval to use GPLv3 with this code. Wayne Davison 2007-07-09 01:24:01 +00:00
  • 65ba6af61b - Do directory touch-ups at the end, even in inc-recurse mode. - Use the latest F_DIR_*() defines (whose names were tweaked). Wayne Davison 2007-07-08 20:53:42 +00:00
  • 83d5e90054 - Use the new DEV_EXTRA_CNT and DIRNODE_EXTRA_CNT defines. - Use the latest F_DIR_*() defines (whose names were tweaked). Wayne Davison 2007-07-08 20:53:38 +00:00
  • e434f0ebfe Use the latest F_DIR_*() defines (whose names were tweaked). Wayne Davison 2007-07-08 20:53:35 +00:00
  • a08979d564 - Define DEV_EXTRA_CNT and DIRNODE_EXTRA_CNT. - Define and use ACL_BUMP(), fixing a clash between -A and -x in a directory's data. - Tweaked the F_DIR_*() defines to have more consistent names. - Don't make F_SUM() return a char pointer that is const. Wayne Davison 2007-07-08 20:53:31 +00:00
  • 252af65bb4 Changed the spots that referred to the filter_level as filter_flags to make the naming consistent. Wayne Davison 2007-07-08 06:30:28 +00:00
  • d048c2f225 Added a test for --prune-empty-dirs. Wayne Davison 2007-07-08 06:25:57 +00:00
  • 9b9d5f89b3 Got rid of the output differences for protocol 30 since it is now the same as earlier protocols. Wayne Davison 2007-07-08 06:25:54 +00:00
  • e5bf3b5855 - Incremental recursion mode does not process the dirs while scanning a file list's contents. Instead, it handles a parent dir prior to each extra file list. This makes the dir-processing order the same in protocol 30 as it is in earlier protocols. - Moved the permission-fudging code for dirs into recv_generator() to make the new protocol-30 dir-handling logic easier. Wayne Davison 2007-07-08 06:25:51 +00:00
  • 6755a7d742 If we get an ndx that is 1 entry prior to an incremental flist's start, it refers to the file list's parent dir. Wayne Davison 2007-07-08 06:25:47 +00:00
  • 5459e693a3 - The sending side now sets the parent_ndx value in each file list. - Leave a 1-entry gap between incremental file lists so that we can use that index value to refer to the parent directory of each file list. - Set and use the new ndx_end value in the file list. The incremental recursion mode omits dirs in this value (except in the first list) since the generator will be using the new "gap" ndx value to process each parent dir. Wayne Davison 2007-07-08 06:25:42 +00:00
  • 24108eb854 - Increased the SUBPROTOCOL_VERSION to 4 due to the new dir-ndx logic. - Added ndx_end value to struct file_list. Wayne Davison 2007-07-08 06:25:36 +00:00
  • 4635fb9995 Avoid the prune-empty-dir code when cleaning a file list created by get_dirlist(). Wayne Davison 2007-07-07 20:43:14 +00:00
  • 9decb4d2ef Changed "count" to "used" in struct file_list since there can be empty items that make the count inaccurate (and the name somewhat deceiving). Wayne Davison 2007-07-07 20:22:05 +00:00
  • b3b326016a The length check in make_file() doesn't need to subtract pathname_len anymore, as the sender code never concatenates the F_PATHNAME() value with the dirname+basename string these days. Wayne Davison 2007-07-07 16:01:59 +00:00
  • 4bde45f60e Make the comment even better. Wayne Davison 2007-07-07 15:37:56 +00:00
  • 4fd842f98d Switching to GPL 3. Wayne Davison 2007-07-07 05:33:14 +00:00
  • f92f5b166e Tweaked a comment to remove a (really old) rsync version reference. Wayne Davison 2007-07-07 05:25:50 +00:00
  • 9b25ef35bd Switch the checking of preserve_[ug]id var to checking [ug]id_ndx var when the code is about to use the [ug]id_ndx value as an index (since this saves a memory reference). Wayne Davison 2007-07-02 22:11:23 +00:00
  • 7c73536c25 Use module_dir instead of lp_path(). Wayne Davison 2007-07-02 22:06:48 +00:00
  • 33cbd577ad If a module's path is not absolute, make it absolute. Wayne Davison 2007-07-02 22:02:14 +00:00
  • 524eaa8245 We omit copying any user-space rsync.%FOO attributes unless the user specified -X twice. Wayne Davison 2007-07-02 21:35:14 +00:00
  • 9742b386b3 Make option variables a little clearer by using separate FOO_ndx values to index into the file-list extra-attribute array instead of abusing the preserve_FOO variables. Wayne Davison 2007-07-02 21:29:49 +00:00
  • 8b498b9f1a Decided against the last change. Wayne Davison 2007-06-06 15:43:34 +00:00
  • c04af69701 Allow a NULL address to be passed to pool_free_old() to indicate that it should free all old mem and reset to an empty state. Wayne Davison 2007-06-06 15:38:31 +00:00
  • f87fb190b3 Check for the setacl command for Tru64 (which doesn't have setfacl). Wayne Davison 2007-06-02 16:44:23 +00:00
  • a21e72c3e6 Attempting to make the mask test compatible with Solaris 8. Wayne Davison 2007-06-02 16:30:04 +00:00
  • 1c4ffe64db Mention the pool_alloc changes. Wayne Davison 2007-05-29 04:23:50 +00:00
  • abdcb21a7a Unified the file-list pool used in incremental recursion mode so that we use less memory, especially in small transfers. As file lists are discarded, we use the new pool_boundary() and pool_free_old() functions to discard pool extents that are no longer needed. Wayne Davison 2007-05-29 04:19:47 +00:00
  • f5ba7bfbb6 - Changed FILE_EXTENT to NORMAL_EXTENT and HLINK_EXTENT to SMALL_EXTENT. - Added a pool_boundary variable to struct file_list. Wayne Davison 2007-05-29 04:19:44 +00:00
  • 676e604135 Added pool_free_old() and pool_boundary() functions to add a way to free all wholly affected extents older than a particular point in time. Wayne Davison 2007-05-29 04:19:41 +00:00
  • 3fac8ca8d1 Tweaked a variable and a label to make them less confusing. Wayne Davison 2007-05-29 02:47:23 +00:00
  • 33766a8daa Improvements to increase clarity, fix misstatements, add missing punctuation, and fix some typos. Wayne Davison 2007-05-29 02:46:44 +00:00
  • e3d27df444 - Fixed a bug where a pool_free() on the most-recently allocated pool item was trying to make that memory available to the pool, but it failed to adjust the right variable. - Fixed a bug in pool_free() where the return of the entire live extent back to unallocated status did not obey POOL_CLEAR. - Use the new() and new_array() functions instead of malloc(). - Changed the sqew variable to skew. - Some other minor formatting tweaks. Wayne Davison 2007-05-29 00:52:08 +00:00
  • 6aa27a7ce5 - Do less seeking when writing a sparse file. - Don't rewrite the last byte of a file in sparse mode when the file didn't end with a null char. Wayne Davison 2007-05-26 21:46:22 +00:00
  • 47cffb77de Handle EINTR in a couple places where we handle the --file-from I/O. Wayne Davison 2007-05-26 21:44:19 +00:00
  • 565a340b0a Changed verbosity back from -vvvv to -vv. Wayne Davison 2007-05-25 14:32:08 +00:00
  • f45b64d8dd Improved the sort comment. Wayne Davison 2007-05-25 14:29:35 +00:00
  • 56ce72c447 Improved a comment. Wayne Davison 2007-05-25 14:23:05 +00:00
  • 898fab2577 Got rid of superfluous acl_clear_perms() call that Antti Tapaninen pointed out. Wayne Davison 2007-05-25 14:16:57 +00:00
  • 0e5dd89866 Mention latest improvements. Wayne Davison 2007-05-24 23:11:33 +00:00
  • 79028af116 Changed dup-detection code to keep the first item in the user's args. This is more in keeping with the way cp works, and also makes the dir- joining code (in inc_recurse mode) easier. Wayne Davison 2007-05-24 23:08:39 +00:00
  • a572e12675 - Added fsort() and fsort_tmp() that implement a mergesort routine that ensures that any identical items in the file-list stay in the same order as they had in the input. It will also obey the --qsort option (which causes it to punt the sort to the qsort() routine). - Changed the various places that sort the file-list to call fsort(). Wayne Davison 2007-05-24 02:50:41 +00:00
  • c8e8394615 If someone forces the use of qsort() via --qsort, disable incremental recursion (at least for now). Wayne Davison 2007-05-24 02:50:38 +00:00
  • 8487f9cf29 - Added the --qsort option. - Added several new --no-FOO options. Wayne Davison 2007-05-24 02:50:35 +00:00
  • d750be6ad8 Make sure we don't try to output a NULL pointer in a verbose message. Wayne Davison 2007-05-23 00:48:27 +00:00
  • 0bb8616535 - Output a -vvv(erbose) message in the touch_up_dirs() loop. - Made the keep-alive counter in touch_up_dirs() work better. - Use !(N & 0xFF) instead of !(N % 200). Wayne Davison 2007-05-23 00:42:38 +00:00
  • 1faa1a6da9 Output a -vvv(erbose) message when receiving an incremental file list. Wayne Davison 2007-05-23 00:42:32 +00:00
  • b5ae4e25c2 Added a comment to the do_chmod() to mark it as a discouraged function. Wayne Davison 2007-05-22 05:59:02 +00:00
  • 3d0a159d96 Added a comment to a shared iterator to avoid a warning from IBM's checker. Wayne Davison 2007-05-22 05:58:59 +00:00
  • 8ea07c0030 - Changed the dir_flist code on the sending side to derive its sorted data from the sorted parent flist. This ensures that any entries marked with FLAG_DUPLICATE are in the same order in the dir_flist (where the flags get checked) as they are in the parent flist (where the flags get set). - Made the flist_expand() function static. - Added a growth count arg to flist_expand(). - Made make_file() set a pool variable instead of tweaking flist. - Improved the error message when a dir-number is out of bounds. Wayne Davison 2007-05-22 05:50:47 +00:00
  • 59fd2a5e7d Improved the error message when a dir-number is out of bounds. Wayne Davison 2007-05-22 05:50:41 +00:00
  • ae87c43452 One more output_flist() call that should verify if my analysis of the Solaris 10 host's merge-test failure is correct or not. Wayne Davison 2007-05-22 03:58:18 +00:00
  • f1599b9ef2 Be more verbose so that we can debug what is going wrong on solaris. Wayne Davison 2007-05-22 00:00:51 +00:00
  • ee83e1bd4d Improved the index values that output_flist() outputs when we're being extra verbose: they now have the list's ndx_start value added in. Wayne Davison 2007-05-22 00:00:07 +00:00
  • 7455467c17 One more try at silencing some checker warnings. Wayne Davison 2007-05-21 23:45:26 +00:00
  • 19395697b9 Let's see if we can silence some more code-checker warnings. Wayne Davison 2007-05-21 18:39:05 +00:00
  • 7787579ad4 Added some "FALL THROUGH" comments in the main switch. Wayne Davison 2007-05-21 10:20:18 +00:00
  • 58a37ed34a Get rid of compiler warning about iconv()'s second parameter. Wayne Davison 2007-05-21 03:56:06 +00:00
  • fe8d61e5d5 Fixed a thinko in the calling of recv_add_gid(). Wayne Davison 2007-05-21 03:20:39 +00:00
  • 87b0cc726b Got rid of the temporary "set -x" that was added for debugging. Wayne Davison 2007-05-21 03:09:25 +00:00
  • 4504b2259f The match_gid() function needed to affect the *flags_ptr value when re-using the last-found match. Wayne Davison 2007-05-21 03:08:55 +00:00
  • cf1b4969b9 The recv_file_entry() function needed to remember the gid flags so that it can reuse them when the gid stays the same. Wayne Davison 2007-05-21 03:08:01 +00:00
  • 434e77193c Set -x option to diagnose what is going wrong on FreeBSD. Wayne Davison 2007-05-21 02:31:20 +00:00
  • 858d45f160 Cast some F_OWNER()/F_GROUP() values to make sure that we don't get a signed/unsigned compiler warning on some systems. Wayne Davison 2007-05-21 02:17:48 +00:00
  • 63186ec077 Fixed a problem in a couple OS's sys_acl_get_access_bits() functions. Wayne Davison 2007-05-21 02:09:45 +00:00
  • dfcb386569 Make sure that the scratch dirs have rwx permissions before we try a recursive rm. Wayne Davison 2007-05-21 02:06:51 +00:00
  • d15f2ff0cf Tweaked a sentence in the --size-only section. Wayne Davison 2007-05-21 01:06:16 +00:00
  • c395acd804 Create a symlink back to the source dir in the scratchdir of a test. Wayne Davison 2007-05-21 01:05:36 +00:00
  • 030820d5dc - Unified the formerly separate user & group name-lists into a single name-list. On POSIX systems, this list will be sorted with the user names first, so the code will work essentially the same way it did before for the currently supported OSes. However, the code will now more easily support non-POSIX ACL setups such as (hopefully) the one used in OS X. - Increased the (potentially) available access-bit storage for name elements from 3 to 31 bits. For non-name elements, the access bits now have the potential to store 7 bits instead of 3. (All the current POSIX implementations still error-check their values at 3 bits, but this will allow adding non-POSIX ACL setups more easily.) - The protocol that transmits the ACL information was changed to send names in a single list, and to use {read,write}_varint() functions instead of {read,write}_byte(). This supports sending access-bit values up to 32-bits (minus any bits reserved for xmit flags). - The construction of the internal access-bit value was moved into the lib/sysacls.c code, so that it could be handled in an appropriate manner for each OS. Wayne Davison 2007-05-21 01:04:40 +00:00
  • 043ef55b22 - Define what the valid access bits are for a name element and a non-name element. - Set a define when the OS needs the name-list sorted. - Got rid of the permset-related defines. - Got rid of some function prototypes that rsync doesn't need. - Got rid of the defines for the do-nothing ACL code. Wayne Davison 2007-05-21 01:04:37 +00:00
  • a30dcbc0a8 - Added a function to get/set all the access-bit values with a single call. This allows the per-OS compatibility code to construct the value with however many bits are supported by each OS. - Removed several functions that rsync doesn't (and won't) need. - Got rid of the do-nothing ACL code (the ACL code in rsync should be disabled on a system that we can't support). Wayne Davison 2007-05-21 01:04:34 +00:00
  • 02f0227e87 Changed SUBPROTOCOL_VERSION from 2 to 3 because of the ACL protocol changes. Wayne Davison 2007-05-21 01:04:31 +00:00
  • 142a5e7b8b Moved GID_NONE define from rsync.h to uidlist.c. Wayne Davison 2007-05-20 07:40:07 +00:00
  • fdfc67406c - Added more users and some groups to one of the files we're copying. Wayne Davison 2007-05-20 07:10:48 +00:00
  • fb7b9ddcb1 - Use F_OWNER() and F_GROUP() instead of F_UID() and F_GID(). Wayne Davison 2007-05-20 07:10:45 +00:00
  • 4ade505c7e - Use F_OWNER() and F_GROUP() instead of F_UID() and F_GID(). - Use the new FLAG_SKIP_GROUP define. Wayne Davison 2007-05-20 07:10:41 +00:00
  • 1564cd5a87 - Use F_OWNER() and F_GROUP() instead of F_UID() and F_GID(). - Made recv_file_entry() name the xmit-flags variable "xflags" to prevent confusion with the internal flags value we're creating. - Added an arg to the calls of recv_group_name() and match_gid(). - Use the improved function names: send_id_list() and recv_id_list(). - Improved the display of the GID values in output_flist(). Wayne Davison 2007-05-20 07:10:37 +00:00
  • 33233b4900 - Fixed a bug in the match_racl_ids() function's iteration. - Fixed a bug with preserving a group ID in an ACL when running as a non-super user that the user is not a member of. Wayne Davison 2007-05-20 07:10:34 +00:00
  • d6b422a61c - Changed id & id2 from int to id_t in the struct iflist. - Added a uint16 flags var to struct iflist. - We now mark a group with FLAG_SKIP_GROUP if the receiving user can't set a group rather than turning it into GID_NONE. This allows us to keep the real group ID mapping, which is needed by the ACL code. Wayne Davison 2007-05-20 07:10:31 +00:00
  • ff2001b91b - Added FLAG_SKIP_GROUP define. - Removed F_UID() and F_GID() defines. Wayne Davison 2007-05-20 07:10:28 +00:00
  • d858b27400 A couple more minor tweaks. Wayne Davison 2007-05-08 17:04:05 +00:00
  • 1874f7e2e1 Improved the documentation on the "quick check" algorithm and the --size-only option. Wayne Davison 2007-05-08 17:01:24 +00:00