rsync/rsync.git
16 years agoIf the server is exiting with an error, delay our exit just a little
Wayne Davison [Sun, 6 May 2007 19:44:26 +0000 (19:44 +0000)]
If the server is exiting with an error, delay our exit just a little
in order to give the client side a better chance of reading any error
message we just sent.

16 years agoClumped some option-sending together that only happens on the sending side.
Wayne Davison [Sat, 5 May 2007 18:34:37 +0000 (18:34 +0000)]
Clumped some option-sending together that only happens on the sending side.

16 years agoTry a better way to deduce if the xattr functions we need are there.
Wayne Davison [Mon, 30 Apr 2007 02:58:14 +0000 (02:58 +0000)]
Try a better way to deduce if the xattr functions we need are there.

16 years agoAdded a "sleep 1" to make certain failures more reproducible.
Wayne Davison [Sun, 29 Apr 2007 15:01:57 +0000 (15:01 +0000)]
Added a "sleep 1" to make certain failures more reproducible.

16 years agoUse the --super option for the non-fake test, just in case a system
Wayne Davison [Sat, 28 Apr 2007 23:47:16 +0000 (23:47 +0000)]
Use the --super option for the non-fake test, just in case a system
can chown without appearing to be root (uid 0).

16 years agoIf the lgetxattr() function isn't found, disable xattr support.
Wayne Davison [Sat, 28 Apr 2007 18:40:23 +0000 (18:40 +0000)]
If the lgetxattr() function isn't found, disable xattr support.

16 years agoAuthorize 10.0.1.2 for one of the BSD test-farm systems.
Wayne Davison [Sat, 28 Apr 2007 17:22:53 +0000 (17:22 +0000)]
Authorize 10.0.1.2 for one of the BSD test-farm systems.

16 years agoImproved the --iconv description.
Wayne Davison [Fri, 27 Apr 2007 14:09:22 +0000 (14:09 +0000)]
Improved the --iconv description.

16 years agoAdded the $(CHECK_SYMLINKS) var to installcheck target.
Wayne Davison [Fri, 27 Apr 2007 13:52:07 +0000 (13:52 +0000)]
Added the $(CHECK_SYMLINKS) var to installcheck target.

16 years agoFixed the buildability of the file without ICONV_OPTION enabled.
Wayne Davison [Fri, 27 Apr 2007 00:19:21 +0000 (00:19 +0000)]
Fixed the buildability of the file without ICONV_OPTION enabled.

16 years agoFixed the comment about --iconv.
Wayne Davison [Fri, 27 Apr 2007 00:19:02 +0000 (00:19 +0000)]
Fixed the comment about --iconv.

16 years agoGot rid of the --no-ir kluge in this test.
Wayne Davison [Thu, 26 Apr 2007 23:15:51 +0000 (23:15 +0000)]
Got rid of the --no-ir kluge in this test.

16 years ago- Fixed the merging of duplicated directory hierarchies in incremental
Wayne Davison [Thu, 26 Apr 2007 23:15:47 +0000 (23:15 +0000)]
- Fixed the merging of duplicated directory hierarchies in incremental
  recursion mode.
- Fixed some problems with --iconv in incremental recursion mode.

16 years agoRefer to the right sorted/unsorted file list array in touch_up_dirs().
Wayne Davison [Thu, 26 Apr 2007 23:15:43 +0000 (23:15 +0000)]
Refer to the right sorted/unsorted file list array in touch_up_dirs().

16 years agoThe server now needs the F_NDX() data for --iconv with incremental
Wayne Davison [Thu, 26 Apr 2007 23:15:39 +0000 (23:15 +0000)]
The server now needs the F_NDX() data for --iconv with incremental
recursion.

16 years agoAdded FLAG_DUPLICATE for the sender to mark a duplicate flist entry
Wayne Davison [Thu, 26 Apr 2007 23:15:36 +0000 (23:15 +0000)]
Added FLAG_DUPLICATE for the sender to mark a duplicate flist entry
(which is better on the sending side than clearing the duplicate's
data).

16 years agoPrevent a hang in incremental-recursion mode when the receiver encounters
Wayne Davison [Thu, 26 Apr 2007 23:06:38 +0000 (23:06 +0000)]
Prevent a hang in incremental-recursion mode when the receiver encounters
an error updating the file:  the receiver now sends MSG_NO_SEND to the
generator so that it knows when all outstanding work is completed.

16 years agoThe --iconv option has now made it to the trunk.
Wayne Davison [Thu, 26 Apr 2007 05:53:13 +0000 (05:53 +0000)]
The --iconv option has now made it to the trunk.

16 years agoChanged a "mkdir -p" into a makedir.
Wayne Davison [Thu, 26 Apr 2007 05:32:38 +0000 (05:32 +0000)]
Changed a "mkdir -p" into a makedir.

16 years agoChanged F_ROOTDIR() to F_PATHNAME().
Wayne Davison [Thu, 26 Apr 2007 00:23:52 +0000 (00:23 +0000)]
Changed F_ROOTDIR() to F_PATHNAME().

16 years ago- Renamed flist_dir to pathname to avoid confusion with dir_flist var.
Wayne Davison [Thu, 26 Apr 2007 00:23:48 +0000 (00:23 +0000)]
- Renamed flist_dir to pathname to avoid confusion with dir_flist var.
- Renamed push_flist_dir() to push_pathname().
- Set a pool var in recv_file_ent() instead of playing games with flist.
- Simplified the top_flags computation in send_file_list().

16 years agoCreate symlinks for fake tests.
Wayne Davison [Tue, 24 Apr 2007 19:33:12 +0000 (19:33 +0000)]
Create symlinks for fake tests.

16 years agoPut the files down in a subdir so that we test backup's dir-
Wayne Davison [Tue, 24 Apr 2007 19:03:54 +0000 (19:03 +0000)]
Put the files down in a subdir so that we test backup's dir-
creating functionality (which had a bug until recently).

16 years agoNeed to call unmake_file() instead of free() on a file_struct.
Wayne Davison [Tue, 24 Apr 2007 18:43:31 +0000 (18:43 +0000)]
Need to call unmake_file() instead of free() on a file_struct.

16 years agoUse a single makepath call with multiple args.
Wayne Davison [Tue, 24 Apr 2007 18:21:08 +0000 (18:21 +0000)]
Use a single makepath call with multiple args.

16 years agoAllow makepath to take multiple args.
Wayne Davison [Tue, 24 Apr 2007 18:19:25 +0000 (18:19 +0000)]
Allow makepath to take multiple args.

16 years agoSpecify an arg sequence that was recently failing to work.
Wayne Davison [Tue, 24 Apr 2007 18:18:57 +0000 (18:18 +0000)]
Specify an arg sequence that was recently failing to work.

16 years agoUse a slightly different rsync calling syntax.
Wayne Davison [Tue, 24 Apr 2007 18:18:29 +0000 (18:18 +0000)]
Use a slightly different rsync calling syntax.

16 years agoFixed a directory push problem with the user specified an arg
Wayne Davison [Tue, 24 Apr 2007 17:53:54 +0000 (17:53 +0000)]
Fixed a directory push problem with the user specified an arg
with a subdir followed by an arg with no subdirs.

16 years agoThe chown script now has a --fake-super mode if the script name has
Wayne Davison [Tue, 24 Apr 2007 17:22:01 +0000 (17:22 +0000)]
The chown script now has a --fake-super mode if the script name has
"fake" in it.  Added a symlink named chown-fake.test.

16 years agoMade the devices.test script do a real device test when called
Wayne Davison [Tue, 24 Apr 2007 17:06:09 +0000 (17:06 +0000)]
Made the devices.test script do a real device test when called
normally, or a fake-device test when called with "fake" in the
script name.  Added a devices-fake.test symlink.

16 years agoConditionalize xattr code for systems without xattr support.
Wayne Davison [Tue, 24 Apr 2007 16:54:38 +0000 (16:54 +0000)]
Conditionalize xattr code for systems without xattr support.

16 years agoA little more popt tweaking.
Wayne Davison [Tue, 24 Apr 2007 16:11:02 +0000 (16:11 +0000)]
A little more popt tweaking.

16 years agoFixed build problem for tls for those using the included popt.
Wayne Davison [Tue, 24 Apr 2007 16:06:29 +0000 (16:06 +0000)]
Fixed build problem for tls for those using the included popt.

16 years agoMoved the header info from smb_acls.h into lib/sysacls.h.
Wayne Davison [Tue, 24 Apr 2007 08:11:02 +0000 (08:11 +0000)]
Moved the header info from smb_acls.h into lib/sysacls.h.

16 years agoImproved the usage message.
Wayne Davison [Tue, 24 Apr 2007 08:00:49 +0000 (08:00 +0000)]
Improved the usage message.

16 years agoAdded arg-parsing to tls.c.
Wayne Davison [Tue, 24 Apr 2007 07:52:45 +0000 (07:52 +0000)]
Added arg-parsing to tls.c.

16 years agoAdding the --fake-super option.
Wayne Davison [Tue, 24 Apr 2007 07:32:44 +0000 (07:32 +0000)]
Adding the --fake-super option.

16 years agoImproved the SUBPROTOCOL_VERSION code a little, and bumped the value
Wayne Davison [Mon, 23 Apr 2007 19:54:07 +0000 (19:54 +0000)]
Improved the SUBPROTOCOL_VERSION code a little, and bumped the value
to 2.

16 years agoChanged the prerelease-protocol support to use an idiom that will not
Wayne Davison [Mon, 23 Apr 2007 19:03:29 +0000 (19:03 +0000)]
Changed the prerelease-protocol support to use an idiom that will not
slow down the initial version handshake between the two sides.

16 years agoNo need to reset quiet, since we tell parse_arguments() that it
Wayne Davison [Mon, 23 Apr 2007 18:40:00 +0000 (18:40 +0000)]
No need to reset quiet, since we tell parse_arguments() that it
should prevent quiet from getting set.

16 years agoTweaked --version in a few minor ways, including the mentioning of
Wayne Davison [Sat, 21 Apr 2007 19:46:19 +0000 (19:46 +0000)]
Tweaked --version in a few minor ways, including the mentioning of
the SUBPROTOCOL_VERSION if it is non-zero.

16 years agoBatch files need to be written with the new subprotocol value
Wayne Davison [Sat, 21 Apr 2007 19:32:46 +0000 (19:32 +0000)]
Batch files need to be written with the new subprotocol value
for protocol 30.

16 years agoMention how many bits our local timestamps support.
Wayne Davison [Sat, 21 Apr 2007 19:31:54 +0000 (19:31 +0000)]
Mention how many bits our local timestamps support.

16 years agoMention the latest changes that have been made.
Wayne Davison [Sat, 21 Apr 2007 19:27:04 +0000 (19:27 +0000)]
Mention the latest changes that have been made.

16 years agoAdded a way to exchange a protocol's sub-protocol value. This will be
Wayne Davison [Sat, 21 Apr 2007 18:40:42 +0000 (18:40 +0000)]
Added a way to exchange a protocol's sub-protocol value.  This will be
0 when a protocol goes final, and non-zero for an intermediary CVS
version of a protocol that is in flux.  If we find that we're talking
to a CVS version with a different sub-protocol #, we automatically
drop back to the prior protocol that the sides have in common.

17 years agoWe now allow verbose messages to be sent when forwarding incremental-recursion
Wayne Davison [Fri, 20 Apr 2007 22:40:01 +0000 (22:40 +0000)]
We now allow verbose messages to be sent when forwarding incremental-recursion
file-list data from the receiver to the generator.

17 years agoAdded a message queue for the receiver->generator messages to handle the case
Wayne Davison [Fri, 20 Apr 2007 22:39:58 +0000 (22:39 +0000)]
Added a message queue for the receiver->generator messages to handle the case
where the message pipe is being used to forward the file-list data.

17 years agoVerify that the modtime value is not being truncated, and complain if it is.
Wayne Davison [Fri, 20 Apr 2007 22:39:55 +0000 (22:39 +0000)]
Verify that the modtime value is not being truncated, and complain if it is.

17 years agoCheck the size of a time_t.
Wayne Davison [Fri, 20 Apr 2007 21:39:08 +0000 (21:39 +0000)]
Check the size of a time_t.

17 years agoCall the new {read,write}_varlong30() names for the long-int
Wayne Davison [Fri, 20 Apr 2007 08:17:06 +0000 (08:17 +0000)]
Call the new {read,write}_varlong30() names for the long-int
functions that are protocol sensitive.

17 years ago- Call the new {read,write}_varlong30() names for the long-int
Wayne Davison [Fri, 20 Apr 2007 08:17:03 +0000 (08:17 +0000)]
- Call the new {read,write}_varlong30() names for the long-int
  functions that are protocol sensitive.
- Changed the sending of the time value in protocol 30 to support
  64-bit values without bloating positive 32-bit values.

17 years agoGot rid of the NVAL*() defines.
Wayne Davison [Fri, 20 Apr 2007 08:16:59 +0000 (08:16 +0000)]
Got rid of the NVAL*() defines.

17 years agoAdded {read,write}_varlong30() inline functions to use the
Wayne Davison [Fri, 20 Apr 2007 08:16:56 +0000 (08:16 +0000)]
Added {read,write}_varlong30() inline functions to use the
right long-int function based on protocol version.

17 years ago- Changed the {read,write}_longint() functions into separate
Wayne Davison [Fri, 20 Apr 2007 08:16:53 +0000 (08:16 +0000)]
- Changed the {read,write}_longint() functions into separate
  {read,write}_varlong() and {read,write}_longint() functions:
  the former handles variable-length transmissions, and the
  latter is backward-compatible with older rsync versions.
- Improved the {read,write}_var{int,long}() functions to be
  simpler and to use a different byte order.
- The {read_write}_varlong() functions also allow the caller
  to specify the minimum number of bytes to send.  This allows
  time values to be sent efficiently with a 4-byte minimum,
  while length values continue to be sent with a (more optimal
  for them) 3-byte minimum.

17 years agoChanged the *_abbbrevint() functions to *_varint().
Wayne Davison [Fri, 20 Apr 2007 02:17:58 +0000 (02:17 +0000)]
Changed the *_abbbrevint() functions to *_varint().

17 years agoGot rid of protocol-29 check.
Wayne Davison [Wed, 18 Apr 2007 03:30:53 +0000 (03:30 +0000)]
Got rid of protocol-29 check.

17 years agoIf ssh access is not enabled, use a shell function to test that
Wayne Davison [Wed, 18 Apr 2007 03:23:26 +0000 (03:23 +0000)]
If ssh access is not enabled, use a shell function to test that
we can copy using a spawned rsync process.

17 years agoGot rid of ACL's uid/gid iterators in favor of a single function
Wayne Davison [Wed, 18 Apr 2007 02:33:02 +0000 (02:33 +0000)]
Got rid of ACL's uid/gid iterators in favor of a single function
that converts the uids & gids in a loop.

17 years agoCan eliminate the testtmp.* ignore rule now.
Wayne Davison [Sat, 14 Apr 2007 07:11:32 +0000 (07:11 +0000)]
Can eliminate the testtmp.* ignore rule now.

17 years agoChanged scratchbase from using a "testtmp." name prefix to using a
Wayne Davison [Sat, 14 Apr 2007 07:10:52 +0000 (07:10 +0000)]
Changed scratchbase from using a "testtmp." name prefix to using a
"testtmp/" name prefix (i.e. using a subdir).  This allows me to create
a testtmp as a symlink to a different file system to assist with testing
ACLs and xattrs.

17 years agoImproved the description of the --checksum option.
Wayne Davison [Thu, 12 Apr 2007 02:44:41 +0000 (02:44 +0000)]
Improved the description of the --checksum option.

17 years agoThe check for GCC <= 2 was in the wrong part of an #ifdef sequence.
Wayne Davison [Thu, 12 Apr 2007 02:37:31 +0000 (02:37 +0000)]
The check for GCC <= 2 was in the wrong part of an #ifdef sequence.

17 years agoAllow a local-server copy to use -X and -A even if a --protocol-version
Wayne Davison [Sat, 7 Apr 2007 19:22:20 +0000 (19:22 +0000)]
Allow a local-server copy to use -X and -A even if a --protocol-version
is forced, which makes some testing idioms easier.

17 years agoThe improved --xattrs option is landing on the trunk.
Wayne Davison [Sat, 7 Apr 2007 17:22:25 +0000 (17:22 +0000)]
The improved --xattrs option is landing on the trunk.

17 years agoTweaked an error message and a comment.
Wayne Davison [Sat, 7 Apr 2007 17:22:09 +0000 (17:22 +0000)]
Tweaked an error message and a comment.

17 years agoImproved push_dir() error reporting.
Wayne Davison [Sun, 25 Mar 2007 17:01:48 +0000 (17:01 +0000)]
Improved push_dir() error reporting.

17 years agoThe print now uses a more straight-forward map() instead of a join().
Wayne Davison [Wed, 21 Mar 2007 13:51:54 +0000 (13:51 +0000)]
The print now uses a more straight-forward map() instead of a join().

17 years agoUse relative directories, and note that the merge code is only
Wayne Davison [Sun, 18 Mar 2007 20:41:51 +0000 (20:41 +0000)]
Use relative directories, and note that the merge code is only
working because it is not yet using --inc-recursion.

17 years agoAdded a test of a multi-file copy from a nested directory using a
Wayne Davison [Sun, 18 Mar 2007 20:40:01 +0000 (20:40 +0000)]
Added a test of a multi-file copy from a nested directory using a
relative source path.

17 years agoOne more tweak.
Wayne Davison [Sun, 18 Mar 2007 20:05:24 +0000 (20:05 +0000)]
One more tweak.

17 years agoFixed a multi-file, no-dir, relative copy, such as:
Wayne Davison [Sun, 18 Mar 2007 17:35:39 +0000 (17:35 +0000)]
Fixed a multi-file, no-dir, relative copy, such as:
  rsync -av lib/*.c /var/tmp/lib

17 years agoPut the checksum seed at the end of the checksum2 buffer in md5 mode.
Wayne Davison [Sun, 18 Mar 2007 06:28:51 +0000 (06:28 +0000)]
Put the checksum seed at the end of the checksum2 buffer in md5 mode.

17 years agoMade a char* arg const.
Wayne Davison [Sun, 18 Mar 2007 06:20:07 +0000 (06:20 +0000)]
Made a char* arg const.

17 years agoProtocol 30 now uses MD5 checksums instead of MD4.
Wayne Davison [Sun, 18 Mar 2007 06:00:53 +0000 (06:00 +0000)]
Protocol 30 now uses MD5 checksums instead of MD4.

17 years agoIn option descriptions, the short form of --copy-dirlinks is -k, not -K.
Wayne Davison [Thu, 15 Mar 2007 23:17:26 +0000 (23:17 +0000)]
In option descriptions, the short form of --copy-dirlinks is -k, not -K.

17 years agoI managed to duplicate the hang, so hopefully it's fixed now.
Wayne Davison [Wed, 14 Mar 2007 00:22:05 +0000 (00:22 +0000)]
I managed to duplicate the hang, so hopefully it's fixed now.
Let's restore the full test suite and find out.

17 years agoFixed more potential hang cases for incremental recursion.
Wayne Davison [Wed, 14 Mar 2007 00:20:44 +0000 (00:20 +0000)]
Fixed more potential hang cases for incremental recursion.

17 years agoNext step: allow protocol 30 to be used, but disallow the use
Wayne Davison [Wed, 14 Mar 2007 00:02:39 +0000 (00:02 +0000)]
Next step:  allow protocol 30 to be used, but disallow the use
of incremental recursion.  If this still avoids the hanging, I
will need to try to track down how inc_recurse can deadlock.

17 years agoAdded an explicit option that will disallow the use of
Wayne Davison [Wed, 14 Mar 2007 00:00:01 +0000 (00:00 +0000)]
Added an explicit option that will disallow the use of
incremental recursive mode (and an option to negate that).

17 years agoNext step: see if the hang returns with a partial restoration of
Wayne Davison [Mon, 12 Mar 2007 18:05:03 +0000 (18:05 +0000)]
Next step: see if the hang returns with a partial restoration of
protocol 30.

17 years agoIt looks like some of the compile-farm hosts are hanging on this test,
Wayne Davison [Mon, 12 Mar 2007 04:56:15 +0000 (04:56 +0000)]
It looks like some of the compile-farm hosts are hanging on this test,
so let's try some remote-diagnostics (let's try protocol 29 first).

17 years agoChanged the sending of device major/minor numbers in protocol 30 to
Wayne Davison [Mon, 12 Mar 2007 04:33:30 +0000 (04:33 +0000)]
Changed the sending of device major/minor numbers in protocol 30 to
take fewer protocol bytes and use one less bit in the XMIT_* flags.

17 years agoWhen a hard-linked device is duplicating the data from the prior
Wayne Davison [Sun, 11 Mar 2007 22:02:26 +0000 (22:02 +0000)]
When a hard-linked device is duplicating the data from the prior
device, we need to allocate 2 extra option slots for the device
numbers.

17 years agoDon't enable ACLs on darwin until we figure out how they work.
Wayne Davison [Sun, 11 Mar 2007 14:25:00 +0000 (14:25 +0000)]
Don't enable ACLs on darwin until we figure out how they work.

17 years agoLeave out two unneeded sys*_fd() functions due to their using
Wayne Davison [Sun, 11 Mar 2007 07:31:17 +0000 (07:31 +0000)]
Leave out two unneeded sys*_fd() functions due to their using
a function & struct that is not available in the rsync code.

17 years agoWe now compile on systems where ENOTSUP is not defined.
Wayne Davison [Sun, 11 Mar 2007 07:21:07 +0000 (07:21 +0000)]
We now compile on systems where ENOTSUP is not defined.

17 years agoLeave SUPPORT_ACLS undefined instead of giving it a 0 value.
Wayne Davison [Sun, 11 Mar 2007 07:13:11 +0000 (07:13 +0000)]
Leave SUPPORT_ACLS undefined instead of giving it a 0 value.

17 years agoSilence a compiler warning about a printf() %d mismatch.
Wayne Davison [Sun, 11 Mar 2007 06:50:48 +0000 (06:50 +0000)]
Silence a compiler warning about a printf() %d mismatch.

17 years agoTemporarily skip this test as it is taking too long on the
Wayne Davison [Sun, 11 Mar 2007 06:27:59 +0000 (06:27 +0000)]
Temporarily skip this test as it is taking too long on the
compile farm at the moment.

17 years agoUse the abbrevint30 routines in a few more places.
Wayne Davison [Sun, 11 Mar 2007 05:59:46 +0000 (05:59 +0000)]
Use the abbrevint30 routines in a few more places.

17 years agoMake configure continue if ACL support is not found and the user
Wayne Davison [Sun, 11 Mar 2007 05:54:21 +0000 (05:54 +0000)]
Make configure continue if ACL support is not found and the user
didn't explicitly ask for ACLs.

17 years agoMoved the new static internal functions from rsync.h to io.h.
Wayne Davison [Sun, 11 Mar 2007 05:43:55 +0000 (05:43 +0000)]
Moved the new static internal functions from h to io.h.

17 years agoThe ACL support has arrived! This version has a brand new protocol
Wayne Davison [Sun, 11 Mar 2007 00:13:34 +0000 (00:13 +0000)]
The ACL support has arrived!  This version has a brand new protocol
that makes it incompatible with all prior versions.  A patch will be
provided to allow talking with older (patched) rsync versions.

17 years agoChanged the code that cleans up the old nightly releases from
Wayne Davison [Thu, 8 Mar 2007 02:00:48 +0000 (02:00 +0000)]
Changed the code that cleans up the old nightly releases from
time-based to count-based (keeping the newest 10 items).

17 years agoDecided that we don't really want the rule that preserves the
Wayne Davison [Mon, 5 Mar 2007 17:08:00 +0000 (17:08 +0000)]
Decided that we don't really want the rule that preserves the
backup-suffix files to be perishable.

17 years agoA local server needs to process the auto-exclude rules since we don't
Wayne Davison [Sun, 4 Mar 2007 14:56:22 +0000 (14:56 +0000)]
A local server needs to process the auto-exclude rules since we don't
send the excludes over the socket for a local copy.

17 years agoMention the slight change to the auto-filter rules that are created
Wayne Davison [Sat, 3 Mar 2007 01:14:08 +0000 (01:14 +0000)]
Mention the slight change to the auto-filter rules that are created
for the --backup option and the --partial-dir option.

17 years agoMoved a couple auto-filter rules from options.c into compat.c so
Wayne Davison [Sat, 3 Mar 2007 01:06:45 +0000 (01:06 +0000)]
Moved a couple auto-filter rules from options.c into compat.c so
that we are sure to only apply the perishable filter modifier when
the receiving side is new enough to understand it.

17 years agoMake the auto-generated protect filters use the perishable flag so
Wayne Davison [Fri, 2 Mar 2007 21:14:01 +0000 (21:14 +0000)]
Make the auto-generated protect filters use the perishable flag so
that they don't stop a vanished directory from being removed.