For some reason rsync-2.6.4 compiled by me on HP-UX 11.23 in 64-bit mode is adding extra path elements when running in server mode. This is a new problem. It did not used to do that with older versions and it does not do that with compilations on other systems. $ rsync -a ewok::cadroot/release/bin/ . $ ls bin Where did that extra directory come from? Testing with a different machine works as expected. $ rsync -a wookie::cadroot/release/bin/ . $ ls set_env ...more contents of bin not shown... In the bad case I am getting an extra directory in the path. I don't get this in other configurations. How can I debug this? I am only seeing this problem on HP-UX. And of course that is the platform I am trying to use. Any hints on how to debug why this server mode is adding an extra directory in the path? Here is my configuration. The machine ewok is an HP-UX machine. I set up an rsync server running there using this configuration: uid = nobody gid = nogroup [cadroot] path = /mnt/tools comment = CADROOT Command to access the server: rsync -avvvv ewok::cadroot/release/bin/ . opening tcp connection to ewok port 873 opening connection using --server --sender -vvvvlogDtpr . cadroot/release/bin/ (Client) Protocol versions: remote=29, negotiated=29 receiving file list ... recv_file_name(bin) recv_file_name(bin/set_env) ... lots of lines of files ... The path that gets created is then ./bin/* and not ./*. There is an extra ./bin/ in the path. That's not good. But if I set up a different machine, in this case a Debian Gnu/Linux amd64 running the Debian sid 64-bit 2.6.4 I get this result. rsync -avvvv wookie::cadroot/release/bin/ . opening tcp connection to wookie port 873 opening connection using --server --sender -vvvvlogDtpr . cadroot/release/bin/ (Client) Protocol versions: remote=29, negotiated=29 receiving file list ... recv_file_name(.) recv_file_name(set_env) ... lots of lines of files ... That is fine. The files are mapped to the right location and everything works as I expect. As can be seen in the debug output there is no extra 'bin' directory element. If I use 'ssh' and remote shell over to the broken machine then things work as expected. $ rsync -a -e ssh ewok:/mnt/tools/cadroot/release/bin/ . $ ls set_env ...more contents of bin not shown... I configured using the native HP ANSI C compiler like this: ./configure CC=cc CFLAGS='-Ae +DD64' make If I take that same code base and compile it on my Debian GNU/Linux system I get a working result without the extra 'bin' directory. So this must have some factor of outside influence that is causing this difference in server side behavior. Thanks Bob
On Tue, May 03, 2005 at 05:26:10PM -0600, Bob Proulx wrote:> $ rsync -a ewok::cadroot/release/bin/ . > $ ls > binIs your shell stripping off trailing slashes? Try running a basic shell, such as /bin/sh and see if that makes a difference. You can also use the -vv option to display the command that rsync is sending to the remote daemon to see if the trailing slash is still there or not (2.6.4 mentions the command where earlier rsync versions did not). I'm doubtful that this is caused by rsync. One potential work-around: try adding a trailing dot after the slash: $ rsync -a ewok::cadroot/release/bin/. . ..wayne..