benjamin c pierce bcpiercesaulcisupennedu yahoo groups sponsor 4 dvds free sp join httpusclickyahoocompt6ybbnxieaaeygaa26eolbtm new version unison available testing incorporates several small improvements 291 main change fix bug potentially serious safety consequences small number users habit running one instance unison time parallel users strongly encouraged upgrade others wait wish release includes prebuilt executables linux solaris windows looking unisonwindows maintainer moment none active developers regularly using unison windows machine configured properly building executables export grab httpwwwcisupennedubcpierceunisondownloadhtml enjoy benjamin changes since 291 added preference maxthreads used limit number simultaneous file transfers added backupdir preference controls backup files stored basic support added osx particular unison recognizes one hosts synchronized running osx switches caseinsensitive treatment filenames ie foo foo considered file osx yet fully working however particular files resource forks synchronized correctly hash used form archive name also added names temp files created file transfer reason update detection going silently delete old temp files find along way want prevent deleting temp files belonging instances unison may running parallel eg synchronizing different host thanks ruslan ermilov suggestion several small user interface improvements documentation faq bug reporting instructions split separate html pages accessible directly unison web page additions faq particular suggestions performance tuning makefile makefileocaml sets uistyletext uistylegtk automatically depending whether finds lablgtk installed unison compile box osx changes since 281 changing profile works windows file movement optimization unison tries use local copy instead transfer moved copied files controled boolean option xferbycopying network statistics window transfer rate amount data transferred nb available windowscygwin version symlinks work cygwin version dynamically linked fixed potential deadlock synchronizing windows unix small improvements neither tt userprofile tt home environment variables set unison put temporary commit log called tt dangerreadme directory named tt unison environment variable otherwise use tt c alternative set values fastcheck yes true false default auto silent implies contactquietly source code code reorganization tidying started breaking basic utility modules nonunisonspecific stuff made available projects several makefile docs changes release comments updateml connection information stored global variables anymore changes since 2778 small bugfix textual user interface unix avoid leaving terminal bad state would echo inputs unison exited changes since 2739 improvements main web page stable beta version docs accessible user manual revised added new preferences sshcmd rshcmd specifying paths ssh rsh programs contactquietly suppressing contacting server message unison startup graphical ui bug fixes fixed small bug ui neglected change displayed column headers loading new profile caused roots change fixed bug would put text ui infinite loop encountered conflict run batch mode added code try fix display nonascii characters filenames windows systems gtk ui code currently untestedif youre one people reported problems display nonascii filenames wed appreciate knowing actually fixes things preferforce newer works properly bug reported sebastian urbaniak sean fulton user interface unison behavior renamed proceed go graphical ui added exit status textual user interface paths synchronized conflicts errors update detection noted log file end messages log use briefer format changed text ui startup sequence tt unison ui text use default profile instead failing made improvements error messages added debugging messages remoteml changes since 277 incorporated multithreaded transport subsystem transfers several files time thereby making much effective use available network bandwidth unlike earlier attempt time rely native thread library ocaml instead implement lightweight nonpreemptive multithread library ocaml directly version appears stable adjustments unison made accommodate multithreaded version include particular changes user interface logging example two log entries transferring task one beginning one end suppressed warning messages removing temp files left previous unison run warning work nicely multithreading temp file names made less likely coincide name file created user take form unisontmp added new command gtk user interface pressing f causes unison start new update detection phase using paths paths detected changed yet marked successfully completed use command quickly restart unison set paths still needing attention previous run made ignorecase preference uservisible changed initialization code manually set true even neither host running windows may useful eg using unison running unix system fat volume mounted small improvements bug fixes errors preference files generate fatal errors rather warnings startup time ie cant go also fixed bug preventing warnings appearing text ui users running unsuspectingly garbage prefs files may get error reports error reporting preference files provides file name line number intelligible message case identical change files nothing replicas changed identical ways since last sync files prefix excluded scanning preference files rsync instructions send directly instead first marshaled wont try forever get fingerprint continuously changing file unison give certain number retries bug fixes including one reported peter selinger forceolder preference working compilation upgraded new ocaml 304 compiler lablgtk 123 library patched version used compiling windows added option compile unison windows platform cygwin gnu c compiler option supports building dynamically linked unison executables changes since 274 fixed silly debilitating bug client startup sequence changes since 271 added addprefsto preference set controls preference file new preferences eg new ignore patterns added bug fix read initial connection header one byte time dont block header shorter expected bug affect normal operation made hard tell trying use unison incorrectly old version server since would hang instead giving error message changes since 2659 changed fastcheck boolean string preference legal values yes fast check safe check default fast checkwhich also happens safewhen running unix safe check windows default default several preferences renamed consistency preference names spelled lowercase backward compatibility old names still work mentioned manual temp files created diff merge commands named prepending new prefix file name rather appending suffix avoid confusing diffmerge programs depend suffix guess type file contents set keepalive option server socket make sure server times communication link unexpectedly broken bug fixes updating small files unison closes destination file file permissions properly updated file behind followed link several small fixes changes since 2638 major windows performance improvement weve added preference fastcheck makes unison look files creation time lastmodified time check whether changed result huge speedup checking updates large replicas switch set unison use file creation times pseudo inode numbers scanning windows replicas updates instead reading full contents every file may cause unison miss propagating update create time modification time length file unchanged update easy achieve done however unison never overwrite update change replica since always safe check updates propagating change thus reasonable use switch time occasionally run unison fastcheck set false worried unison may overlooked update warning change yet thoroughly fieldtested set fastcheck preference pay careful attention unison new functionality centralized backups merging version incorporates two pieces major new functionality implemented sylvain roy summer internship penn centralized backup facility keeps full backup selected files replica merging feature allows unison invoke external filemerging tool resolve conflicting changes individual files centralized backups unison maintains full backups lastsynchronized versions files replica function backups usual sense common version invoking external merge programs backed files stored directory unisonbackup host name directory changed setting environment variable unisonbackupdir predicate backup controls files actually backed giving preference backup path causes backing files files added backup directory whenever unison updates archive means unison reconstructs archive scratch eg upgrade archive files manually deleted files backed otherwise file backed first time unison propagates update preference backupversions controls many previous versions file kept default 2 ie last synchronized version plus one backup backward compatibility backups preference also still supported backup preferred ok manually delete files backup directory throw away directory unison uses files anything important checks fingerprint matches one expects merging user interfaces offer new merge command invoked pressing changed file selected actual merging performed external program preferences merge merge2 control program invoked backup exists file see backup preference merge preference used purpose otherwise merge2 used cases value preference string representing command passed shell invoke merge program within string special substrings current1 current2 new old may appear point unison substitute follows invoking command current1 replaced name local copy file current2 replaced name temporary file contents remote copy file transferred unison prior performing merge new replaced name temporary file unison expects written merge program finishes giving desired new contents file old replaced name backed copy original version file ie state end last successful run unison one exists applies merge merge2 example unix systems setting merge preference merge diff3 current1 old current2 new tell unison use external diff3 program merging large number external merging programs available example emacs users may find following convenient merge2 emacs q eval ediffmergefiles current1 current2 nil new merge emacs q eval ediffmergefileswithancestor current1 current2 old nil new commands displayed two lines avoid running edge page preference file written single line external program exits without leaving file path new unison considers merge failed merge program writes file called new exits nonzero status code unison considers merge succeeded generated conflicts case attempts invoke external editor user resolve conflicts value editor preference controls editor invoked unison default emacs please send us suggestions useful values merge2 merge preferences wed like give several examples manual smaller changes one preference file includes another unison longer adds suffix prf included file default file precisely given name exists unison directory used otherwise unison add prf change means included preference files named blahinclude instead blahprf unison offer choose preference file dialog linux systems offer statically linked dynamically linked executable static one larger probably run systems since doesnt depend versions dynamically linked library modules available fixed force prefer preferences getting propagation direction exactly backwards fixed bug startup code would cause unison crash default profile unisondefaultprf exist fixed bug run profile first created unison would confusingly display roots reverse order user interface developers weve added module dependency diagram source distribution srcdependenciesps help new prospective developers navigating code changes since 2611 incompatible change archive format changed incompatible change startup sequence completely rewritten greatly simplified main uservisible change defaultpath preference removed effect approximated using multiple profiles include directives incorporate common settings uses defaultpath existing profiles changed path another change startup behavior affect users longer possible specify roots profile command line achieve similar effect though breaking profile two defaultprf root blah root foo include common commonprf unison common root1 root2 want specify roots explicitly prefer force options extended allow users specify files recent modtimes propagated writing either prefer newer force newer symmetry unison also accept prefer older force older force oldernewer options used times also set graphical user interface provides access facilities oneoff basis via actions menu names roots aliased allow replicas relocated without changing name archive file unison stores information runs feature experts see archive files section manual information graphical userinterface new command provided synchronization menu switching new profile without restarting unison scratch gui also supports onekey shortcuts commonly used profiles profile contains preference form key n n single digit pressing key cause unison immediately switch profile begin synchronization scratch actions may selected set changes currently displayed discarded profile may include preference label giving descriptive string described options selected profile string listed along profile name profile selection dialog displayed topright corner main unison window minor fixed bug would sometimes cause diff display order files backwards relative main user interface thanks pascal brisset fix unix systems graphical version unison check display variable set automatically fall back textual user interface synchronization paths path preferences matched ignore preferences path specified path preference ignored skipped numerous bugfixes small improvements changes since 261 synchronization modification times disabled directories preference files may include lines form include cause nameprf read point synchronization permission windows unix works properly binding cygwinbinmode added environment cygwin port openssh works properly noncygwin context servercmd addversionno preferences used together addversionno appends appropriate nnn server command found using value servercmd preference one else unison prefval pref val allowed boolean values former used set preference false lot small bugs fixed changes since 2531 log preference set true default since log file seems useful users several miscellaneous bugfixes involving symlinks changes since 2525 incompatible change archive format changed several significant bugs introduced 2525 fixed changes since 251 incompatible change archive format changed make sure synchronize replicas upgrading avoid spurious conflicts first sync upgrading slow new functionality unison synchronizes file modtimes userids groupids new features controlled set new preferences currently false default times preference set true file modification times propaged representations time may granularity replicas unison may always able make modtimes precisely equal get close operating systems involved allow owner preference set true file ownership information synchronized group preference set true group information synchronized numericids preference set true owner group information synchronized numerically default owner group numbers converted names replica names synchronized special user id 0 special group 0 never mapped via usergroup names even preference set added integervalued preference perms used control propagation permission bits value preference mask indicating permission bits synchronized set default 0o1777 bits setuid setgid bits synchronised synchronizing theses latter bits security hazard want synchronize bits set value preference 1 added log preference default false makes unison keep complete record changes makes replicas default record written file called unisonlog users home directory value home environment variable want someplace else set logfile preference full pathname want unison use added ignorenot preference maintains set patterns paths definitely ignored whether match ignore pattern path ignored iff matches ignore pattern match ignorenot patterns userinterface improvements roots displayed user interface order given command line preferences file batch preference set graphical user interface longer waits user confirmation displays warning message simply pops advisory window dismiss button bottom keeps going added new preference controlling many status messages printed update detection statusdepth controls maximum depth paths local machine longer paths displayed nondirectory paths value integer default 1 removed trace silent preferences seem useful many preferences controlling output various ways text ui displays default command one used user types instead available commands typing print full list possibilities function finds canonical hostname local host used example calculating name archive file used remember files synchronized normally uses gethostname operating system call however environment variable unisonlocalhostname set value used instead makes easier use unison situations machines name changes frequently eg laptop gets moved around lot file owner group displayed detail window bottom screen unison configured synchronize hackers updated jacques garrigues new version lablgtk means throw away local patched version youre compiling gtk version unison sources youll need update copy lablgtk developers release available httpwwwfunkurimskyotouacjpsoftolabllablgtkhtml warning installing lablgtk windows currently bit challenging todotxt file source distribution cleaned reorganized list pending tasks much easier make sense people may want contribute programming energies also separate file bugstxt open bugs tk user interface removed maintained longer compiles debug preference prints quite bit additional information useful identifying sources problems version number remote server checked right away connection setup handshake rather later somebody sent bug report server crash turned come using inconsistent versions better check earlier way cant crash either client server unison runs correctly 64bit architectures eg alpha linux distributing binaries architectures least someone would like make available well glad provide link bug fixes pattern matching eg ignore caseinsensitive unison caseinsensitive mode ie one replicas windows machine people trouble mysterious failures propagation updates files would falsely reported changed synchronization fixed numerous smaller fixes changes since 241 added number sorting modes user interface default conflicting changes displayed top rest entries sorted alphabetical order behavior changed following ways setting sortnewfirst preference true causes newly created files displayed changed files setting sortbysize causes files displayed increasing order size giving preference sortfirst path descriptor format ignore follow patterns causes paths matching pattern displayed first similarly giving preference sortlast causes paths matching pattern displayed last sorting preferences described detail user manual sortnewfirst sortbysize flags also accessed sort menu grpahical user interface added two new preferences used change unisons fundamental behavior make like mirroring tool instead synchronizer giving preference prefer argument adding prefer command line prefer profile means conflict contents propagated replica questions asked nonconflicting changes treated usual giving preference force argument make unison resolve differences favor given root even replica changed options used care information available manual small changes changed default answer yes twobutton dialogs graphical interface seems intuitive rsync preference removed used activate rsync compression file transfers rsync compression enabled default text user interface arrows indicating direction changes propagated printed differently user overridded unisons default recommendation instead matches behavior graphical interface displays arrows different color carriage returns controlms ignored ends lines profiles windows compatibility preferences fully documented user manual changes since 2312 incompatible change archive format changed make sure synchronize replicas upgrading avoid spurious conflicts first sync upgrading slow newimproved functionality new preference sortbysize controls order changes displayed user set true smallest changed files displayed first default setting false new preference sortnewfirst causes newly created files listed updates user interface allow ssh protocol specify port incompatible change unison protocol deprecated added file socket may modify profiles unison directory replica specified without explicit protocol assume refers file previously saulfoo meant use ssh connect saul access foo directory means access saul via remote file mechanism samba old effect achieved writing sshsaulfoo changed startup sequence case roots given profile given command line new behavior use default profile creating exist temporarily override roots manual claimed case would work reading profile afaik never true user interfaces files conflicts always listed first new preference sshversion used control version ssh used connect server legal values 1 2 default empty make unison use whatever version ssh installed default ssh command situation permissions file updated side handled correctly used report spurious conflict improvements windows version fact filenames treated caseinsensitively windows handled correctly exact behavior described crossplatform section manual possible synchronize windows shares eg hostdrivepath workarounds bug syncing root directories windows difficult thing fix ocaml bug unixopendir fails c versions windows improvements gtk user interface tk interface longer maintained ui displays actions differently blue explicitly changed user unisons default recommendation colorful appearance initial profile selection window works better transfers failed message effect displayed along synchronization complete end transfer phase case may scrolled top added global progress meter displaying percentage total bytes transferred far improvements text user interface file details displayed automatically conflict detected warning generated eg temporary file left previous run unison unison longer wait response running batch mode ui displays short list possible inputs time waits user interaction ui quits immediately rather looping back starting interaction user presses q asked whether propagate changes pressing g text user interface proceed immediately propagating updates without asking questions documentation installation changes manual includes faq plus sections common problems tricks contributed users download page download directory explicitly say current stable betatest version numbers ocaml sources uptotheminute developers version guaranteed stable even compile given time available download page added subsection manual describing crossplatform issues case conflicts illegal filenames many small bug fixes random improvements changes since 231 several bug fixes important bug rsync module would occasionally cause change propagation fail rename error changes since 22 multithreaded transport system disabled default stable enough yet various bug fixes new experimental feature final component path argument may wildcard specifier unison sees path expands path client corresponding list paths listing contents directory note use wildcard paths command line probably need use quotes backslash prevent interpreted shell roots local contents first one used expanding wildcard paths nb first one canonization step ie one listed first user interface one listed first command line preferences file changes since 21 transport subsystem includes implementation sylvain gommier norman ramsey tridgell mackerrass rsync protocol protocol achieves much faster transfers small part large file changed sending diffs feature mainly helpful transfers slow linkson fast local area networks actually degrade performanceso left default start unison rsync option put rsynctrue preferences file turn progress bars diplayed remote file transfers showing percentage file transferred far version numbering scheme changed new releases numbers like 2230 second component incremented every significant public release third component patch level miscellaneous improvements gtkbased user interface manual available pdf format experimenting using multithreaded transport subsystem transfer several files time making much effective use available network bandwidth feature completely stable yet default disabled release version unison want play multithreaded version youll need recompile unison sources described documentation setting threads flag makefileocaml true make sure ocaml compiler installed withpthreads configuration option verify checking whether file threadsthreadscma ocaml standard library directory contains string lpthread near end changes since 1292 reduced memory footprint especially important first run unison gather information files repositories fixed bug would cause socket server nt fail client exits added shift modifier ignore menu shortcut keys gtk interface avoid hitting accidentally changes since 1231 tunneling ssh supported windows version see installation section manual detailed instructions transport subsystem includes implementation rsync protocol built sylvain gommier norman ramsey protocol achieves much faster transfers small part large file changed sending diffs rsync feature default current version use rsync switch turn nb still lot tuning may notice much speedup yet experimenting multithreaded transport subsystem written jerome vouillon downloadable binaries still singlethreaded want try multithreaded version youll need recompile sources say make threadstrue native thread support compiler required use option threads n select maximal number concurrent threads default 5 multithreaded singlethreaded clientsservers interoperate new gtkbased user interface available thanks jacques garrigue tk user interface still works well shifting development effort gtk interface ocaml 300 required compiling unison sources modules uitk myfileselect changed use labltk instead camltk compile tk interface windows must ocaml300 tk83 installing tk83 put ctcl rather suggested cprogram filestcl sure install headers libraries installed default added new addversionno switch causes unison use unison instead unison remote server command allows multiple versions unison coexist conveniently server whichever version run client version selected server changes since 1219 incompatible change archive format changed make sure synchronize replicas upgrading avoid spurious conflicts first sync upgrading slow version fixes several annoying bugs including cases propagation file permissions working umask ignored creating directories directories create writable readonly directory contents propagated handling warnings generated server synchronizing path whose parent directory sides flagged erroneous fixed bugs related symnbolic links nonexistant roots change deletion new contents propagated onto followed symlink file pointed link changed used change link doesnt fit assertion follow means link completely invisible one root exist propagating root top used fail becuase unison could calculate working directory write changes fixed humanreadable timestamp added unisons archive files semantics path name regular expressions correspond better minor improvements text ui eg command going back previous items organization export directory changed easier find download things changes since 1200 incompatible change archive format changed make sure synchronize replicas upgrading avoid spurious conflicts first sync upgrading slow version tested extensively windows major internal changes designed make unison safer run time replicas changed user internal performance improvements changes since 1190 incompatible change archive format changed make sure synchronize replicas upgrading avoid spurious conflicts first sync upgrading slow number internal functions changed reduce amount memory allocation especially first synchronization help power users big replicas reimplementation lowlevel remote procedure call stuff preparation adding rsynclike smart file transfer later release miscellaneous bug fixes changes since 1180 incompatible change archive format changed make sure synchronize replicas upgrading avoid spurious conflicts first sync upgrading slow fixed small bugs interpretation ignore patterns fixed problems preventing windows version working correctly clickstarted fixes treatment file permissions windows causing spurious reports different permissions synchronizing windows unix systems fixed one nontailrecursive list processing function causing stack overflows synchronizing large replicas changes since 1169 text user interface provides commands ignoring files found fixed nontailrecursive list processing functions power users reported success large replicas incompatible change files ending tmp longer ignored automatically want ignore files put appropriate ignore pattern profile incompatible change syntax ignore follow patterns changed instead putting line form ignore profile unisondefaultprf put ignore regexp moreover two styles pattern also recognized ignore name matches path one component matches ignore path matches exactly path standard globbing conventions used matches single character except matches sequence characters including xyz matches character set x z abbccc matches one bb ccc see user manual examples changes since 1146 users reporting stack overflows synchronizing huge directories found fixed nontailrecursive list processing functions hope solve problem please give try let us know major additions documentation changes since 1142 major internal tidying many small bugfixes major additions user manual unison started arguments prompt automatically name profile file containing roots synchronized makes possible start graphical ui desktop icon fixed small bug text ui nt raising signal exception changes since 1139 precompiled windows binary last release compiled old ocaml compiler causing propagation permissions work perhaps leading strange behaviors weve heard reports corrected youre using precompiled binaries windows please upgrade added debug command line flag controls debugging various modules say debug xxx enable debug tracing module xxx debug turn absolutely everything fixed small bug text ui nt raising signal exception changes since 1111 incompatible change names formats preference files unison directory changed particular file prefs renamed defaultprf contents file ignore merged defaultprf line form regexp ignore become line form ignore regexp defaultprf unison handles permission bits symbolic links see manual details different preference files unison directory start unison like unison profilename ie one anonymous commandline argument file unisonprofilenameprf loaded instead defaultprf improvements terminal handling text user interface added switch killserver terminates remote server process unison client shutting even using sockets communication default remote server created using sshrsh terminated automatically socket server left running started socket server mode unison prints server started stderr ready accept connections may useful scripts want tell socketmode server finished initalization make nightly mirror current internal development tree case anyone wants uptotheminute version hack around added file contrib suggestions help us make unison better changes version 2920 changes since 291 added preference maxthreads used limit number simultaneous file transfers added backupdir preference controls backup files stored basic support added osx particular unison recognizes one hosts synchronized running osx switches caseinsensitive treatment filenames ie foo foo considered file osx yet fully working however particular files resource forks synchronized correctly hash used form archive name also added names temp files created file transfer reason update detection going silently delete old temp files find along way want prevent deleting temp files belonging instances unison may running parallel eg synchronizing different host thanks ruslan ermilov suggestion several small user interface improvements documentation faq bug reporting instructions split separate html pages accessible directly unison web page additions faq particular suggestions performance tuning makefile makefileocaml sets uistyletext uistylegtk automatically depending whether finds lablgtk installed unison compile box osx changes since 281 changing profile works windows file movement optimization unison tries use local copy instead transfer moved copied files controled boolean option xferbycopying network statistics window transfer rate amount data transferred nb available windowscygwin version symlinks work cygwin version dynamically linked fixed potential deadlock synchronizing windows unix small improvements neither tt userprofile tt home environment variables set unison put temporary commit log called tt dangerreadme directory named tt unison environment variable otherwise use tt c alternative set values fastcheck yes true false default auto silent implies contactquietly source code code reorganization tidying started breaking basic utility modules nonunisonspecific stuff made available projects several makefile docs changes release comments updateml connection information stored global variables anymore changes since 2778 small bugfix textual user interface unix avoid leaving terminal bad state would echo inputs unison exited changes since 2739 improvements main web page stable beta version docs accessible user manual revised added new preferences sshcmd rshcmd specifying paths ssh rsh programs contactquietly suppressing contacting server message unison startup graphical ui bug fixes fixed small bug ui neglected change displayed column headers loading new profile caused roots change fixed bug would put text ui infinite loop encountered conflict run batch mode added code try fix display nonascii characters filenames windows systems gtk ui code currently untestedif youre one people reported problems display nonascii filenames wed appreciate knowing actually fixes things preferforce newer works properly bug reported sebastian urbaniak sean fulton user interface unison behavior renamed proceed go graphical ui added exit status textual user interface paths synchronized conflicts errors update detection noted log file end messages log use briefer format changed text ui startup sequence tt unison ui text use default profile instead failing made improvements error messages added debugging messages remoteml changes since 277 incorporated multithreaded transport subsystem transfers several files time thereby making much effective use available network bandwidth unlike earlier attempt time rely native thread library ocaml instead implement lightweight nonpreemptive multithread library ocaml directly version appears stable adjustments unison made accommodate multithreaded version include particular changes user interface logging example two log entries transferring task one beginning one end suppressed warning messages removing temp files left previous unison run warning work nicely multithreading temp file names made less likely coincide name file created user take form unisontmp added new command gtk user interface pressing f causes unison start new update detection phase using paths paths detected changed yet marked successfully completed use command quickly restart unison set paths still needing attention previous run made ignorecase preference uservisible changed initialization code manually set true even neither host running windows may useful eg using unison running unix system fat volume mounted small improvements bug fixes errors preference files generate fatal errors rather warnings startup time ie cant go also fixed bug preventing warnings appearing text ui users running unsuspectingly garbage prefs files may get error reports error reporting preference files provides file name line number intelligible message case identical change files nothing replicas changed identical ways since last sync files prefix excluded scanning preference files rsync instructions send directly instead first marshaled wont try forever get fingerprint continuously changing file unison give certain number retries bug fixes including one reported peter selinger forceolder preference working compilation upgraded new ocaml 304 compiler lablgtk 123 library patched version used compiling windows added option compile unison windows platform cygwin gnu c compiler option supports building dynamically linked unison executables changes since 274 fixed silly debilitating bug client startup sequence changes since 271 added addprefsto preference set controls preference file new preferences eg new ignore patterns added bug fix read initial connection header one byte time dont block header shorter expected bug affect normal operation made hard tell trying use unison incorrectly old version server since would hang instead giving error message changes since 2659 changed fastcheck boolean string preference legal values yes fast check safe check default fast checkwhich also happens safewhen running unix safe check windows default default several preferences renamed consistency preference names spelled lowercase backward compatibility old names still work mentioned manual temp files created diff merge commands named prepending new prefix file name rather appending suffix avoid confusing diffmerge programs depend suffix guess type file contents set keepalive option server socket make sure server times communication link unexpectedly broken bug fixes updating small files unison closes destination file file permissions properly updated file behind followed link several small fixes changes since 2638 major windows performance improvement weve added preference fastcheck makes unison look files creation time lastmodified time check whether changed result huge speedup checking updates large replicas switch set unison use file creation times pseudo inode numbers scanning windows replicas updates instead reading full contents every file may cause unison miss propagating update create time modification time length file unchanged update easy achieve done however unison never overwrite update change replica since always safe check updates propagating change thus reasonable use switch time occasionally run unison fastcheck set false worried unison may overlooked update warning change yet thoroughly fieldtested set fastcheck preference pay careful attention unison new functionality centralized backups merging version incorporates two pieces major new functionality implemented sylvain roy summer internship penn centralized backup facility keeps full backup selected files replica merging feature allows unison invoke external filemerging tool resolve conflicting changes individual files centralized backups unison maintains full backups lastsynchronized versions files replica function backups usual sense common version invoking external merge programs backed files stored directory unisonbackup host name directory changed setting environment variable unisonbackupdir predicate backup controls files actually backed giving preference backup path causes backing files files added backup directory whenever unison updates archive means unison reconstructs archive scratch eg upgrade archive files manually deleted files backed otherwise file backed first time unison propagates update preference backupversions controls many previous versions file kept default 2 ie last synchronized version plus one backup backward compatibility backups preference also still supported backup preferred ok manually delete files backup directory throw away directory unison uses files anything important checks fingerprint matches one expects merging user interfaces offer new merge command invoked pressing changed file selected actual merging performed external program preferences merge merge2 control program invoked backup exists file see backup preference merge preference used purpose otherwise merge2 used cases value preference string representing command passed shell invoke merge program within string special substrings current1 current2 new old may appear point unison substitute follows invoking command current1 replaced name local copy file current2 replaced name temporary file contents remote copy file transferred unison prior performing merge new replaced name temporary file unison expects written merge program finishes giving desired new contents file old replaced name backed copy original version file ie state end last successful run unison one exists applies merge merge2 example unix systems setting merge preference merge diff3 current1 old current2 new tell unison use external diff3 program merging large number external merging programs available example emacs users may find following convenient merge2 emacs q eval ediffmergefiles current1 current2 nil new merge emacs q eval ediffmergefileswithancestor current1 current2 old nil new commands displayed two lines avoid running edge page preference file written single line external program exits without leaving file path new unison considers merge failed merge program writes file called new exits nonzero status code unison considers merge succeeded generated conflicts case attempts invoke external editor user resolve conflicts value editor preference controls editor invoked unison default emacs please send us suggestions useful values merge2 merge preferences wed like give several examples manual smaller changes one preference file includes another unison longer adds suffix prf included file default file precisely given name exists unison directory used otherwise unison add prf change means included preference files named blahinclude instead blahprf unison offer choose preference file dialog linux systems offer statically linked dynamically linked executable static one larger probably run systems since doesnt depend versions dynamically linked library modules available fixed force prefer preferences getting propagation direction exactly backwards fixed bug startup code would cause unison crash default profile unisondefaultprf exist fixed bug run profile first created unison would confusingly display roots reverse order user interface developers weve added module dependency diagram source distribution srcdependenciesps help new prospective developers navigating code changes since 2611 incompatible change archive format changed incompatible change startup sequence completely rewritten greatly simplified main uservisible change defaultpath preference removed effect approximated using multiple profiles include directives incorporate common settings uses defaultpath existing profiles changed path another change startup behavior affect users longer possible specify roots profile command line achieve similar effect though breaking profile two defaultprf root blah root foo include common commonprf unison common root1 root2 want specify roots explicitly prefer force options extended allow users specify files recent modtimes propagated writing either prefer newer force newer symmetry unison also accept prefer older force older force oldernewer options used times also set graphical user interface provides access facilities oneoff basis via actions menu names roots aliased allow replicas relocated without changing name archive file unison stores information runs feature experts see archive files section manual information graphical userinterface new command provided synchronization menu switching new profile without restarting unison scratch gui also supports onekey shortcuts commonly used profiles profile contains preference form key n n single digit pressing key cause unison immediately switch profile begin synchronization scratch actions may selected set changes currently displayed discarded profile may include preference label giving descriptive string described options selected profile string listed along profile name profile selection dialog displayed topright corner main unison window minor fixed bug would sometimes cause diff display order files backwards relative main user interface thanks pascal brisset fix unix systems graphical version unison check display variable set automatically fall back textual user interface synchronization paths path preferences matched ignore preferences path specified path preference ignored skipped numerous bugfixes small improvements changes since 261 synchronization modification times disabled directories preference files may include lines form include cause nameprf read point synchronization permission windows unix works properly binding cygwinbinmode added environment cygwin port openssh works properly noncygwin context servercmd addversionno preferences used together addversionno appends appropriate nnn server command found using value servercmd preference one else unison prefval pref val allowed boolean values former used set preference false lot small bugs fixed changes since 2531 log preference set true default since log file seems useful users several miscellaneous bugfixes involving symlinks changes since 2525 incompatible change archive format changed several significant bugs introduced 2525 fixed changes since 251 incompatible change archive format changed make sure synchronize replicas upgrading avoid spurious conflicts first sync upgrading slow new functionality unison synchronizes file modtimes userids groupids new features controlled set new preferences currently false default times preference set true file modification times propaged representations time may granularity replicas unison may always able make modtimes precisely equal get close operating systems involved allow owner preference set true file ownership information synchronized group preference set true group information synchronized numericids preference set true owner group information synchronized numerically default owner group numbers converted names replica names synchronized special user id 0 special group 0 never mapped via usergroup names even preference set added integervalued preference perms used control propagation permission bits value preference mask indicating permission bits synchronized set default 0o1777 bits setuid setgid bits synchronised synchronizing theses latter bits security hazard want synchronize bits set value preference 1 added log preference default false makes unison keep complete record changes makes replicas default record written file called unisonlog users home directory value home environment variable want someplace else set logfile preference full pathname want unison use added ignorenot preference maintains set patterns paths definitely ignored whether match ignore pattern path ignored iff matches ignore pattern match ignorenot patterns userinterface improvements roots displayed user interface order given command line preferences file batch preference set graphical user interface longer waits user confirmation displays warning message simply pops advisory window dismiss button bottom keeps going added new preference controlling many status messages printed update detection statusdepth controls maximum depth paths local machine longer paths displayed nondirectory paths value integer default 1 removed trace silent preferences seem useful many preferences controlling output various ways text ui displays default command one used user types instead available commands typing print full list possibilities function finds canonical hostname local host used example calculating name archive file used remember files synchronized normally uses gethostname operating system call however environment variable unisonlocalhostname set value used instead makes easier use unison situations machines name changes frequently eg laptop gets moved around lot file owner group displayed detail window bottom screen unison configured synchronize hackers updated jacques garrigues new version lablgtk means throw away local patched version youre compiling gtk version unison sources youll need update copy lablgtk developers release available httpwwwfunkurimskyotouacjpsoftolabllablgtkhtml warning installing lablgtk windows currently bit challenging todotxt file source distribution cleaned reorganized list pending tasks much easier make sense people may want contribute programming energies also separate file bugstxt open bugs tk user interface removed maintained longer compiles debug preference prints quite bit additional information useful identifying sources problems version number remote server checked right away connection setup handshake rather later somebody sent bug report server crash turned come using inconsistent versions better check earlier way cant crash either client server unison runs correctly 64bit architectures eg alpha linux distributing binaries architectures least someone would like make available well glad provide link bug fixes pattern matching eg ignore caseinsensitive unison caseinsensitive mode ie one replicas windows machine people trouble mysterious failures propagation updates files would falsely reported changed synchronization fixed numerous smaller fixes changes since 241 added number sorting modes user interface default conflicting changes displayed top rest entries sorted alphabetical order behavior changed following ways setting sortnewfirst preference true causes newly created files displayed changed files setting sortbysize causes files displayed increasing order size giving preference sortfirst path descriptor format ignore follow patterns causes paths matching pattern displayed first similarly giving preference sortlast causes paths matching pattern displayed last sorting preferences described detail user manual sortnewfirst sortbysize flags also accessed sort menu grpahical user interface added two new preferences used change unisons fundamental behavior make like mirroring tool instead synchronizer giving preference prefer argument adding prefer command line prefer profile means conflict contents propagated replica questions asked nonconflicting changes treated usual giving preference force argument make unison resolve differences favor given root even replica changed options used care information available manual small changes changed default answer yes twobutton dialogs graphical interface seems intuitive rsync preference removed used activate rsync compression file transfers rsync compression enabled default text user interface arrows indicating direction changes propagated printed differently user overridded unisons default recommendation instead matches behavior graphical interface displays arrows different color carriage returns controlms ignored ends lines profiles windows compatibility preferences fully documented user manual changes since 2312 incompatible change archive format changed make sure synchronize replicas upgrading avoid spurious conflicts first sync upgrading slow newimproved functionality new preference sortbysize controls order changes displayed user set true smallest changed files displayed first default setting false new preference sortnewfirst causes newly created files listed updates user interface allow ssh protocol specify port incompatible change unison protocol deprecated added file socket may modify profiles unison directory replica specified without explicit protocol assume refers file previously saulfoo meant use ssh connect saul access foo directory means access saul via remote file mechanism samba old effect achieved writing sshsaulfoo changed startup sequence case roots given profile given command line new behavior use default profile creating exist temporarily override roots manual claimed case would work reading profile afaik never true user interfaces files conflicts always listed first new preference sshversion used control version ssh used connect server legal values 1 2 default empty make unison use whatever version ssh installed default ssh command situation permissions file updated side handled correctly used report spurious conflict improvements windows version fact filenames treated caseinsensitively windows handled correctly exact behavior described crossplatform section manual possible synchronize windows shares eg hostdrivepath workarounds bug syncing root directories windows difficult thing fix ocaml bug unixopendir fails c versions windows improvements gtk user interface tk interface longer maintained ui displays actions differently blue explicitly changed user unisons default recommendation colorful appearance initial profile selection window works better transfers failed message effect displayed along synchronization complete end transfer phase case may scrolled top added global progress meter displaying percentage total bytes transferred far improvements text user interface file details displayed automatically conflict detected warning generated eg temporary file left previous run unison unison longer wait response running batch mode ui displays short list possible inputs time waits user interaction ui quits immediately rather looping back starting interaction user presses q asked whether propagate changes pressing g text user interface proceed immediately propagating updates without asking questions documentation installation changes manual includes faq plus sections common problems tricks contributed users download page download directory explicitly say current stable betatest version numbers ocaml sources uptotheminute developers version guaranteed stable even compile given time available download page added subsection manual describing crossplatform issues case conflicts illegal filenames many small bug fixes random improvements changes since 231 several bug fixes important bug rsync module would occasionally cause change propagation fail rename error changes since 22 multithreaded transport system disabled default stable enough yet various bug fixes new experimental feature final component path argument may wildcard specifier unison sees path expands path client corresponding list paths listing contents directory note use wildcard paths command line probably need use quotes backslash prevent interpreted shell roots local contents first one used expanding wildcard paths nb first one canonization step ie one listed first user interface one listed first command line preferences file changes since 21 transport subsystem includes implementation sylvain gommier norman ramsey tridgell mackerrass rsync protocol protocol achieves much faster transfers small part large file changed sending diffs feature mainly helpful transfers slow linkson fast local area networks actually degrade performanceso left default start unison rsync option put rsynctrue preferences file turn progress bars diplayed remote file transfers showing percentage file transferred far version numbering scheme changed new releases numbers like 2230 second component incremented every significant public release third component patch level miscellaneous improvements gtkbased user interface manual available pdf format experimenting using multithreaded transport subsystem transfer several files time making much effective use available network bandwidth feature completely stable yet default disabled release version unison want play multithreaded version youll need recompile unison sources described documentation setting threads flag makefileocaml true make sure ocaml compiler installed withpthreads configuration option verify checking whether file threadsthreadscma ocaml standard library directory contains string lpthread near end changes since 1292 reduced memory footprint especially important first run unison gather information files repositories fixed bug would cause socket server nt fail client exits added shift modifier ignore menu shortcut keys gtk interface avoid hitting accidentally changes since 1231 tunneling ssh supported windows version see installation section manual detailed instructions transport subsystem includes implementation rsync protocol built sylvain gommier norman ramsey protocol achieves much faster transfers small part large file changed sending diffs rsync feature default current version use rsync switch turn nb still lot tuning may notice much speedup yet experimenting multithreaded transport subsystem written jerome vouillon downloadable binaries still singlethreaded want try multithreaded version youll need recompile sources say make threadstrue native thread support compiler required use option threads n select maximal number concurrent threads default 5 multithreaded singlethreaded clientsservers interoperate new gtkbased user interface available thanks jacques garrigue tk user interface still works well shifting development effort gtk interface ocaml 300 required compiling unison sources modules uitk myfileselect changed use labltk instead camltk compile tk interface windows must ocaml300 tk83 installing tk83 put ctcl rather suggested cprogram filestcl sure install headers libraries installed default added new addversionno switch causes unison use unison instead unison remote server command allows multiple versions unison coexist conveniently server whichever version run client version selected server changes since 1219 incompatible change archive format changed make sure synchronize replicas upgrading avoid spurious conflicts first sync upgrading slow version fixes several annoying bugs including cases propagation file permissions working umask ignored creating directories directories create writable readonly directory contents propagated handling warnings generated server synchronizing path whose parent directory sides flagged erroneous fixed bugs related symnbolic links nonexistant roots change deletion new contents propagated onto followed symlink file pointed link changed used change link doesnt fit assertion follow means link completely invisible one root exist propagating root top used fail becuase unison could calculate working directory write changes fixed humanreadable timestamp added unisons archive files semantics path name regular expressions correspond better minor improvements text ui eg command going back previous items organization export directory changed easier find download things changes since 1200 incompatible change archive format changed make sure synchronize replicas upgrading avoid spurious conflicts first sync upgrading slow version tested extensively windows major internal changes designed make unison safer run time replicas changed user internal performance improvements changes since 1190 incompatible change archive format changed make sure synchronize replicas upgrading avoid spurious conflicts first sync upgrading slow number internal functions changed reduce amount memory allocation especially first synchronization help power users big replicas reimplementation lowlevel remote procedure call stuff preparation adding rsynclike smart file transfer later release miscellaneous bug fixes changes since 1180 incompatible change archive format changed make sure synchronize replicas upgrading avoid spurious conflicts first sync upgrading slow fixed small bugs interpretation ignore patterns fixed problems preventing windows version working correctly clickstarted fixes treatment file permissions windows causing spurious reports different permissions synchronizing windows unix systems fixed one nontailrecursive list processing function causing stack overflows synchronizing large replicas changes since 1169 text user interface provides commands ignoring files found fixed nontailrecursive list processing functions power users reported success large replicas incompatible change files ending tmp longer ignored automatically want ignore files put appropriate ignore pattern profile incompatible change syntax ignore follow patterns changed instead putting line form ignore profile unisondefaultprf put ignore regexp moreover two styles pattern also recognized ignore name matches path one component matches ignore path matches exactly path standard globbing conventions used matches single character except matches sequence characters including xyz matches character set x z abbccc matches one bb ccc see user manual examples changes since 1146 users reporting stack overflows synchronizing huge directories found fixed nontailrecursive list processing functions hope solve problem please give try let us know major additions documentation changes since 1142 major internal tidying many small bugfixes major additions user manual unison started arguments prompt automatically name profile file containing roots synchronized makes possible start graphical ui desktop icon fixed small bug text ui nt raising signal exception changes since 1139 precompiled windows binary last release compiled old ocaml compiler causing propagation permissions work perhaps leading strange behaviors weve heard reports corrected youre using precompiled binaries windows please upgrade added debug command line flag controls debugging various modules say debug xxx enable debug tracing module xxx debug turn absolutely everything fixed small bug text ui nt raising signal exception changes since 1111 incompatible change names formats preference files unison directory changed particular file prefs renamed defaultprf contents file ignore merged defaultprf line form regexp ignore become line form ignore regexp defaultprf unison handles permission bits symbolic links see manual details different preference files unison directory start unison like unison profilename ie one anonymous commandline argument file unisonprofilenameprf loaded instead defaultprf improvements terminal handling text user interface added switch killserver terminates remote server process unison client shutting even using sockets communication default remote server created using sshrsh terminated automatically socket server left running started socket server mode unison prints server started stderr ready accept connections may useful scripts want tell socketmode server finished initalization make nightly mirror current internal development tree case anyone wants uptotheminute version hack around added file contrib suggestions help us make unison better unsubscribe group send email unisonannounceunsubscribeegroupscom use yahoo groups subject httpdocsyahoocominfoterms mon 19 aug 2002 214646 edt unisonannounce new unison betarelease 2920 available