From alan.schmitt at polytechnique.org Sat Feb 18 10:23:52 2012 From: alan.schmitt at polytechnique.org (Alan Schmitt) Date: Sat, 18 Feb 2012 16:23:52 +0100 Subject: [Unison-hackers] Updated MAC frontend (based on trunk) In-Reply-To: References: Message-ID: <2621992D-699C-4F10-83B8-70ECC3ACB02F@polytechnique.org> Hi Markus, A few years ago, you sent this great patch for Unison, which included On 30 Nov 2009, at 12:17, Markus Gro? wrote: > - Updates to the GUI using BWToolkit Unfortunately with Xcode 4 it seems impossible to use plugins, and from what I've read BWToolkit won't be updated for it. Would it be very difficult to remove the dependency on this plugin from your version of the GUI? Would it imply much loss of functionality? Thanks a lot, Alan From alan.schmitt at polytechnique.org Mon Feb 20 03:27:57 2012 From: alan.schmitt at polytechnique.org (Alan Schmitt) Date: Mon, 20 Feb 2012 09:27:57 +0100 Subject: [Unison-hackers] Updated MAC frontend (based on trunk) In-Reply-To: References: <2621992D-699C-4F10-83B8-70ECC3ACB02F@polytechnique.org> Message-ID: On 18 Feb 2012, at 20:35, mgross wrote: > Hi Alan, > > I used BWToolkit for the following controls: > - the background gradient in the "connecting" window > - the background gradient and inset text for the "detail" view of the > main window > (the one that displays the date/time info of two differing files) > - the toolbar in the preferences window > - the split view for the main window > > Removing the dependency would only result in visual changes (less > gradients etc.) > but I think no functionality would be lost. > The BWToolkit controls can be replaced by standard controls but this > would > most certainly require Xcode 3 (to edit the Interface Builder file). > To achieve the gradient effects one could subclass the controls and > draw them manually. > Sadly I have no spare time to fix this myself. Thanks for the reply. I may have a machine somewhere with Xcode 3 installed, otherwise I'll try to install it on Lion. Alan From alan.schmitt at polytechnique.org Tue Feb 21 03:33:34 2012 From: alan.schmitt at polytechnique.org (Alan Schmitt) Date: Tue, 21 Feb 2012 09:33:34 +0100 Subject: [Unison-hackers] merge command invocation: bug report (misquoting of merge arguments) In-Reply-To: References: Message-ID: <73CBFC35-5C22-4585-B499-8A09B551F10B@polytechnique.org> On 20 Feb 2012, at 18:45, Neal wrote: > Are you asking about how to fix the bug in Unison, or about how to > work around it? How to fix the bug. > As for fixing the bug, I'm not sure. It appears that Unison > implements the merge by putting single quotes around some of the > arguments and then passing the entire line to the shell as a whole. > That seems destined to have unexpected behaviors. (Again, what if a > file name contains a single quote? Maybe Unison would need to escape > quotes in the file names.) The problem with escaping is that it may be system dependent, but we already have code to deal with that. > Probably Unison should treat the various variables consistently. Yes, definitely. > In short, I'm not sure what the right behavior would be. Maybe the > easiest patch would be to make sure unison single-quotes all the > variables consistently, and also escapes any single quotes in the > contents of the variable appropriately so that the shell handles them > correctly. I think this is already done, according to this code (uutil.ml): (* Using single quotes is simpler under Unix but they are not accepted by the Windows shell. Double quotes without further quoting is sufficient with Windows as filenames are not allowed to contain double quotes. *) let quotes s = if Util.osType = `Win32 && not Util.isCygwin then "\"" ^ s ^ "\"" else "'" ^ Util.replacesubstring s "'" "'\\''" ^ "'" So the patch would be a one-liner (files.ml, line 867), from: let cmd = formatMergeCmd path1 (Fspath.quotes (Fspath.concat workingDirForMerge working1)) (Fspath.quotes (Fspath.concat workingDirForMerge working2)) (match arch with None -> None | Some f -> Some(Fspath.quotes f)) (Fspath.quotes (Fspath.concat workingDirForMerge new1)) (Fspath.quotes (Fspath.concat workingDirForMerge new2)) (Fspath.quotes (Fspath.concat workingDirForMerge newarch)) in to the same with Fspath.quotes called on path1. I'm ccing unison-hackers. Is it reasonable to always quote 'path1'? Alan From bcpierce at cis.upenn.edu Wed Feb 22 03:37:02 2012 From: bcpierce at cis.upenn.edu (Benjamin C. Pierce) Date: Wed, 22 Feb 2012 03:37:02 -0500 Subject: [Unison-hackers] merge command invocation: bug report (misquoting of merge arguments) In-Reply-To: <73CBFC35-5C22-4585-B499-8A09B551F10B@polytechnique.org> References: <73CBFC35-5C22-4585-B499-8A09B551F10B@polytechnique.org> Message-ID: <153F94FF-524E-45F7-9BCB-799B094BF0DE@cis.upenn.edu> This sounds reasonable. If we change it, though, we'll need to make sure we test on all architectures -- different shells are picky in different ways about this sort of thing. - B On Feb 21, 2012, at 3:33 AM, Alan Schmitt wrote: > On 20 Feb 2012, at 18:45, Neal wrote: > >> Are you asking about how to fix the bug in Unison, or about how to work around it? > > How to fix the bug. > >> As for fixing the bug, I'm not sure. It appears that Unison implements the merge by putting single quotes around some of the arguments and then passing the entire line to the shell as a whole. That seems destined to have unexpected behaviors. (Again, what if a file name contains a single quote? Maybe Unison would need to escape quotes in the file names.) > > The problem with escaping is that it may be system dependent, but we already have code to deal with that. > >> Probably Unison should treat the various variables consistently. > > Yes, definitely. > >> In short, I'm not sure what the right behavior would be. Maybe the easiest patch would be to make sure unison single-quotes all the variables consistently, and also escapes any single quotes in the contents of the variable appropriately so that the shell handles them correctly. > > I think this is already done, according to this code (uutil.ml): > > (* Using single quotes is simpler under Unix but they are not accepted > by the Windows shell. Double quotes without further quoting is > sufficient with Windows as filenames are not allowed to contain > double quotes. *) > let quotes s = > if Util.osType = `Win32 && not Util.isCygwin then > "\"" ^ s ^ "\"" > else > "'" ^ Util.replacesubstring s "'" "'\\''" ^ "'" > > So the patch would be a one-liner (files.ml, line 867), from: > > let cmd = formatMergeCmd > path1 > (Fspath.quotes (Fspath.concat workingDirForMerge working1)) > (Fspath.quotes (Fspath.concat workingDirForMerge working2)) > (match arch with None -> None | Some f -> Some(Fspath.quotes f)) > (Fspath.quotes (Fspath.concat workingDirForMerge new1)) > (Fspath.quotes (Fspath.concat workingDirForMerge new2)) > (Fspath.quotes (Fspath.concat workingDirForMerge newarch)) in > > to the same with Fspath.quotes called on path1. > > I'm ccing unison-hackers. Is it reasonable to always quote 'path1'? > > Alan > _______________________________________________ > Unison-hackers mailing list > Unison-hackers at lists.seas.upenn.edu > http://lists.seas.upenn.edu/mailman/listinfo/unison-hackers From alan.schmitt at polytechnique.org Wed Feb 22 09:58:15 2012 From: alan.schmitt at polytechnique.org (Alan Schmitt) Date: Wed, 22 Feb 2012 15:58:15 +0100 Subject: [Unison-hackers] patch to specify client host name in profile Message-ID: Hello, Here is a patch to specify the name of the client host in the profile. It relies on the fact that the server does not load preferences, so the default value of the preference is the one returned by UNISONLOCALHOSTNAME or by hostname: let clientHostName : string Prefs.t = let myCanonicalHostName = try System.getenv "UNISONLOCALHOSTNAME" with Not_found -> Unix.gethostname() in Prefs.createString "clientHostName" myCanonicalHostName "!set host name of client" ("When specified, the host name of the client will not be guessed" ^ "and the provided host name will be used to find the archive.") let myCanonicalHostName () = Prefs.read clientHostName (The rest of the patch simply deals with the signature change of MyCanonicalHostName.) Thoughts? Alan The full patch: Index: remote.ml =================================================================== --- remote.ml (revision 481) +++ remote.ml (working copy) @@ -1168,7 +1168,7 @@ let canonizeOnServer = registerServerCmd "canonizeOnServer" (fun _ (s, unicode) -> - Lwt.return (Os.myCanonicalHostName, canonizeLocally s unicode)) + Lwt.return (Os.myCanonicalHostName (), canonizeLocally s unicode)) let canonize clroot = (* connection for clroot must have been set up already *) match clroot with Index: os.ml =================================================================== --- os.ml (revision 481) +++ os.ml (working copy) @@ -21,10 +21,21 @@ let debug = Util.debug "os" -let myCanonicalHostName = - try System.getenv "UNISONLOCALHOSTNAME" - with Not_found -> Unix.gethostname() +(* Assumption: Prefs are not loaded on server, so clientHostName is always *) +(* set to myCanonicalHostName. *) + +let clientHostName : string Prefs.t = + let myCanonicalHostName = + try System.getenv "UNISONLOCALHOSTNAME" + with Not_found -> Unix.gethostname() + in + Prefs.createString "clientHostName" myCanonicalHostName + "!set host name of client" + ("When specified, the host name of the client will not be guessed" ^ + "and the provided host name will be used to find the archive.") +let myCanonicalHostName () = Prefs.read clientHostName + let tempFilePrefix = ".unison." let tempFileSuffixFixed = ".unison.tmp" let tempFileSuffix = ref tempFileSuffixFixed Index: update.ml =================================================================== --- update.ml (revision 481) +++ update.ml (working copy) @@ -150,7 +150,7 @@ (Safelist.map (function (Common.Local,f) -> - (Common.Remote Os.myCanonicalHostName,f) + (Common.Remote (Os.myCanonicalHostName ()),f) | r -> r) (Globals.rootsInCanonicalOrder())))) in @@ -166,7 +166,7 @@ | `Unix -> 32 let thisRootsGlobalName (fspath: Fspath.t): string = - root2stringOrAlias (Common.Remote Os.myCanonicalHostName, fspath) + root2stringOrAlias (Common.Remote (Os.myCanonicalHostName ()), fspath) (* ----- *) @@ -278,7 +278,7 @@ let (name,_) = archiveName fspath v in Lwt.return (name, - Os.myCanonicalHostName, + Os.myCanonicalHostName (), System.file_exists (Os.fileInUnisonDir name))) @@ -784,7 +784,7 @@ None else Some (Printf.sprintf "The file %s on host %s should be deleted" - (System.fspathToPrintString lockFile) Os.myCanonicalHostName) + (System.fspathToPrintString lockFile) (Os.myCanonicalHostName ())) let lockArchiveOnRoot: Common.root -> unit -> string option Lwt.t = Remote.registerRootCmd @@ -1070,7 +1070,8 @@ if not (Os.exists fspath path) then raise (Util.Fatal (Printf.sprintf "Path %s / %s is designated as a mountpoint, but points to nothing on host %s\n" - (Fspath.toPrintString fspath) (Path.toString path) Os.myCanonicalHostName))) + (Fspath.toPrintString fspath) (Path.toString path) + (Os.myCanonicalHostName ())))) (Prefs.read mountpoints) Index: os.mli =================================================================== --- os.mli (revision 481) +++ os.mli (working copy) @@ -1,7 +1,7 @@ (* Unison file synchronizer: src/os.mli *) (* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) -val myCanonicalHostName : string +val myCanonicalHostName : unit -> string val tempPath : ?fresh:bool -> Fspath.t -> Path.local -> Path.local val tempFilePrefix : string From bcpierce at cis.upenn.edu Sat Feb 25 16:36:45 2012 From: bcpierce at cis.upenn.edu (Benjamin C. Pierce) Date: Sat, 25 Feb 2012 16:36:45 -0500 Subject: [Unison-hackers] patch to specify client host name in profile In-Reply-To: References: Message-ID: <87E064ED-4A4A-46FE-9F36-F77700DAD7B0@cis.upenn.edu> This looks good to me. - B On Feb 22, 2012, at 9:58 AM, Alan Schmitt wrote: > Hello, > > Here is a patch to specify the name of the client host in the profile. It relies on the fact that the server does not load preferences, so the default value of the preference is the one returned by UNISONLOCALHOSTNAME or by hostname: > > > let clientHostName : string Prefs.t = > let myCanonicalHostName = > try System.getenv "UNISONLOCALHOSTNAME" > with Not_found -> Unix.gethostname() > in > Prefs.createString "clientHostName" myCanonicalHostName > "!set host name of client" > ("When specified, the host name of the client will not be guessed" ^ > "and the provided host name will be used to find the archive.") > > let myCanonicalHostName () = Prefs.read clientHostName > > (The rest of the patch simply deals with the signature change of MyCanonicalHostName.) > > Thoughts? > > Alan > > The full patch: > > Index: remote.ml > =================================================================== > --- remote.ml (revision 481) > +++ remote.ml (working copy) > @@ -1168,7 +1168,7 @@ > let canonizeOnServer = > registerServerCmd "canonizeOnServer" > (fun _ (s, unicode) -> > - Lwt.return (Os.myCanonicalHostName, canonizeLocally s unicode)) > + Lwt.return (Os.myCanonicalHostName (), canonizeLocally s unicode)) > > let canonize clroot = (* connection for clroot must have been set up already *) > match clroot with > Index: os.ml > =================================================================== > --- os.ml (revision 481) > +++ os.ml (working copy) > @@ -21,10 +21,21 @@ > > let debug = Util.debug "os" > > -let myCanonicalHostName = > - try System.getenv "UNISONLOCALHOSTNAME" > - with Not_found -> Unix.gethostname() > +(* Assumption: Prefs are not loaded on server, so clientHostName is always *) > +(* set to myCanonicalHostName. *) > + > +let clientHostName : string Prefs.t = > + let myCanonicalHostName = > + try System.getenv "UNISONLOCALHOSTNAME" > + with Not_found -> Unix.gethostname() > + in > + Prefs.createString "clientHostName" myCanonicalHostName > + "!set host name of client" > + ("When specified, the host name of the client will not be guessed" ^ > + "and the provided host name will be used to find the archive.") > > +let myCanonicalHostName () = Prefs.read clientHostName > + > let tempFilePrefix = ".unison." > let tempFileSuffixFixed = ".unison.tmp" > let tempFileSuffix = ref tempFileSuffixFixed > Index: update.ml > =================================================================== > --- update.ml (revision 481) > +++ update.ml (working copy) > @@ -150,7 +150,7 @@ > (Safelist.map > (function > (Common.Local,f) -> > - (Common.Remote Os.myCanonicalHostName,f) > + (Common.Remote (Os.myCanonicalHostName ()),f) > | r -> > r) > (Globals.rootsInCanonicalOrder())))) in > @@ -166,7 +166,7 @@ > | `Unix -> 32 > > let thisRootsGlobalName (fspath: Fspath.t): string = > - root2stringOrAlias (Common.Remote Os.myCanonicalHostName, fspath) > + root2stringOrAlias (Common.Remote (Os.myCanonicalHostName ()), fspath) > > (* ----- *) > > @@ -278,7 +278,7 @@ > let (name,_) = archiveName fspath v in > Lwt.return > (name, > - Os.myCanonicalHostName, > + Os.myCanonicalHostName (), > System.file_exists (Os.fileInUnisonDir name))) > > > @@ -784,7 +784,7 @@ > None > else > Some (Printf.sprintf "The file %s on host %s should be deleted" > - (System.fspathToPrintString lockFile) Os.myCanonicalHostName) > + (System.fspathToPrintString lockFile) (Os.myCanonicalHostName ())) > > let lockArchiveOnRoot: Common.root -> unit -> string option Lwt.t = > Remote.registerRootCmd > @@ -1070,7 +1070,8 @@ > if not (Os.exists fspath path) then > raise (Util.Fatal > (Printf.sprintf "Path %s / %s is designated as a mountpoint, but points to nothing on host %s\n" > - (Fspath.toPrintString fspath) (Path.toString path) Os.myCanonicalHostName))) > + (Fspath.toPrintString fspath) (Path.toString path) > + (Os.myCanonicalHostName ())))) > (Prefs.read mountpoints) > > > Index: os.mli > =================================================================== > --- os.mli (revision 481) > +++ os.mli (working copy) > @@ -1,7 +1,7 @@ > (* Unison file synchronizer: src/os.mli *) > (* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) > > -val myCanonicalHostName : string > +val myCanonicalHostName : unit -> string > > val tempPath : ?fresh:bool -> Fspath.t -> Path.local -> Path.local > val tempFilePrefix : string > _______________________________________________ > Unison-hackers mailing list > Unison-hackers at lists.seas.upenn.edu > http://lists.seas.upenn.edu/mailman/listinfo/unison-hackers From schmitta at seas.upenn.edu Sun Feb 26 07:56:47 2012 From: schmitta at seas.upenn.edu (schmitta at seas.upenn.edu) Date: Sun, 26 Feb 2012 07:56:47 -0500 Subject: [Unison-hackers] [unison-svn] r482 - trunk/src Message-ID: <201202261256.q1QCunxB015678@yaws.seas.upenn.edu> Author: schmitta Date: 2012-02-26 07:56:45 -0500 (Sun, 26 Feb 2012) New Revision: 482 Modified: trunk/src/RECENTNEWS trunk/src/mkProjectInfo.ml trunk/src/os.ml trunk/src/os.mli trunk/src/remote.ml trunk/src/update.ml Log: * Added option clientHostName. If specified, it will be used to as the client host name, overriding UNISONLOCALHOSTNAME and the actual host name. Modified: trunk/src/RECENTNEWS =================================================================== --- trunk/src/RECENTNEWS 2012-01-21 19:13:41 UTC (rev 481) +++ trunk/src/RECENTNEWS 2012-02-26 12:56:45 UTC (rev 482) @@ -1,3 +1,9 @@ +CHANGES FROM VERSION 2.44.10 + +* Added option clientHostName. If specified, it will be used to as the client + host name, overriding UNISONLOCALHOSTNAME and the actual host name. + +------------------------------- CHANGES FROM VERSION 2.44.9 - OS X GUI: fix crash under Lion, because of problems with the toolbar, using Modified: trunk/src/mkProjectInfo.ml =================================================================== --- trunk/src/mkProjectInfo.ml 2012-01-21 19:13:41 UTC (rev 481) +++ trunk/src/mkProjectInfo.ml 2012-02-26 12:56:45 UTC (rev 482) @@ -62,3 +62,4 @@ + Modified: trunk/src/os.ml =================================================================== --- trunk/src/os.ml 2012-01-21 19:13:41 UTC (rev 481) +++ trunk/src/os.ml 2012-02-26 12:56:45 UTC (rev 482) @@ -21,10 +21,21 @@ let debug = Util.debug "os" -let myCanonicalHostName = - try System.getenv "UNISONLOCALHOSTNAME" - with Not_found -> Unix.gethostname() +(* Assumption: Prefs are not loaded on server, so clientHostName is always *) +(* set to myCanonicalHostName. *) + +let clientHostName : string Prefs.t = + let myCanonicalHostName = + try System.getenv "UNISONLOCALHOSTNAME" + with Not_found -> Unix.gethostname() + in + Prefs.createString "clientHostName" myCanonicalHostName + "!set host name of client" + ("When specified, the host name of the client will not be guessed" ^ + "and the provided host name will be used to find the archive.") +let myCanonicalHostName () = Prefs.read clientHostName + let tempFilePrefix = ".unison." let tempFileSuffixFixed = ".unison.tmp" let tempFileSuffix = ref tempFileSuffixFixed Modified: trunk/src/os.mli =================================================================== --- trunk/src/os.mli 2012-01-21 19:13:41 UTC (rev 481) +++ trunk/src/os.mli 2012-02-26 12:56:45 UTC (rev 482) @@ -1,7 +1,7 @@ (* Unison file synchronizer: src/os.mli *) (* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) -val myCanonicalHostName : string +val myCanonicalHostName : unit -> string val tempPath : ?fresh:bool -> Fspath.t -> Path.local -> Path.local val tempFilePrefix : string Modified: trunk/src/remote.ml =================================================================== --- trunk/src/remote.ml 2012-01-21 19:13:41 UTC (rev 481) +++ trunk/src/remote.ml 2012-02-26 12:56:45 UTC (rev 482) @@ -1168,7 +1168,7 @@ let canonizeOnServer = registerServerCmd "canonizeOnServer" (fun _ (s, unicode) -> - Lwt.return (Os.myCanonicalHostName, canonizeLocally s unicode)) + Lwt.return (Os.myCanonicalHostName (), canonizeLocally s unicode)) let canonize clroot = (* connection for clroot must have been set up already *) match clroot with Modified: trunk/src/update.ml =================================================================== --- trunk/src/update.ml 2012-01-21 19:13:41 UTC (rev 481) +++ trunk/src/update.ml 2012-02-26 12:56:45 UTC (rev 482) @@ -150,7 +150,7 @@ (Safelist.map (function (Common.Local,f) -> - (Common.Remote Os.myCanonicalHostName,f) + (Common.Remote (Os.myCanonicalHostName ()),f) | r -> r) (Globals.rootsInCanonicalOrder())))) in @@ -166,7 +166,7 @@ | `Unix -> 32 let thisRootsGlobalName (fspath: Fspath.t): string = - root2stringOrAlias (Common.Remote Os.myCanonicalHostName, fspath) + root2stringOrAlias (Common.Remote (Os.myCanonicalHostName ()), fspath) (* ----- *) @@ -278,7 +278,7 @@ let (name,_) = archiveName fspath v in Lwt.return (name, - Os.myCanonicalHostName, + Os.myCanonicalHostName (), System.file_exists (Os.fileInUnisonDir name))) @@ -784,7 +784,7 @@ None else Some (Printf.sprintf "The file %s on host %s should be deleted" - (System.fspathToPrintString lockFile) Os.myCanonicalHostName) + (System.fspathToPrintString lockFile) (Os.myCanonicalHostName ())) let lockArchiveOnRoot: Common.root -> unit -> string option Lwt.t = Remote.registerRootCmd @@ -1070,7 +1070,8 @@ if not (Os.exists fspath path) then raise (Util.Fatal (Printf.sprintf "Path %s / %s is designated as a mountpoint, but points to nothing on host %s\n" - (Fspath.toPrintString fspath) (Path.toString path) Os.myCanonicalHostName))) + (Fspath.toPrintString fspath) (Path.toString path) + (Os.myCanonicalHostName ())))) (Prefs.read mountpoints) From alan.schmitt at polytechnique.org Sun Feb 26 08:37:37 2012 From: alan.schmitt at polytechnique.org (Alan Schmitt) Date: Sun, 26 Feb 2012 14:37:37 +0100 Subject: [Unison-hackers] merge command invocation: bug report (misquoting of merge arguments) In-Reply-To: <153F94FF-524E-45F7-9BCB-799B094BF0DE@cis.upenn.edu> References: <73CBFC35-5C22-4585-B499-8A09B551F10B@polytechnique.org> <153F94FF-524E-45F7-9BCB-799B094BF0DE@cis.upenn.edu> Message-ID: <10C845B0-2AB6-426A-A389-03E93DABB1FB@polytechnique.org> On 22 f?vr. 2012, at 09:37, Benjamin C. Pierce wrote: > This sounds reasonable. If we change it, though, we'll need to make sure we test on all architectures -- different shells are picky in different ways about this sort of thing. Looking at it a little more deeply, I realize I have a question. Right now, this path is of this type: Path.t = [ `Global ] Path.path and to quote it, we need something of type Fspath.t As it's all strings, I need to understand what the underlying assumptions are. How can I create a correct Fspath.t from a Global Path.t? Alan From alan.schmitt at polytechnique.org Sun Feb 26 11:39:54 2012 From: alan.schmitt at polytechnique.org (Alan Schmitt) Date: Sun, 26 Feb 2012 17:39:54 +0100 Subject: [Unison-hackers] Building on Lion In-Reply-To: References: <9F935BA3-449E-48DE-8DBF-9F3C194F35DA@polytechnique.org> Message-ID: <68A6307D-D18D-41AE-86EA-5E7896365F59@polytechnique.org> On 27 janv. 2012, at 17:29, Steve Kalkwarf wrote: >>> Until then, I'll see if I can get a machine running Snow Leopard to >>> build Unison. >> >> I guess installing an older version of Xcode is not an option? > > No, Lion requires Xcode 4. > > I use VMware and a Snow Leopard virtual machine to build stuff that won't build on Lion. It's a pain, but it works. I'll look into removing the dependency in the plugin, but in the meantime I've been able to instal Xcode 3.2 on Lion, following these instructions: http://catacombae.blogspot.com/2011/07/installing-xcode-326-in-mac-os-x-lion.html Hope this helps, Alan From bcpierce at cis.upenn.edu Sun Feb 26 12:28:38 2012 From: bcpierce at cis.upenn.edu (Benjamin C. Pierce) Date: Sun, 26 Feb 2012 12:28:38 -0500 Subject: [Unison-hackers] merge command invocation: bug report (misquoting of merge arguments) In-Reply-To: <10C845B0-2AB6-426A-A389-03E93DABB1FB@polytechnique.org> References: <73CBFC35-5C22-4585-B499-8A09B551F10B@polytechnique.org> <153F94FF-524E-45F7-9BCB-799B094BF0DE@cis.upenn.edu> <10C845B0-2AB6-426A-A389-03E93DABB1FB@polytechnique.org> Message-ID: <36152BBF-3A7E-4BFD-8564-67504A7C581B@cis.upenn.edu> If you look at the implementation of Fspath.quotes, you'll see it is just a wrapper around Uutil.quotes, which wants a string arg. On Feb 26, 2012, at 8:37 AM, Alan Schmitt wrote: > On 22 f?vr. 2012, at 09:37, Benjamin C. Pierce wrote: > >> This sounds reasonable. If we change it, though, we'll need to make sure we test on all architectures -- different shells are picky in different ways about this sort of thing. > > Looking at it a little more deeply, I realize I have a question. Right now, this path is of this type: > Path.t = [ `Global ] Path.path > and to quote it, we need something of type Fspath.t > > As it's all strings, I need to understand what the underlying assumptions are. How can I create a correct Fspath.t from a Global Path.t? > > Alan > _______________________________________________ > Unison-hackers mailing list > Unison-hackers at lists.seas.upenn.edu > http://lists.seas.upenn.edu/mailman/listinfo/unison-hackers > From schmitta at seas.upenn.edu Sun Feb 26 16:01:49 2012 From: schmitta at seas.upenn.edu (schmitta at seas.upenn.edu) Date: Sun, 26 Feb 2012 16:01:49 -0500 Subject: [Unison-hackers] [unison-svn] r483 - trunk/src Message-ID: <201202262101.q1QL1pCN027227@yaws.seas.upenn.edu> Author: schmitta Date: 2012-02-26 16:01:47 -0500 (Sun, 26 Feb 2012) New Revision: 483 Modified: trunk/src/RECENTNEWS trunk/src/files.ml trunk/src/mkProjectInfo.ml Log: * Correctly quote the path when running merge commands Modified: trunk/src/RECENTNEWS =================================================================== --- trunk/src/RECENTNEWS 2012-02-26 12:56:45 UTC (rev 482) +++ trunk/src/RECENTNEWS 2012-02-26 21:01:47 UTC (rev 483) @@ -1,3 +1,8 @@ +CHANGES FROM VERSION 2.44.11 + +* Correctly quote the path when running merge commands + +------------------------------- CHANGES FROM VERSION 2.44.10 * Added option clientHostName. If specified, it will be used to as the client Modified: trunk/src/files.ml =================================================================== --- trunk/src/files.ml 2012-02-26 12:56:45 UTC (rev 482) +++ trunk/src/files.ml 2012-02-26 21:01:47 UTC (rev 483) @@ -733,7 +733,8 @@ let cooked = Util.replacesubstring cooked "NEW2" out2 in let cooked = Util.replacesubstring cooked "NEWARCH" outarch in let cooked = Util.replacesubstring cooked "NEW" out1 in - let cooked = Util.replacesubstring cooked "PATH" (Path.toString p) in + let cooked = Util.replacesubstring cooked "PATH" + (Uutil.quotes (Path.toString p)) in cooked let copyBack fspathFrom pathFrom rootTo pathTo propsTo uiTo id = Modified: trunk/src/mkProjectInfo.ml =================================================================== --- trunk/src/mkProjectInfo.ml 2012-02-26 12:56:45 UTC (rev 482) +++ trunk/src/mkProjectInfo.ml 2012-02-26 21:01:47 UTC (rev 483) @@ -63,3 +63,4 @@ + From bcpierce at seas.upenn.edu Tue Feb 28 20:28:56 2012 From: bcpierce at seas.upenn.edu (bcpierce at seas.upenn.edu) Date: Tue, 28 Feb 2012 20:28:56 -0500 Subject: [Unison-hackers] [unison-svn] r484 - in trunk: doc src src/lwt src/system src/ubase Message-ID: <201202290129.q1T1T0aU006757@yaws.seas.upenn.edu> Author: bcpierce Date: 2012-02-28 20:28:54 -0500 (Tue, 28 Feb 2012) New Revision: 484 Modified: trunk/doc/unison-manual.tex trunk/src/RECENTNEWS trunk/src/abort.ml trunk/src/bytearray.ml trunk/src/bytearray.mli trunk/src/bytearray_stubs.c trunk/src/case.ml trunk/src/case.mli trunk/src/checksum.ml trunk/src/checksum.mli trunk/src/clroot.ml trunk/src/clroot.mli trunk/src/common.ml trunk/src/common.mli trunk/src/copy.ml trunk/src/external.ml trunk/src/external.mli trunk/src/fileinfo.ml trunk/src/fileinfo.mli trunk/src/files.ml trunk/src/files.mli trunk/src/fileutil.ml trunk/src/fileutil.mli trunk/src/fingerprint.ml trunk/src/fingerprint.mli trunk/src/fpcache.ml trunk/src/fpcache.mli trunk/src/fs.ml trunk/src/fs.mli trunk/src/fspath.ml trunk/src/fspath.mli trunk/src/globals.ml trunk/src/globals.mli trunk/src/linkgtk.ml trunk/src/linkgtk2.ml trunk/src/linktext.ml trunk/src/lock.ml trunk/src/lock.mli trunk/src/lwt/pqueue.ml trunk/src/lwt/pqueue.mli trunk/src/main.ml trunk/src/mkProjectInfo.ml trunk/src/name.ml trunk/src/name.mli trunk/src/os.ml trunk/src/os.mli trunk/src/osx.ml trunk/src/osx.mli trunk/src/path.ml trunk/src/path.mli trunk/src/pixmaps.ml trunk/src/pred.ml trunk/src/pred.mli trunk/src/props.ml trunk/src/props.mli trunk/src/recon.ml trunk/src/recon.mli trunk/src/remote.ml trunk/src/remote.mli trunk/src/sortri.ml trunk/src/sortri.mli trunk/src/stasher.ml trunk/src/strings.mli trunk/src/system.ml trunk/src/system.mli trunk/src/system/system_generic.ml trunk/src/system/system_intf.ml trunk/src/system/system_win.ml trunk/src/terminal.ml trunk/src/test.ml trunk/src/test.mli trunk/src/transfer.ml trunk/src/transfer.mli trunk/src/transport.ml trunk/src/transport.mli trunk/src/tree.ml trunk/src/tree.mli trunk/src/ubase/proplist.ml trunk/src/ubase/proplist.mli trunk/src/ubase/rx.ml trunk/src/ubase/rx.mli trunk/src/ubase/safelist.ml trunk/src/ubase/safelist.mli trunk/src/ubase/trace.ml trunk/src/ubase/trace.mli trunk/src/ubase/uarg.ml trunk/src/ubase/util.ml trunk/src/ubase/util.mli trunk/src/ui.mli trunk/src/uicommon.ml trunk/src/uicommon.mli trunk/src/uigtk2.ml trunk/src/uigtk2.mli trunk/src/uitext.ml trunk/src/uitext.mli trunk/src/unicode.ml trunk/src/unicode.mli trunk/src/update.ml trunk/src/update.mli trunk/src/uutil.ml trunk/src/uutil.mli trunk/src/xferhint.ml trunk/src/xferhint.mli Log: * Update copyright dates * Add quotes to paths when calling external file watcher utility Modified: trunk/doc/unison-manual.tex =================================================================== --- trunk/doc/unison-manual.tex 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/doc/unison-manual.tex 2012-02-29 01:28:54 UTC (rev 484) @@ -51,7 +51,7 @@ \LARGE% Version \unisonversion \\[4ex] % % \today % - \large Copyright 1998-2009, Benjamin C. Pierce + \large Copyright 1998-2012, Benjamin C. Pierce \end{center}% \fi% % Modified: trunk/src/RECENTNEWS =================================================================== --- trunk/src/RECENTNEWS 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/RECENTNEWS 2012-02-29 01:28:54 UTC (rev 484) @@ -1,3 +1,10 @@ +CHANGES FROM VERSION 2.44.12 + +* Update copyright dates + +* Add quotes to paths when calling external file watcher utility + +------------------------------- CHANGES FROM VERSION 2.44.11 * Correctly quote the path when running merge commands @@ -95,14 +102,13 @@ CHANGES FROM VERSION 2.43.6 * A small fix suggested by Jerome. Still thinking about what needs to - chance to get newly created files to transfer without failing. + change to get newly created files to transfer without failing. ------------------------------- CHANGES FROM VERSION 2.43.0 * See if we can get revisionString to update automatically now... - ------------------------------- CHANGES FROM VERSION 2.43.0 Modified: trunk/src/abort.ml =================================================================== --- trunk/src/abort.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/abort.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/abort.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/bytearray.ml =================================================================== --- trunk/src/bytearray.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/bytearray.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/bytearray.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/bytearray.mli =================================================================== --- trunk/src/bytearray.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/bytearray.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/bytearray.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) type t = (char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t Modified: trunk/src/bytearray_stubs.c =================================================================== --- trunk/src/bytearray_stubs.c 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/bytearray_stubs.c 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ /* Unison file synchronizer: src/bytearray_stubs.c */ -/* Copyright 1999-2010 (see COPYING for details) */ +/* Copyright 1999-2012 (see COPYING for details) */ #include Modified: trunk/src/case.ml =================================================================== --- trunk/src/case.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/case.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/case.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/case.mli =================================================================== --- trunk/src/case.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/case.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/case.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) val caseInsensitiveMode : [`True|`False|`Default] Prefs.t val unicodeEncoding : bool Prefs.t Modified: trunk/src/checksum.ml =================================================================== --- trunk/src/checksum.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/checksum.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/checksum.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/checksum.mli =================================================================== --- trunk/src/checksum.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/checksum.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/checksum.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) type t = int type u = int array Modified: trunk/src/clroot.ml =================================================================== --- trunk/src/clroot.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/clroot.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/clroot.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/clroot.mli =================================================================== --- trunk/src/clroot.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/clroot.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/clroot.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* Command-line roots *) type clroot = Modified: trunk/src/common.ml =================================================================== --- trunk/src/common.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/common.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/common.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/common.mli =================================================================== --- trunk/src/common.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/common.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/common.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (***************************************************************************) (* COMMON TYPES USED BY ALL MODULES *) Modified: trunk/src/copy.ml =================================================================== --- trunk/src/copy.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/copy.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/copy.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/external.ml =================================================================== --- trunk/src/external.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/external.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/external.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/external.mli =================================================================== --- trunk/src/external.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/external.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/external.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) val runExternalProgram : string -> (Unix.process_status * string) Lwt.t val readChannelTillEof : in_channel -> string Modified: trunk/src/fileinfo.ml =================================================================== --- trunk/src/fileinfo.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/fileinfo.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/fileinfo.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/fileinfo.mli =================================================================== --- trunk/src/fileinfo.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/fileinfo.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/fileinfo.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) type typ = [`ABSENT | `FILE | `DIRECTORY | `SYMLINK] val type2string : typ -> string Modified: trunk/src/files.ml =================================================================== --- trunk/src/files.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/files.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/files.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/files.mli =================================================================== --- trunk/src/files.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/files.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/files.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* As usual, these functions should only be called by the client (i.e., in *) (* the same address space as the user interface). *) Modified: trunk/src/fileutil.ml =================================================================== --- trunk/src/fileutil.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/fileutil.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/fileutil.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/fileutil.mli =================================================================== --- trunk/src/fileutil.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/fileutil.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/fileutil.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* Convert backslashes in a string to forward slashes. Useful in Windows. *) val backslashes2forwardslashes : string -> string Modified: trunk/src/fingerprint.ml =================================================================== --- trunk/src/fingerprint.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/fingerprint.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/fingerprint.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/fingerprint.mli =================================================================== --- trunk/src/fingerprint.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/fingerprint.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/fingerprint.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) type t Modified: trunk/src/fpcache.ml =================================================================== --- trunk/src/fpcache.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/fpcache.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/fpcache.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/fpcache.mli =================================================================== --- trunk/src/fpcache.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/fpcache.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/fpcache.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* Initialize the cache *) val init : bool -> bool -> System.fspath -> unit Modified: trunk/src/fs.ml =================================================================== --- trunk/src/fs.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/fs.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/fs.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/fs.mli =================================================================== --- trunk/src/fs.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/fs.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/fs.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* Operations on fspaths *) Modified: trunk/src/fspath.ml =================================================================== --- trunk/src/fspath.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/fspath.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/fspath.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/fspath.mli =================================================================== --- trunk/src/fspath.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/fspath.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/fspath.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* Defines an abstract type of absolute filenames (fspaths) *) Modified: trunk/src/globals.ml =================================================================== --- trunk/src/globals.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/globals.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/globals.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/globals.mli =================================================================== --- trunk/src/globals.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/globals.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/globals.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* Global variables and functions needed by top-level modules and user *) (* interfaces *) Modified: trunk/src/linkgtk.ml =================================================================== --- trunk/src/linkgtk.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/linkgtk.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/linkgtk.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/linkgtk2.ml =================================================================== --- trunk/src/linkgtk2.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/linkgtk2.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/linkgtk2.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/linktext.ml =================================================================== --- trunk/src/linktext.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/linktext.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/linktext.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/lock.ml =================================================================== --- trunk/src/lock.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/lock.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/lock.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/lock.mli =================================================================== --- trunk/src/lock.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/lock.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/lock.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* A simple utility module for setting and releasing inter-process locks using entries in the filesystem. *) Modified: trunk/src/lwt/pqueue.ml =================================================================== --- trunk/src/lwt/pqueue.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/lwt/pqueue.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/lwt/pqueue.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/lwt/pqueue.mli =================================================================== --- trunk/src/lwt/pqueue.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/lwt/pqueue.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/lwt/pqueue.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) module type OrderedType = sig Modified: trunk/src/main.ml =================================================================== --- trunk/src/main.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/main.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/main.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/mkProjectInfo.ml =================================================================== --- trunk/src/mkProjectInfo.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/mkProjectInfo.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -64,3 +64,4 @@ + Modified: trunk/src/name.ml =================================================================== --- trunk/src/name.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/name.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/name.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/name.mli =================================================================== --- trunk/src/name.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/name.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/name.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) type t Modified: trunk/src/os.ml =================================================================== --- trunk/src/os.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/os.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/os.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/os.mli =================================================================== --- trunk/src/os.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/os.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/os.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) val myCanonicalHostName : unit -> string Modified: trunk/src/osx.ml =================================================================== --- trunk/src/osx.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/osx.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/osx.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/osx.mli =================================================================== --- trunk/src/osx.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/osx.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/osx.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) val init : bool -> unit val isMacOSX : bool Modified: trunk/src/path.ml =================================================================== --- trunk/src/path.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/path.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/path.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/path.mli =================================================================== --- trunk/src/path.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/path.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/path.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* Abstract type of relative pathnames *) type 'a path Modified: trunk/src/pixmaps.ml =================================================================== --- trunk/src/pixmaps.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/pixmaps.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/pixmaps.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/pred.ml =================================================================== --- trunk/src/pred.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/pred.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/pred.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/pred.mli =================================================================== --- trunk/src/pred.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/pred.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/pred.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* Predicates over paths. Modified: trunk/src/props.ml =================================================================== --- trunk/src/props.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/props.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/props.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/props.mli =================================================================== --- trunk/src/props.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/props.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/props.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* File properties: time, permission, length, etc. *) Modified: trunk/src/recon.ml =================================================================== --- trunk/src/recon.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/recon.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/recon.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/recon.mli =================================================================== --- trunk/src/recon.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/recon.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/recon.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) val reconcileAll : ?allowPartial:bool (* whether we allow partial synchronization Modified: trunk/src/remote.ml =================================================================== --- trunk/src/remote.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/remote.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/remote.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/remote.mli =================================================================== --- trunk/src/remote.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/remote.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/remote.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) module Thread : sig val unwindProtect : (unit -> 'a Lwt.t) -> (exn -> unit Lwt.t) -> 'a Lwt.t Modified: trunk/src/sortri.ml =================================================================== --- trunk/src/sortri.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/sortri.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/sortri.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/sortri.mli =================================================================== --- trunk/src/sortri.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/sortri.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/sortri.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* Sort a list of recon items according to the current setting of various preferences (defined in sort.ml, and accessible from the Modified: trunk/src/stasher.ml =================================================================== --- trunk/src/stasher.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/stasher.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,6 +1,6 @@ (* Unison file synchronizer: src/stasher.ml *) (* $I2: Last modified by lescuyer *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/strings.mli =================================================================== --- trunk/src/strings.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/strings.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,4 +1,4 @@ (* Unison file synchronizer: src/strings.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) val docs : (string * (string * string)) list Modified: trunk/src/system/system_generic.ml =================================================================== --- trunk/src/system/system_generic.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/system/system_generic.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/system/system_generic.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/system/system_intf.ml =================================================================== --- trunk/src/system/system_intf.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/system/system_intf.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/system/system_intf.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/system/system_win.ml =================================================================== --- trunk/src/system/system_win.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/system/system_win.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/system/system_win.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/system.ml =================================================================== --- trunk/src/system.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/system.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/system.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/system.mli =================================================================== --- trunk/src/system.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/system.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/system.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* Operations on filesystem path *) Modified: trunk/src/terminal.ml =================================================================== --- trunk/src/terminal.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/terminal.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/terminal.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/test.ml =================================================================== --- trunk/src/test.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/test.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/test.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/test.mli =================================================================== --- trunk/src/test.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/test.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/test.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* Internal self-tests *) Modified: trunk/src/transfer.ml =================================================================== --- trunk/src/transfer.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/transfer.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/transfer.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/transfer.mli =================================================================== --- trunk/src/transfer.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/transfer.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/transfer.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* Rsync : general algorithm description Modified: trunk/src/transport.ml =================================================================== --- trunk/src/transport.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/transport.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/transport.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/transport.mli =================================================================== --- trunk/src/transport.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/transport.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/transport.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* Executes the actions implied by the reconItem list. *) val transportItem : Modified: trunk/src/tree.ml =================================================================== --- trunk/src/tree.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/tree.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/tree.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/tree.mli =================================================================== --- trunk/src/tree.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/tree.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/tree.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* An ('a, 'b) t is a tree with 'a-labeled arcs and 'b-labeled nodes. *) (* Labeling for the internal nodes is optional *) Modified: trunk/src/ubase/proplist.ml =================================================================== --- trunk/src/ubase/proplist.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/ubase/proplist.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/ubase/proplist.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/ubase/proplist.mli =================================================================== --- trunk/src/ubase/proplist.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/ubase/proplist.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/ubase/proplist.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) type 'a key type t Modified: trunk/src/ubase/rx.ml =================================================================== --- trunk/src/ubase/rx.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/ubase/rx.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/ubase/rx.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/ubase/rx.mli =================================================================== --- trunk/src/ubase/rx.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/ubase/rx.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/ubase/rx.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) type t Modified: trunk/src/ubase/safelist.ml =================================================================== --- trunk/src/ubase/safelist.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/ubase/safelist.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/ubase/safelist.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/ubase/safelist.mli =================================================================== --- trunk/src/ubase/safelist.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/ubase/safelist.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/ubase/safelist.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* All functions here are tail recursive and will work for arbitrary sized lists (unlike some of the standard ones). The intention is that Modified: trunk/src/ubase/trace.ml =================================================================== --- trunk/src/ubase/trace.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/ubase/trace.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/ubase/trace.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/ubase/trace.mli =================================================================== --- trunk/src/ubase/trace.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/ubase/trace.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/ubase/trace.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* ---------------------------------------------------------------------- *) (* Debugging support *) Modified: trunk/src/ubase/uarg.ml =================================================================== --- trunk/src/ubase/uarg.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/ubase/uarg.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/ubase/uarg.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* by Xavier Leroy, projet Cristal, INRIA Rocquencourt *) (* Slightly modified by BCP, July 1999 *) Modified: trunk/src/ubase/util.ml =================================================================== --- trunk/src/ubase/util.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/ubase/util.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/ubase/util.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/ubase/util.mli =================================================================== --- trunk/src/ubase/util.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/ubase/util.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/ubase/util.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* Miscellaneous utility functions and datatypes *) Modified: trunk/src/ui.mli =================================================================== --- trunk/src/ui.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/ui.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/ui.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* The module Ui provides only the user interface signature. Implementations are provided by Uitext and Uitk. *) Modified: trunk/src/uicommon.ml =================================================================== --- trunk/src/uicommon.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/uicommon.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/uicommon.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/uicommon.mli =================================================================== --- trunk/src/uicommon.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/uicommon.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/uicommon.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* Kinds of UI *) type interface = Modified: trunk/src/uigtk2.ml =================================================================== --- trunk/src/uigtk2.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/uigtk2.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/uigtk2.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/uigtk2.mli =================================================================== --- trunk/src/uigtk2.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/uigtk2.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,4 +1,4 @@ (* Unison file synchronizer: src/uigtk2.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) module Body : Uicommon.UI Modified: trunk/src/uitext.ml =================================================================== --- trunk/src/uitext.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/uitext.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/uitext.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -715,14 +715,17 @@ Os.fileInUnisonDir s let watchercmd r = - (* FIX: is the quoting of --follow parameters going to work on Win32? *) + (* FIX: is the quoting of --follow parameters going to work on Win32? + (2/2012: tried adding Uutil.quotes -- maybe this is OK now?) *) (* FIX -- need to find the program using watcherosx preference *) let root = Fspath.toString (snd r) in let changefile = watcherTemp root "changes" in let statefile = watcherTemp root "state" in let paths = Safelist.map Path.toString !originalValueOfPathsPreference in let followpaths = Pred.extern Path.followPred in - let follow = Safelist.map (fun s -> "--follow '"^s^"'") followpaths in + let follow = Safelist.map + (fun s -> "--follow '" ^ Uutil.quotes s ^ "'") + followpaths in let cmd = Printf.sprintf "fsmonitor.py %s --outfile %s --statefile %s %s %s\n" root (System.fspathToPrintString changefile) Modified: trunk/src/uitext.mli =================================================================== --- trunk/src/uitext.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/uitext.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,4 +1,4 @@ (* Unison file synchronizer: src/uitext.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) module Body : Uicommon.UI Modified: trunk/src/unicode.ml =================================================================== --- trunk/src/unicode.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/unicode.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/unicode.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/unicode.mli =================================================================== --- trunk/src/unicode.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/unicode.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/unicode.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) exception Invalid Modified: trunk/src/update.ml =================================================================== --- trunk/src/update.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/update.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/update.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/update.mli =================================================================== --- trunk/src/update.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/update.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/update.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) module NameMap : MyMap.S with type key = Name.t Modified: trunk/src/uutil.ml =================================================================== --- trunk/src/uutil.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/uutil.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/uutil.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/uutil.mli =================================================================== --- trunk/src/uutil.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/uutil.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/uutil.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* This module collects a number of low-level, Unison-specific utility functions. It is kept separate from the Util module so that that module Modified: trunk/src/xferhint.ml =================================================================== --- trunk/src/xferhint.ml 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/xferhint.ml 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/xferhint.ml *) -(* Copyright 1999-2010, Benjamin C. Pierce +(* Copyright 1999-2012, Benjamin C. Pierce This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/src/xferhint.mli =================================================================== --- trunk/src/xferhint.mli 2012-02-26 21:01:47 UTC (rev 483) +++ trunk/src/xferhint.mli 2012-02-29 01:28:54 UTC (rev 484) @@ -1,5 +1,5 @@ (* Unison file synchronizer: src/xferhint.mli *) -(* Copyright 1999-2010, Benjamin C. Pierce (see COPYING for details) *) +(* Copyright 1999-2012, Benjamin C. Pierce (see COPYING for details) *) (* This module maintains a cache that can be used to map an Os.fullfingerprint to a (Fspath.t * Path.t) naming a file that *may*