
Frequently Asked Questions
--------------------------

Questions:

 -> Why not use mirror, rsync, fmirror etc etc?
 -> Why does sitecopy complain that it can't create directories which
 already exist on the server?
 -> What is WebDAV?
 -> Should I use WebDAV or FTP?
 -> Can I maintain CGI scripts using sitecopy over WebDAV?
 -> Why do I get "403 Forbidden" when I use --fetch against mod_dav 1.0
    or later?
 -> Why doesn't sitecopy work from a cron script?
 -> How can I use sitecopy with RCS, which changes file modification
    times when I check in and out, though the file contents don't change?
 -> Can I get sitecopy to rename files remotely, when I rename files
    locally?

-> Why not use mirror, rsync, fmirror etc etc?

sitecopy is for maintaining web sites via FTP. This cannot be done
with rsync or fmirror, which require shell accounts on the web server.

You can use mirror instead of sitecopy - the basic functionality is
duplicated.  But, sitecopy does NOT go to the FTP server and see
what's there every time - this is the fundamental difference between
sitecopy and mirror.  This saves bandwidth, and startup time.
sitecopy also has some features missing in mirror (though the reverse
is also true), such as remote file move and interactive confirmations.

sitecopy can use WebDAV as well as FTP - this brings all the
advantages of WebDAV to site maintenance (better security, speed etc).
See <http://www.webdav.org/> for more information about WebDAV.

-> Why does sitecopy complain that it can't create directories which
already exist on the server?

This is not a bug. If sitecopy doesn't know that the directories exist
on the server, it will try to create them. When you start using
sitecopy with a site which has already been uploaded to the remote
server, you should tell sitecopy this, using `sitecopy --catchup'.
 
-> What is WebDAV?

See the FAQ sheet at:

http://www.webdav.org/other/faq.html

-> Should I use WebDAV or FTP?

From sitecopy's perspective, you should take into account the
following points:

- Given correct server configuration, DAV is faster than FTP and
has more secure authentication mechanisms.
- Currently, you cannot set the file permissions of remote files
using DAV. This can be done with FTP. This might be important to
you if you use a lot of CGI scripts.

See the WebDAV FAQ for more comparison of WebDAV vs FTP.

-> Can I maintain CGI scripts using sitecopy over WebDAV?

Yes, but you have to use configure the server correctly.  The details
for mod_dav are given in: 
   http://www.webdav.org/mod_dav/install.html#complex

-> Why do I get "403 Forbidden" when I use --fetch against mod_dav 1.0
   or later?

This is because the DAVDepthInfinity directive was introduced in mod_dav 1.0
to prevent denial-of-service attacks against mod_dav.  Have your server 
administrator put

   DAVDepthInfinity on

in the relevant section of the server configuration file.

-> Why doesn't sitecopy work from a cron job?

Sometimes the crond doesn't set $HOME, which sitecopy needs to know to
find .sitecopyrc, and the .sitecopy directory.  Try:

  sitecopy --storepath=/real/home/.sitecopy
     --rcfile=/real/home/.sitecopyrc --update thesite

(but all on one line!)

-> How can I use sitecopy with RCS, which changes file modification
   times when I check in and out, though the file contents don't change?

You can use checksum mode: in this mode, sitecopy uses a checksum of
the file contents rather than the modification time and size to
determine whether a file has changed or not.  Put:
    state checksum
in the rcfile entry.

-> Can I get sitecopy to rename files remotely, when I rename files
   locally?

Yes! Use checksum mode, as above, and also use
   checkmoved rename
in the rcfile entry.

GNOME frontend ('xsitecopy')
----------------------------

1. In the site tree, I sometimes get empty directories, when I know
there are files in those directories.  What's going on?

Check your excludes. If you are excluding the files in that directory,
then xsitecopy doesn't know about them, so won't display them.  If you
didn't mean to exclude them, then remove the relevant exclude and
choose "Rescan selected" from the operations menu.  Your "hidden"
files should then appear.  If you're sure the files are not excluded,
but they are still not showing up, then report the occurance as a bug.

