Rsync with OS X 10.3
dualusbibook at yahoo.ca
Sat Jan 24 20:41:15 GMT 2009
I've done some digging around and using the condition if(unicharName[index]==0x003B) /* == ':' */ we never meet this case. I tried changing the unicharName[index]==':' and the subsequent slash unicharName. After rsync is compiled I am able to handle the slash cases again.
We are dealing with the single character in the array so would this be safe?
The only oddity now is if I run this for the first time on the backupbouncer src and dst folder I get the following error:
rsync: rsync_xal_set: lsetxattr("Src/60-bsd-flags/dir-with-flags","com.apple.FinderInfo") failed: Unknown error: -5000 (-5000)
When I run again I get no error.
I'm using the following argumens: -aNXxH --protect-args --fileflags --force-change
--- On Sat, 1/24/09, Mac User FR <macuserfr at free.fr> wrote:
> From: Mac User FR <macuserfr at free.fr>
> Subject: Re: Rsync with OS X 10.3
> To: dualusbibook at yahoo.ca
> Cc: rsync at lists.samba.org
> Received: Saturday, January 24, 2009, 5:35 AM
> Le 24 janv. 09 à 08:46, Jason a écrit :
> > Hi Again,
> > I may have spoke too soon regarding the second :/
> patch. Using the first patch (non-unicode version) I am
> able to deal with the :/ issue. However, I've
> recompiled using the second fix and I am now getting the
> > rsync: get_xattr_names: llistxattr("Src/test :
> one",1024) failed: Invalid argument (22)
> > rsync error: some files/attrs were not transferred
> (see previous errors) (code 23) at main.c(1040)
> > The folder I'm trying to copy is "Test /
> > I've separated my different tests now so I
> won't be able to confuse which patch has been applied
> where. I may have gotten my folders mixed before. I'm
> not actually working on the 10.3 but rather through the
> > Any idea on what went wrong with the unicode patch?
> > Jason
> Hmmm, I have no clue of what's wrong.
> You may try a debug output like this:
> + unsigned int index=0;
> = CFStringGetCharacters(cfStringName, range, unicharName);
> if(unicharName[index]==0x003B) /* == ':' */
> fprintf(stderr, "index=%u\tcharacter=%c\t
> replaced by=%c\n", index, (char)unicharName[index],
> unicharName[index]=0x002F; /* == '/' */
> = carbon_error=FSMakeFSRefUnicode(&parentRef,
> range.length, unicharName, kTextEncodingUnknown, ref);
> It should show you which character is replaced. For your
> folder "Test / one" it should output (index starts
> from 0):
> index=5 character=: replaced by=/
> If it output another thing, I'm curious to know what.
> For debugging you may use -vvvv to enable more (maybe
> useful) debug messages.
Instant Messaging, free SMS, sharing photos and more... Try the new Yahoo! Canada Messenger at http://ca.beta.messenger.yahoo.com/
More information about the rsync