From olaf2008 at team-noehring.de Tue Sep 23 10:13:23 2008 From: olaf2008 at team-noehring.de (=?iso-8859-15?Q?Olaf_N=F6hring?=) Date: Tue, 23 Sep 2008 16:13:23 +0200 Subject: [Unison-hackers] need help: permission denied when Windows to NAS (Linux) backup Message-ID: Hi when I try to backup from my Windows machine TO my Windows machine everything works fine. But the situation is different: I own a IB-NAS2000-B ( http://raidsonic.de/de/pages/products/external_cases.php?we_objectID=4530 ). This system runs on Linux and is the target system for my backups (connected by 100mbit LAN). This means Windows -> -> -> Linux. After creating the temporary files like .unison.common.prf.c8ebbe.unison.tmp Unision reports common.prf Error in setting permissions: Permission denied [chmod(//Icybox/backup/o/1/.unison.common.prf.c8ebbe.unison.tmp)] with ALL files and folders. I checked http://www.cis.upenn.edu/~bcpierce/unison/download/releases/beta/unison-manual.html and http://alliance.seas.upenn.edu/~bcpierce/wiki/index.php but could not find an answer. You can find a screenshot of the Unision result here: http://team-noehring.de/extern/error/unison1.png Please help me. Thank you so much Olaf -- * together for better software * * http://www.team-noehring.de * From bcpierce at cis.upenn.edu Tue Sep 30 15:19:23 2008 From: bcpierce at cis.upenn.edu (Benjamin Pierce) Date: Tue, 30 Sep 2008 15:19:23 -0400 Subject: [Unison-hackers] path option 'root testing' bug In-Reply-To: <489ABEA6.5050706@ed.ac.uk> References: <489ABEA6.5050706@ed.ac.uk> Message-ID: Hi Matthew, I agree that Unison's current behavior (just failing) is probably less good than simply creating the directory it needs. If you (or someone) feel like having a go at fixing it, I'd be happy to accept a patch. The function Os.createDir is most of what's needed, but it should probably be called for every component of the path that's missing, not just the final one. Also, there's the question of what permissions should be used for the created directories. The "right thing" to do -- asking the other host what the permissions are for each one -- is probably to complicated to be worth the trouble, but any other choice is a bit arbitrary. Best, - Benjamin On Aug 7, 2008, at 5:21 AM, Matthew Richardson wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > I've encountered what looks like a well-reported 'bug' in unison, > which I'm > interested in having resolved, but I don't have any ocaml expertise > under my > belt, and thus am appealing to the list to try and get this looked at. > > The problem is simple - if you specify a path of format: > > path = a/b/c > > Then folders a and b must exist on both source and target prior to > unison > running - if this isn't true, then unison fails with the error: > > "path a/b is not valid because a/b is not a directory in one of the > replicas" > > I've had a look at the code, and I believe I can see why this is > occurring. As > far as I can tell, the unison code treats path options as temporary > moves of the > root to a new 'base'. In this case it moves to a/b and then tries > to sync from > there. As neither of these exist, it fails. > > The relevant code block is: > > | Some(name, path') -> > if not (isDir fspath here) then > let error = > if Path.isEmpty here then > (* error 1 *) > Printf.sprintf > "path %s is not valid because the root of one of the > replicas \ > is not a directory" > (Path.toString fullpath) > else > (* error 2 *) > Printf.sprintf > "path %s is not valid because %s is not a directory in > one of \ > the replicas" > (Path.toString fullpath) (Path.toString here) > > The test runs as follows: > > Test if both paths are directories. > > If path is 'empty' - error 1 reported. > Otherwise - error 2 reported. > > I would suggest that the following might be a better test: > > Test if both paths are directories. > > If path is 'empty' - error 1 reported. > If target isn't a directory, try recursively making the path and > repeating the > test - succeed or fail as appropriate. > If this 'mkdir -p' fails, report error 2. > > This should allow the problem of the directories not existing to be > resolved, > but should still fail if one replica has files, symlinks etc where a > directory > is expected. > > Of course, I might have completely misunderstood what unison is > doing here (in > which case fell free to shoot me down), and I don't speak any ocaml > to implement > this change (although if there's agreement this change would be > useful I could > make the effort to learn if there isn't any available coding effort). > > Comments? > > Matthew > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.6 (GNU/Linux) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iD8DBQFImr6mQwGHl7Fegc8RAnjBAJ9XPNF+Zurxwj5bCgNCmLHpTaV/nwCeMuit > 39EofwHcsvHTs0IPNzPuMgw= > =EZs3 > -----END PGP SIGNATURE----- > -- > The University of Edinburgh is a charitable body, registered in > Scotland, with registration number SC005336. > _______________________________________________ > Unison-hackers mailing list > Unison-hackers at lists.seas.upenn.edu > http://lists.seas.upenn.edu/mailman/listinfo/unison-hackers From bcpierce at cis.upenn.edu Tue Sep 30 15:39:19 2008 From: bcpierce at cis.upenn.edu (Benjamin Pierce) Date: Tue, 30 Sep 2008 15:39:19 -0400 Subject: [Unison-hackers] Small change to the tutorial In-Reply-To: <9FA34D94-D475-4187-A1B0-F3A0A112CF1B@polytechnique.org> References: <9FA34D94-D475-4187-A1B0-F3A0A112CF1B@polytechnique.org> Message-ID: Hi Alan, Looks to me like we already have this: Unison can be used with either of two user interfaces: \begin{enumerate} \item a straightforward textual interface and \item a more sophisticated graphical interface \end{enumerate} The textual interface is more convenient for running from scripts and works on dumb terminals; the graphical interface is better for most interactive use. For this tutorial, you can use either. If you are running Unison from the command line, just typing {\tt unison} will select either the text or the graphical interface, depending on which has been selected as default when the executable you are running was built. You can force the text interface even if graphical is the default by adding {\tt -ui text}. The other command-line arguments to both versions are identical. Want to suggest a different wording? - Benjamin On Aug 27, 2008, at 3:02 AM, Alan Schmitt wrote: > Hello, > > I just had an exchange of emails with a user who had trouble getting > through the tutorial. After a little bit of investigating, it turned > out he was using the OS X version in the terminal (after running the > "install command line tool" command) but this actually launches the > unison GUI. As it seems that the GUI ignores the arguments it is > given, he could not do a "unison a.tmp b.tmp". > > Maybe we could add to the tutorial that one should use the "-ui > text" option when going through it? > > Alan > _______________________________________________ > Unison-hackers mailing list > Unison-hackers at lists.seas.upenn.edu > http://lists.seas.upenn.edu/mailman/listinfo/unison-hackers