summaryrefslogtreecommitdiff
path: root/packages/nonworking/unison
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2005-06-30 08:19:37 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-06-30 08:19:37 +0000
commitc8e5702127e507e82e6f68a4b8c546803accea9d (patch)
tree00583491f40ecc640f2b28452af995e3a63a09d7 /packages/nonworking/unison
parent87ec8ca4d2e2eb4d1c1e1e1a6b46a395d56805b9 (diff)
import clean BK tree at cset 1.3670
Diffstat (limited to 'packages/nonworking/unison')
-rw-r--r--packages/nonworking/unison/.mtn2git_empty0
-rw-r--r--packages/nonworking/unison/unison-2.9.1/.mtn2git_empty0
-rw-r--r--packages/nonworking/unison/unison-2.9.1/debian.patch10982
-rw-r--r--packages/nonworking/unison/unison_2.9.1.bb6
4 files changed, 10988 insertions, 0 deletions
diff --git a/packages/nonworking/unison/.mtn2git_empty b/packages/nonworking/unison/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/nonworking/unison/.mtn2git_empty
diff --git a/packages/nonworking/unison/unison-2.9.1/.mtn2git_empty b/packages/nonworking/unison/unison-2.9.1/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/nonworking/unison/unison-2.9.1/.mtn2git_empty
diff --git a/packages/nonworking/unison/unison-2.9.1/debian.patch b/packages/nonworking/unison/unison-2.9.1/debian.patch
index e69de29bb2..4fd666e97e 100644
--- a/packages/nonworking/unison/unison-2.9.1/debian.patch
+++ b/packages/nonworking/unison/unison-2.9.1/debian.patch
@@ -0,0 +1,10982 @@
+--- unison-2.9.1.orig/uitext.ml
++++ unison-2.9.1/uitext.ml
+@@ -297,7 +297,9 @@
+ (ProceedImmediately, List.rev_append prev ril)));
+ (["q"],
+ ("exit " ^ Uutil.myName ^ " without propagating any changes"),
+- fun () -> raise Sys.Break);
++ (fun () ->
++ newLine();
++ raise Sys.Break));
+ (["/"],
+ ("skip"),
+ (fun () ->
+--- unison-2.9.1.orig/debian/unison.dirs
++++ unison-2.9.1/debian/unison.dirs
+@@ -0,0 +1 @@
++usr/bin
+--- unison-2.9.1.orig/debian/README.Debian
++++ unison-2.9.1/debian/README.Debian
+@@ -0,0 +1,19 @@
++Documentation for Unison is in the manual, which is available
++in HTML, PostScript and text formats in /usr/share/doc/unison.
++The same documentation can also be accessed over the command
++line, and you can list the available topics by executing
++'unison -doc topics'. Of particular interest for new users
++is the tutorial at 'unison -doc tutorial'.
++
++The most common usage of this package is to use ssh to connect
++to the remote host via to synchronise files. The 'Install'
++section of the manual details how to set up ssh with a key
++file and authentication agent to avoid repeatedly entering
++passwords or pass-phrases. Assuming your key file remains
++private, this is a more secure authentication method than
++passwords.
++
++The GTK+ interface for Unison is now available separately in
++the unison-gtk package.
++
++ -- Robert McQueen <robot101@debian.org> Wed, 29 Aug 2001 21:18:29 +0100
+--- unison-2.9.1.orig/debian/unison.doc-base
++++ unison-2.9.1/debian/unison.doc-base
+@@ -0,0 +1,20 @@
++Document: unison-manual
++Title: Unison Installation and Usage Manual
++Author: Benjamin Pierce <bcpierce@cis.upenn.edu>
++Abstract: Unison is a file-synchronization tool for Unix and
++ Windows. It allows two replicas of a collection of files and
++ directories to be stored on different hosts (or different
++ disks on the same host), modified separately, and then brought
++ up to date by propagating the changes in each replica to the
++ other. This manual describes how to install and use Unison.
++Section: Apps/Tools
++
++Format: postscript
++Files: /usr/share/doc/unison/unison-manual.ps.gz
++
++Format: text
++Files: /usr/share/doc/unison/unison-manual.text.gz
++
++Format: HTML
++Index: /usr/share/doc/unison/unison-manual.html
++Files: /usr/share/doc/unison/unison-manual.html
+--- unison-2.9.1.orig/debian/changelog
++++ unison-2.9.1/debian/changelog
+@@ -0,0 +1,103 @@
++unison (2.9.1-1) unstable; urgency=medium
++
++ * New upstream version. (closes: #142748)
++ * Medium urgency to make woody release. Rationale:
++ - upstream versions of unison are rarely, if ever, broken, and if
++ they are, are fixed within days. this release has had a week or
++ two to sweat it out.
++ - the previous version had problems on windows. seeing as
++ cross-platform compatibility is a major feature of unison, this
++ could cause long-term aggrivation for people hoping to sync their
++ woody box with their windows box.
++ - unison's protocol is version specific, and if I waited until sid
++ released to upload this new version, I'd have to provide an old
++ version in sid sooner than I'd have liked.
++ - it'd really annoy me if the version in woody wasn't the latest
++ when it released. =)
++
++ -- Robert McQueen <robot101@debian.org> Wed, 24 Apr 2002 19:05:08 +0100
++
++unison (2.8.1-2) unstable; urgency=low
++
++ * Moved to main.
++
++ -- Robert McQueen <robot101@debian.org> Sat, 30 Mar 2002 04:13:46 +0000
++
++unison (2.8.1-1) unstable; urgency=low
++
++ * New upstream version. (closes: #138576)
++ * Added menu entry for unison-gtk. (closes: #133039)
++ * Changed 'lablgtk, libgtk1.2-dev' build dep to 'liblablgtk-ocaml-dev'.
++ * Updated manpage for new/removed options.
++
++ -- Robert McQueen <robot101@debian.org> Fri, 29 Mar 2002 19:22:33 +0000
++
++unison (2.7.7-1) unstable; urgency=medium
++
++ * New upstream version. Fixes bugs in connecting and the client
++ startup sequence.
++
++ -- Robert McQueen <robot101@debian.org> Sun, 23 Sep 2001 19:27:27 +0100
++
++unison (2.7.1-2) unstable; urgency=low
++
++ * Added libgtk1.2-dev build dep, but this is really a bug in lablgtk.
++ * Optimised debian/rules to only call shell once to set a variable, and
++ use that instead of an elaborate (and fallible) if construct.
++
++ -- Robert McQueen <robot101@debian.org> Thu, 30 Aug 2001 12:57:44 +0100
++
++unison (2.7.1-1) unstable; urgency=low
++
++ * New upstream version. (closes: #106983)
++ * Moved package to non-US/main - it recommends ssh. (closes: #109406)
++ * Added the GTK interface version in a seperate unison-gtk package.
++ (closes: #105911)
++ * Added symlinks from unison-gtk's documentation and manpage to
++ unison's.
++ * Amended the manpage to detail the unison-gtk binary and changed
++ command line options.
++ * Install 'NEWS' file as upstream changelog, which it is, and remove
++ some extraneous docs.
++
++ -- Robert McQueen <robot101@debian.org> Thu, 30 Aug 2001 01:21:14 +0100
++
++unison (2.6.11-2) unstable; urgency=low
++
++ * Added newline before descriptions are returned. (closes: #86621)
++ * Fixed gratuitous debhelperism - version 3 is not required.
++ (closes: #97563)
++
++ -- Robert McQueen <robot101@debian.org> Tue, 15 May 2001 20:36:43 +0100
++
++unison (2.6.11-1) unstable; urgency=low
++
++ * New upstream version.
++
++ -- Robert McQueen <robot101@debian.org> Mon, 30 Apr 2001 19:06:03 +0100
++
++unison (2.6.1-2) unstable; urgency=low
++
++ * Fixed to take account of no native (ocamlopt) compiler on some archs.
++ * Minor debian/rules cleanups.
++
++ -- Robert McQueen <robot101@debian.org> Thu, 28 Dec 2000 18:23:55 +0000
++
++unison (2.6.1-1) unstable; urgency=low
++
++ * Package adopted by new Debian maintainer. (closes: #75968)
++ * New upstream version. (closes: #65601)
++
++ -- Robert McQueen <robot101@debian.org> Fri, 10 Nov 2000 23:12:02 +0000
++
++unison (1.180-2) unstable; urgency=low
++
++ * Changed the architecture field from all to any.
++
++ -- Sven LUTHER <luther@debian.org> Mon, 10 Jan 2000 19:50:16 +0100
++
++unison (1.180-1) unstable; urgency=low
++
++ * Initial release.
++
++ -- Sven LUTHER <luther@debian.org> Tue, 21 Dec 1999 12:15:49 +0100
+--- unison-2.9.1.orig/debian/unison-gtk.dirs
++++ unison-2.9.1/debian/unison-gtk.dirs
+@@ -0,0 +1,3 @@
++usr/bin
++usr/share/doc
++usr/share/man/man1
+--- unison-2.9.1.orig/debian/copyright
++++ unison-2.9.1/debian/copyright
+@@ -0,0 +1,22 @@
++Unison was packaged for Debian
++by Robert McQueen <robot101@debian.org>
++on Fri, 10 Nov 2000 23:12:02 +0000.
++
++It was downloaded from:
++ http://www.cis.upenn.edu/~bcpierce/unison/download/stable/
++
++Benjamin Pierce <bcpierce@cis.upenn.edu> is the Unison project
++leader.
++
++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 the Free Software Foundation; either version 2 of
++the License, or (at your option) any later version.
++
++This program is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++On Debian systems, the complete text of the GNU General Public
++License can be found in /usr/share/common-licenses/GPL file.
+--- unison-2.9.1.orig/debian/unison.docs
++++ unison-2.9.1/debian/unison.docs
+@@ -0,0 +1,5 @@
++BUGS.txt
++TODO.txt
++unison-manual.txt
++debian/unison-manual.html
++debian/unison-manual.ps
+--- unison-2.9.1.orig/debian/unison.1
++++ unison-2.9.1/debian/unison.1
+@@ -0,0 +1,219 @@
++.\" Hey, EMACS: -*- nroff -*-
++.\" First parameter, NAME, should be all caps
++.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
++.\" other parameters are allowed: see man(7), man(1)
++.TH UNISON 1 "September 23, 2001"
++.\" Please adjust this date whenever revising the manpage.
++.\"
++.\" Some roff macros, for reference:
++.\" .nh disable hyphenation
++.\" .hy enable hyphenation
++.\" .ad l left justify
++.\" .ad b justify to both left and right margins
++.\" .nf disable filling
++.\" .fi enable filling
++.\" .br insert line break
++.\" .sp <n> insert n+1 empty lines
++.\" for manpage-specific macros, see man(7)
++.SH NAME
++unison \- a file-synchronization tool for Unix and Windows
++.SH SYNOPSIS
++.B unison
++.RI [ options ]
++.br
++.B unison
++root1 root2
++.RI [ options ]
++.br
++.B unison
++profilename
++.RI [ options ]
++.br
++.B unison-gtk
++.RI [ options ]
++.SH DESCRIPTION
++This manual page briefly documents Unison, and was written for the
++Debian GNU/Linux distribution because the original program does not
++have a manual page. For a full description, please refer to the
++inbuilt documentation or the manuals in /usr/share/doc/unison/. The
++unison-gtk binary has similar command-line options, but allows the user
++to select and create profiles and configure options from within the
++program.
++.PP
++Unison is a file-synchronization tool for Unix and Windows. It allows
++two replicas of a collection of files and directories to be stored on
++different hosts (or different disks on the same host), modified
++separately, and then brought up to date by propagating the changes in
++each replica to the other.
++.PP
++Unison offers several advantages over various synchronization methods
++such as CVS, Coda, rsync, Intellisync, etc. Unison can run on and
++synchronize between Windows and many UNIX platforms. Unison requires
++no root privileges, system access or kernel changes to function. Unison
++can synchronize changes to files and directories in both directions,
++on the same machine, or across a network using ssh or a direct
++socket connection.
++.PP
++Transfers are optimised using a version of the rsync protocol, making
++it ideal for slower links. Unison has a clear and precise specification,
++and is resilient to failure due to its careful handling of the replicas
++and its private structures.
++.SH OPTIONS
++All Unison options are long, starting with one dash (`-') only.
++A summary of options is included here. For a complete description,
++see the inbuilt documentation or the manuals in /usr/share/doc/unison/.
++.TP
++.B \-addprefsto
++specify a file to add new preferences to in interactive mode
++.TP
++.B \-addversionno
++add version number to name of unison executable on server
++.TP
++.B \-auto
++automatically accept default actions
++.TP
++.B \-backup xxx
++add a regexp to the backup list
++.TP
++.B \-backups
++keep backup copies of files (deprecated: use 'backup')
++.TP
++.B \-batch
++batch mode: ask no questions at all
++.TP
++.B \-contactquietly
++suppress the 'contacting server' message during startup
++.TP
++.B \-debug xxx
++debug module xxx ('all' -> everything, 'verbose' -> more)
++.TP
++.B \-doc xxx
++show documentation ('-doc topics' lists topics)
++.TP
++.B \-dumbtty
++do not try to change terminal settings in text UI
++.TP
++.B \-editor xxx
++command for displaying the output of the -merge program
++.TP
++.B \-fastcheck
++do fast (and slightly unsafe) update detection on windows
++.TP
++.B \-follow xxx
++add a regexp to the follow list
++.TP
++.B \-force xxx
++force changes from this replica to the other
++.TP
++.B \-group
++synchronize group
++.TP
++.B \-height n
++height (in lines) of main window in graphical interface
++.TP
++.B \-ignore xxx
++add a regexp to the ignore list
++.TP
++.B \-ignorecase
++ignore upper/lowercase spelling of filenames
++.TP
++.B \-ignorenot xxx
++add a regexp to the ignorenot list
++.TP
++.B \-killserver
++kill server when done (even when using sockets)
++.TP
++.B \-log
++record actions in file specified by logfile preference
++.TP
++.B \-logfile xxx
++log file name
++.TP
++.B \-maxbackups n
++number of backed up versions of a file to keep
++.TP
++.B \-merge xxx
++command for merging conflicting files
++.TP
++.B \-merge2 xxx
++command for merging files (when no common version exists)
++.TP
++.B \-numericids
++don't map uid/gid values by user/group names
++.TP
++.B \-owner
++synchronize owner
++.TP
++.B \-path xxx
++path to synchronize
++.TP
++.B \-perms n
++part of the permissions which is synchronized
++.TP
++.B \-prefer xxx
++choose this replica's version in case of conflict
++.TP
++.B \-root xxx
++root of a replica
++.TP
++.B \-rootalias xxx
++register alias for canonical root names
++.TP
++.B \-rshargs xxx
++other arguments (if any) for remote shell command
++.TP
++.B \-rshcmd xxx
++path to the rsh executable
++.TP
++.B \-servercmd xxx
++name of unison executable on remote server
++.TP
++.B \-silent
++print nothing (except error messages)
++.TP
++.B \-socket xxx
++act as a server on a socket
++.TP
++.B \-sortbysize
++list changed files by size, not name
++.TP
++.B \-sortfirst xxx
++add a regexp to the sortfirst list
++.TP
++.B \-sortlast xxx
++add a regexp to the sortlast list
++.TP
++.B \-sortnewfirst
++list new before changed files
++.TP
++.B \-sshcmd xxx
++path to the ssh executable
++.TP
++.B \-statusdepth n
++status display depth for local files
++.TP
++.B \-terse
++suppress status messages
++.TP
++.B \-testserver
++exit immediately after the connection to the server
++.TP
++.B \-times
++synchronize modification times
++.TP
++.B \-ui xxx
++select user interface ('text' or 'graphic')
++.TP
++.B \-version
++print version and exit
++.PP
++Some preferences are just boolean flags. Others take numeric or string
++arguments, indicated in the preferences list by n or xxx. Most of the
++string preferences can be given several times; the arguments are
++accumulated into a list internally.
++.SH SEE ALSO
++The program is documented fully in the in-built documentation and the
++manual, available as HTML, PostScript and text in /usr/share/doc/unison/.
++.SH AUTHOR
++This manual page was written by Robert McQueen <robot101@debian.org>,
++for the Debian GNU/Linux system (but may be used by others).
+--- unison-2.9.1.orig/debian/control
++++ unison-2.9.1/debian/control
+@@ -0,0 +1,37 @@
++Source: unison
++Section: net
++Priority: optional
++Maintainer: Robert McQueen <robot101@debian.org>
++Build-Depends: debhelper, ocaml (>= 3.00-1), liblablgtk-ocaml-dev
++Standards-Version: 3.5.6
++
++Package: unison
++Architecture: any
++Depends: ${shlibs:Depends}
++Recommends: ssh
++Description: A file-synchronization tool for Unix and Windows
++ Unison is a file-synchronization tool for Unix and Windows, written
++ in OCaml. It allows two replicas of a collection of files and
++ directories to be stored on different hosts (or different disks
++ on the same host), modified separately, and then brought up to
++ date by propagating the changes in each replica to the other.
++ .
++ Unison offers several advantages over various synchronization methods
++ such as CVS, Coda, rsync, Intellisync, etc. Unison can run on and
++ synchronize between Windows and many UNIX platforms. Unison requires
++ no root privileges, system access or kernel changes to function. Unison
++ can synchronize changes to files and directories in both directions,
++ on the same machine, or across a network using ssh or a direct
++ socket connection.
++ .
++ Transfers are optimised using a version of the rsync protocol,
++ making it ideal for slower links. Unison has a clear and precise
++ specification, and is resilient to failure due to its careful
++ handling of the replicas and its private structures.
++
++Package: unison-gtk
++Architecture: any
++Depends: ${shlibs:Depends}, unison (= ${Source-Version})
++Description: A file-synchronization tool for Unix and Windows - GTK interface
++ This package adds the optional GTK interface to the file synchronization
++ tool 'unison'.
+--- unison-2.9.1.orig/debian/rules
++++ unison-2.9.1/debian/rules
+@@ -0,0 +1,76 @@
++#!/usr/bin/make -f
++
++# export DH_VERBOSE=1
++export DH_COMPAT=2
++
++# set $(NATIVE) to true if this arch has an optimising compiler
++NATIVE := $(shell test -x /usr/bin/ocamlopt && echo true || echo false)
++
++build: build-stamp
++build-stamp:
++ dh_testdir
++# if we have the optimising compiler, build natively with debugging because
++# we can strip it later. if we don't, disable debugging because stripping
++# the non-native binaries removes the bytecode and leaves you with the
++# interpreter, and a somewhat useless binary... =)
++ $(MAKE) UISTYLE=gtk NATIVE=$(NATIVE) DEBUGGING=$(NATIVE)
++ mv unison unison-gtk
++ $(MAKE) UISTYLE=text NATIVE=$(NATIVE) DEBUGGING=$(NATIVE)
++ $(CURDIR)/unison -doc all > $(CURDIR)/unison-manual.txt
++ touch build-stamp
++
++clean:
++ dh_testdir
++ dh_testroot
++ rm -f build-stamp configure-stamp
++ rm -f unison-manual.txt unison-gtk
++ -$(MAKE) clean
++ dh_clean
++
++install: build
++ dh_testdir
++ dh_testroot
++ dh_clean -k
++ dh_installdirs
++ install -o root -g root -m 755 unison $(CURDIR)/debian/unison/usr/bin
++ install -o root -g root -m 755 unison-gtk $(CURDIR)/debian/unison-gtk/usr/bin
++ ln -s unison $(CURDIR)/debian/unison-gtk/usr/share/doc/unison-gtk
++ ln -s unison.1.gz $(CURDIR)/debian/unison-gtk/usr/share/man/man1/unison-gtk.1.gz
++
++binary-indep: build install
++
++binary-arch: build install
++# dh_testversion
++ dh_testdir
++ dh_testroot
++# dh_installdebconf
++ dh_installdocs
++# dh_installexamples
++ dh_installmenu
++# dh_installemacsen
++# dh_installpam
++# dh_installinit
++# dh_installcron
++ dh_installman debian/unison.1
++# dh_installinfo
++# dh_undocumented
++ dh_installchangelogs NEWS
++# dh_link
++# only strip it if it's native or it breaks
++ set -e; \
++ if [ -x "/usr/bin/ocamlopt" ]; then \
++ dh_strip; \
++ fi
++ dh_compress
++ dh_fixperms
++# dh_suidregister
++# dh_makeshlibs
++ dh_installdeb
++# dh_perl
++ dh_shlibdeps
++ dh_gencontrol
++ dh_md5sums
++ dh_builddeb
++
++binary: binary-indep binary-arch
++.PHONY: build clean binary-indep binary-arch binary install configure
+--- unison-2.9.1.orig/debian/unison-manual.html
++++ unison-2.9.1/debian/unison-manual.html
+@@ -0,0 +1,4136 @@
++<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
++ "http://www.w3.org/TR/REC-html40/loose.dtd">
++<HTML>
++<HEAD><TITLE></TITLE>
++<META http-equiv="Content-Type" content="text/html; charset= ISO-8859-1">
++</HEAD>
++<BODY BGCOLOR=silver TEXT=black>
++<!--HTMLHEAD-->
++<!--ENDHTML-->
++<!--CUT DEF section 1 -->
++<BR>
++<BR>
++
++<DIV ALIGN=center>
++ <FONT SIZE=6>Unison File Synchronizer<BR></FONT><A HREF="http://www.cis.upenn.edu/~bcpierce/unison"><FONT SIZE=4>http://www.cis.upenn.edu/</FONT><FONT SIZE=4>~</FONT><FONT SIZE=4>bcpierce/unison</FONT></A><FONT SIZE=4><BR><BR></FONT><FONT SIZE=5>Version
++ 2.9.1<BR><BR></FONT><FONT SIZE=6>User Manual and Reference
++ </FONT></DIV>
++<BR>
++<!--TOC section Contents-->
++
++<H2>Contents</H2>
++ <BLOCKQUOTE>
++ <A HREF="#intro"><FONT SIZE=4><B>Preface</B></FONT></A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#people">People</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#copying">Copying</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#bugs">Reporting Bugs</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#contrib">How You Can Help</A><BR><A HREF="#install"><FONT SIZE=4><B>Installation</B></FONT></A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#download">Downloading Unison</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#afterinstall">Running Unison</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#upgrading">Upgrading</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#ports">Contributed Ports</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#building">Building Unison from Scratch</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#build-unix">Unix</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#build-win">Windows</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#build-opts">Installation Options</A><BR><A HREF="#tutorial"><FONT SIZE=4><B>Tutorial</B></FONT></A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#prelim">Preliminaries</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#local">Local Usage</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#remote">Remote Usage</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#rshmeth">Remote Shell Method</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#socketmeth">Socket Method</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#usingit">Using Unison for All Your Files</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#further">Going Further</A><BR><A HREF="#basics"><FONT SIZE=4><B>Basic Concepts</B></FONT></A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#roots">Roots</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#paths">Paths</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#updates">What is an Update?</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#conflicts">What is a Conflict?</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#recon">Reconciliation</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#failures">Invariants</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#caveats">Caveats and Shortcomings</A><BR><A HREF="#reference"><FONT SIZE=4><B>Reference</B></FONT></A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#running">Running Unison</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#unisondir">The <TT>.unison</TT> Directory</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#archives">Archive Files</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#prefs">Preferences</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#profile">Profiles</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#profileegs">Sample Profiles</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#minimalprofile">A Minimal Profile</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#basicprofile">A Basic Profile</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#powerprofile">A Power-User Profile</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#backups">Keeping Backups</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#merge">Merging Conflicting Versions</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#ui">The User Interface</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#exit">Exit code</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#pathspec">Path specification</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#ignore">Ignoring Paths</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#symlinks">Symbolic Links</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#perms">Permissions</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#crossplatform">Cross-Platform Synchronization</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#speed">Slow Links</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#fastcheck">Fast Update Detection</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#click">Click-starting Unison</A><BR><A HREF="#advice"><FONT SIZE=4><B>Advice</B></FONT></A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#faq">Frequently Asked Questions</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#problems">Common Problems</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#tips">Tricks and Tips</A><BR><A HREF="#ssh"><FONT SIZE=4><B>Installing Ssh</B></FONT></A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#ssh-unix">Unix</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE=4><FONT FACE=symbol>·</FONT></FONT><A HREF="#ssh-win">Windows</A><BR><A HREF="#news"><FONT SIZE=4><B>Changes in Version 2.9.1</B></FONT></A><BR>
++ </BLOCKQUOTE>
++ Unison is a file-synchronization tool for Unix and Windows.
++It allows two replicas of a collection of files and directories to be
++stored on different hosts (or different disks on the same host),
++modified separately, and then brought up to date by propagating the
++changes in each replica to the other.<BR>
++<BR>
++Unison
++shares a number of features with tools such as configuration
++management packages (<A HREF="http://www.cyclic.com/">CVS</A>,
++<A HREF="http://www.XCF.Berkeley.EDU/~jmacd/prcs.html">PRCS</A>,
++etc.),
++distributed filesystems
++(<A HREF="http://www.coda.cs.cmu.edu/">Coda</A>,
++etc.),
++uni-directional mirroring utilities
++(<A HREF="http://samba.anu.edu.au/rsync/">rsync</A>,
++etc.),
++and other synchronizers
++(<A HREF="http://www.pumatech.com">Intellisync</A>,
++<A HREF="http://www.merl.com/reports/TR99-14/">Reconcile</A>,
++etc).
++However, there are several points where it differs:
++<UL>
++<LI>
++Unison runs on both Windows (95, 98, NT, and 2k) and Unix (Solaris,
++ Linux, etc.) systems. Moreover, Unison works <EM>across</EM>
++ platforms, allowing you to synchronize a Windows laptop with a
++ Unix server, for example.
++
++<LI>Unlike a distributed filesystem, Unison is a user-level program:
++ there is no need to hack (or own!) the kernel, or to have
++ superuser privileges on either host.
++
++<LI>Unlike simple mirroring or backup utilities, Unison can deal
++ with updates to both replicas of a distributed directory structure.
++ Updates that do not conflict are propagated automatically.
++ Conflicting updates are detected and displayed.
++
++<LI>Unison works between any pair of machines connected to the
++ internet, communicating over either a direct socket link or
++ tunneling over an <TT>rsh</TT> or an encrypted <TT>ssh</TT> connection.
++ It is careful with network bandwidth, and runs well over slow links
++ such as PPP connections. Transfers of small updates to large files are
++ optimized using a compression protocol similar to rsync.
++
++<LI>Unison has a clear and precise specification, described
++below.
++<LI>Unison is resilient to failure. It is careful to leave the
++ replicas and its own private structures in a sensible state at all
++ times, even in case of abnormal termination or communication
++ failures.
++
++<LI>Unison is free; full source code is available under the GNU
++Public License.
++</UL>There is a moderated, very-low-volume
++<A HREF="http://groups.yahoo.com/group/unison-announce">announcement list</A>
++for new Unison releases; the archives of this list are available at the
++above link. There is also a moderated (but higher volume)
++<A HREF="http://groups.yahoo.com/group/unison-users">discussion list</A> for
++Unison users.<BR>
++<BR>
++<hr><!--TOC section <A NAME="intro"></A>Preface-->
++
++<H2><A NAME="intro"></A>Preface</H2><!--TOC subsection <A NAME="people"></A>People-->
++
++<H3><A NAME="people"></A>People</H3><UL>
++<LI>
++<A HREF="http://www.cis.upenn.edu/~bcpierce">Benjamin Pierce</A>
++ is the Unison project leader. Zhe Yang is a full-time postdoc on the
++ project.
++
++<LI>The current version of Unison was designed and implemented by
++ <A HREF="http://www.cis.upenn.edu/~tjim">Trevor Jim</A>,
++ Benjamin Pierce,
++and
++ Jérôme Vouillon,
++with
++ Sylvain Gommier and
++ Matthieu Goulay.
++
++<LI>Our implementation of the rsync protocol was built by
++ Norman Ramsey and Sylvain Gommier. It is is based on
++ Andrew Tridgell's thesis work and inspired by his rsync utility.
++
++<LI>The mirroring and merging functionality was implemented by
++ Sylvain Roy.
++
++<LI>Jacques Garrigue contributed the original Gtk version of the user
++ interface.
++
++<LI>Sundar Balasubramaniam helped build a prototype implementation of
++an earlier synchronizer in Java. Insik Shin and
++<A HREF="http://www.cis.upenn.edu/~lee">Insup Lee</A> contributed design
++ideas to this implementation. Cedric Fournet contributed to an even
++earlier prototype.
++</UL><!--TOC subsection <A NAME="copying"></A>Copying-->
++
++<H3><A NAME="copying"></A>Copying</H3>Unison is free software. You are free to change and redistribute it
++under the terms of the GNU General Public License. Please see the
++file COPYING in the Unison distribution for more information.<BR>
++<BR>
++<!--TOC subsection <A NAME="bugs"></A>Reporting Bugs-->
++
++<H3><A NAME="bugs"></A>Reporting Bugs</H3>If Unison is not working the way you expect, here are some steps to
++follow: <BR>
++<BR>
++<UL>
++<LI>
++First, try running Unison with the <TT>-debug all</TT> command line option.
++This will cause Unison to generate a detailed trace of what it's
++doing, which may make it clearer where the problem is occurring.
++
++<LI>Second, send mail to <A HREF="mailto:unison-help@cis.upenn.edu"><TT>unison-help@cis.upenn.edu</TT></A> describing the problem and we'll try to
++fix it. Make sure to include the version of Unison you are using (<TT>unison -version</TT>), the kind of machine(s) you are running it on, a
++record of what gets printed when the <TT>-debug all</TT> option is included,
++and as much information as you can about what went wrong.
++
++<LI>If you think the problem you're having might have been encountered
++by others (e.g., if it seems like a configuration problem, not a real
++bug), then you may be able to get some help from the Unison users'
++mailing list, <A HREF="mailto:unison-users@groups.yahoo.com"><TT>unison-users@groups.yahoo.com</TT></A>.
++</UL><!--TOC subsection <A NAME="contrib"></A>How You Can Help-->
++
++<H3><A NAME="contrib"></A>How You Can Help</H3>Unison is a part-time project for its developers: we work on it
++because we enjoy making something that is useful for us and for the
++community, but we all have other jobs to do. If you like Unison and
++want to help improve it, your contributions would be very welcome.
++For more details on how the code is organized, etc., see the file <TT>CONTRIB</TT> in the source distribution. <BR>
++<BR>
++If you don't feel like hacking, you can help us by simply letting us
++know how you like Unison. Even a short note like ``I'm using it;
++works fine'' or ``I looked at it but it's not quite what I want
++because...'' will give us valuable information.<BR>
++<BR>
++<hr><!--TOC section <A NAME="install"></A>Installation-->
++
++<H2><A NAME="install"></A>Inst