From a5522c42499d72e846e0f734d8a3442a97226bef0841dfe4e4a0bf5da8bef3c0 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Thu, 26 Apr 2007 13:38:51 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/unison?expand=0&rev=3 --- unison-2.17.1.tar.gz | 3 - ...-manual.html => unison-2.27.24-manual.html | 268 +++++++++++++++--- unison-2.27.24.tar.gz | 3 + unison-windowout.diff | 57 ---- unison.changes | 14 + unison.spec | 19 +- 6 files changed, 267 insertions(+), 97 deletions(-) delete mode 100644 unison-2.17.1.tar.gz rename unison-2.17.1-manual.html => unison-2.27.24-manual.html (92%) create mode 100644 unison-2.27.24.tar.gz delete mode 100644 unison-windowout.diff diff --git a/unison-2.17.1.tar.gz b/unison-2.17.1.tar.gz deleted file mode 100644 index c654b9f..0000000 --- a/unison-2.17.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7a1173921237dd3e0ca758f4ba902a3d54eb04385a4450459f349a8846b7052c -size 415057 diff --git a/unison-2.17.1-manual.html b/unison-2.27.24-manual.html similarity index 92% rename from unison-2.17.1-manual.html rename to unison-2.27.24-manual.html index 6d9fbb8..98a2839 100644 --- a/unison-2.17.1-manual.html +++ b/unison-2.27.24-manual.html @@ -36,7 +36,7 @@ BLOCKQUOTE{margin-left:4ex;margin-right:4ex;text-align:left;}
Unison File Synchronizer
User Manual and Reference Guide
-Version 2.17.1
+Version 2.27.24


@@ -96,11 +96,12 @@ BLOCKQUOTE{margin-left:4ex;margin-right:4ex;text-align:left;}           •Cross-Platform Synchronization
          •Slow Links
          •Fast Update Detection
+          •Mount Points and Removable Media
          •Click-starting Unison
Installing Ssh
          •Unix
          •Windows
-Changes in Version 2.17.1
+Changes in Version 2.27.24
@@ -166,13 +167,15 @@ The current version of Unison was designed and implemented by Trevor Jim, Benjamin Pierce, and - Jérôme Vouillon, + Jérôme Vouillon, with Alan Schmitt, Malo Denielou, Zhe Yang, Sylvain Gommier, and Matthieu Goulay. +The Mac user interface was started by Trevor Jim and enormously improved by +Ben Willmore. Our implementation of the rsync protocol was built by @@ -184,7 +187,8 @@ Our implementation of the rsync utility. The mirroring and merging functionality was implemented by - Sylvain Roy and improved by Malo Denielou. + Sylvain Roy, improved by Malo Denielou, and improved yet further by + Stéphane Lescuyer. Jacques Garrigue contributed the original Gtk version of the user interface; the Gtk2 version was built by Stephen Tse. @@ -236,8 +240,8 @@ Feature requests are welcome, but will probably just be added to the ever-growing todo list. They should also be sent to unison-users@yahoogroups.com.

Patches are even more welcome. They should be sent to -unison-hackers@yahoogroups.com. -(Caveat: since safety and robustness are Unison's most important properties, +unison-hackers@lists.seas.upenn.edu. +(Since safety and robustness are Unison's most important properties, patches will be held to high standards of clear design and clean coding.) If you want to contribute to Unison, start by downloading the developer tarball from the download page. For some details on how the code is @@ -1340,6 +1344,7 @@ Options: -backups keep backup copies of all files (see also 'backup') -backupsuffix xxx a suffix to be added to names of backup files -batch batch mode: ask no questions at all + -confirmbigdeletes request confirmation for whole-replica deletes -confirmmerge ask for confirmation before commiting results of a merge -contactquietly Suppress the 'contacting server' message during startup -debug xxx debug module xxx ('all' -> everything, 'verbose' -> more) @@ -1348,6 +1353,7 @@ Options: -fastcheck xxx do fast update detection (`true', `false', or `default') -follow xxx add a pattern to the follow list -force xxx force changes from this replica to the other + -forcepartial xxx add a pattern to the forcepartial list -group synchronize group -height n height (in lines) of main window in graphical interface -host xxx bind the socket to this host name in server socket mode @@ -1357,7 +1363,7 @@ Options: -ignorenot xxx add a pattern to the ignorenot list -immutable xxx add a pattern to the immutable list -immutablenot xxx add a pattern to the immutablenot list - -key xxx define a keyboard shortcut for this profile + -key xxx define a keyboard shortcut for this profile (in some UIs) -killserver kill server when done (even when using sockets) -label xxx provide a descriptive string label for this profile -log record actions in file specified by logfile preference @@ -1365,12 +1371,13 @@ Options: -maxbackups n number of backed up versions of a file -maxthreads n maximum number of simultaneous file transfers -merge xxx add a pattern to the merge list - -mergebatch xxx add a pattern to the mergebatch list + -mountpoint xxx abort if this path does not exist -numericids don't map uid/gid values by user/group names -owner synchronize owner -path xxx path to synchronize -perms n part of the permissions which is synchronized -prefer xxx choose this replica's version for conflicting changes + -preferpartial xxx add a pattern to the preferpartial list -pretendwin Use creation times for detecting updates -repeat xxx synchronize repeatedly (text interface only) -retry n re-try failed synchronizations N times (text interface only) @@ -1378,6 +1385,7 @@ Options: -rootalias xxx Register alias for canonical root names -rsrc xxx synchronize resource forks and HFS meta-data (`true', `false', or `default') -rsync activate the rsync transfer mode + -selftest run internal tests and exit -servercmd xxx name of unison executable on remote server -showarchive show name of archive and 'true names' (for rootalias) of roots -silent print nothing (except error messages) @@ -1442,17 +1450,20 @@ See backupprefix for full documentation.
batch
When this is set to true, the user interface will ask no questions at all. Non-conflicting changes will be propagated; conflicts will be skipped.

+
confirmbigdeletes
+When this is set to true, Unison will request an extra confirmation if it appears that the entire replica has been deleted, before propagating the change. If the batch flag is also set, synchronization will be aborted. When the path preference is used, the same confirmation will be requested for top-level paths. (At the moment, this flag only affects the text user interface.) See also the mountpoint preference.
+
confirmmerge
Setting this preference causes both the text and graphical interfaces to ask the user if the results of a merge command may be commited to the replica or not. Since the merge command works on temporary files, the user can then cancel all the effects of applying the merge if it turns out that the result is not satisfactory. In batch-mode, this preference has no effect.

contactquietly
-If this flag is set, Unison will skip displaying the `Contacting server' window (which some users find annoying) during startup.
+If this flag is set, Unison will skip displaying the `Contacting server' message (which some users find annoying) during startup.

debug xxx
This preference is used to make Unison print various sorts of information about what it is doing internally on the standard error stream. It can be used many times, each time with the name of a module for which debugging information should be printed. Possible arguments for debug can be found by looking for calls to Util.debug in the sources (using, e.g., grep). Setting -debug all causes information from all modules to be printed (this mode of usage is the first one to try, if you are trying to understand something that Unison seems to be doing wrong); -debug verbose turns on some additional debugging output from some modules (e.g., it will show exactly what bytes are being sent across the network).

diff xxx
-This preference can be used to control the name and command-line arguments of the system utility used to generate displays of file differences. The default is `diff -u'. If the value of this preference contains the substrings CURRENT1 and CURRENT2, these will be replaced by the names of the files to be diffed. If not, the two filenames will be appended to the command. In both cases, the filenames are suitably quoted.
+This preference can be used to control the name and command-line arguments of the system utility used to generate displays of file differences. The default is `diff -u CURRENT2 CURRENT1'. If the value of this preference contains the substrings CURRENT1 and CURRENT2, these will be replaced by the names of the files to be diffed. If not, the two filenames will be appended to the command. In both cases, the filenames are suitably quoted.

doc xxx
The command-line argument -doc secname causes unison to display section secname of the manual on the standard output and then exit. Use -doc all to display the whole manual, which includes exactly the same information as the printed and HTML manuals, modulo formatting. Use -doc topics to obtain a list of the names of the various sections that can be printed.
@@ -1468,7 +1479,9 @@ This preference has no effect on the graphical user interface.
When this preference is set, Unison will create a file unison.dump on each host, containing a text summary of the archive, immediately after loading it.

fastcheck xxx
-When this preference is set to true, Unison will use file creation times as `pseudo inode numbers' when scanning replicas for updates, instead of reading the full contents of every file. Under Windows, this may cause Unison to miss propagating an update if the create time, modification time, and length of the file are all unchanged by the update (this is not easy to achieve, but it can be done). However, Unison will never overwrite such an update with a change from the other replica, since it always does a safe check for updates just before propagating a change. Thus, it is reasonable to use this switch under Windows most of the time and occasionally run Unison once with fastcheck set to false, if you are worried that Unison may have overlooked an update. The default value of the preference is auto, which causes Unison to use fast checking on Unix replicas (where it is safe) and slow checking on Windows replicas. For backward compatibility, yes, no, and default can be used in place of true, false, and auto. See the Fast Checking section for more information.
+When this preference is set to true, Unison will use the modification time and length of a file as a + `pseudo inode number' + when scanning replicas for updates, instead of reading the full contents of every file. Under Windows, this may cause Unison to miss propagating an update if the modification time and length of the file are both unchanged by the update. However, Unison will never overwrite such an update with a change from the other replica, since it always does a safe check for updates just before propagating a change. Thus, it is reasonable to use this switch under Windows most of the time and occasionally run Unison once with fastcheck set to false, if you are worried that Unison may have overlooked an update. The default value of the preference is auto, which causes Unison to use fast checking on Unix replicas (where it is safe) and slow checking on Windows replicas. For backward compatibility, yes, no, and default can be used in place of true, false, and auto. See the Fast Checking section for more information.

follow xxx
Including the preference -follow pathspec causes Unison to treat symbolic links matching pathspec as `invisible' and behave as if the object pointed to by the link had appeared literally at this position in the replica. See the Symbolic Links section for more details. The syntax of pathspec> is described in the Path Specification section.
@@ -1478,6 +1491,15 @@ Including the preference -force root causes Unison to resolve al
You can also specify -force newer (or -force older) to force Unison to choose the file with the later (earlier) modtime. In this case, the -times preference must also be enabled.

+This preference is overridden by the forcepartial preference.
+
+This preference should be used only if you are sure you know what you are doing!
+
+
forcepartial xxx
+Including the preference forcepartial PATHSPEC -> root causes Unison to resolve all differences (even non-conflicting changes) in favor of root for the files in PATHSPEC (see the Path Specification section for more information). This effectively changes Unison from a synchronizer into a mirroring utility.
+
+You can also specify forcepartial PATHSPEC -> newer (or forcepartial PATHSPEC older) to force Unison to choose the file with the later (earlier) modtime. In this case, the -times preference must also be enabled.
+
This preference should be used only if you are sure you know what you are doing!

group
@@ -1549,8 +1571,8 @@ This preference controls how much concurrency is allowed during the transport ph
merge xxx
This preference can be used to run a merge program which will create a new version for each of the files and the backup, with the last backup and the both replicas. Setting the merge preference for a path will also cause this path to be backed up, just like t backup. The syntax of pathspec>cmd is described in the Path Specification section, and further details on Merging functions are present in the Merging files section.

-
mergebatch xxx
-Normally, when Unison is run with the batch flag set to true, it does not invoke any external merge programs. To tell it that a given file can be merged even when in batch mode, use the mergebatch preference instead of merge. When running in non-batch mode, the merge preference is used instead of mergebatch if both are specified for a given path.
+
mountpoint xxx
+Including the preference -mountpoint PATH causes Unison to double-check, at the end of update detection, that PATH exists and abort if it does not. This is useful when Unison is used to synchronize removable media. This preference can be given more than once. See the Mount Points section.

numericids
When this flag is set to true, groups and users are synchronized numerically, rather than by name.
@@ -1569,13 +1591,20 @@ The integer value of this preference is a mask indicating which permission bits
prefer xxx
Including the preference -prefer root causes Unison always to resolve conflicts in favor of root, rather than asking for guidance from the user. (The syntax of root is the same as for the root preference, plus the special values newer and older.)

+This preference is overridden by the preferpartial preference.
+
+This preference should be used only if you are sure you know what you are doing!
+
+
preferpartial xxx
+Including the preference preferpartial PATHSPEC -> root causes Unison always to resolve conflicts in favor of root, rather than asking for guidance from the user, for the files in PATHSPEC (see the Path Specification section for more information). (The syntax of root is the same as for the root preference, plus the special values newer and older.)
+
This preference should be used only if you are sure you know what you are doing!

pretendwin
When set to true, this preference makes Unison use Windows-style fast update detection (using file creation times as “pseudo-inode-numbers”), even when running on a Unix system. This switch should be used with care, as it is less safe than the standard update detection method, but it can be useful for synchronizing VFAT filesystems (which do not support inode numbers) mounted on Unix systems. The fastcheck option should also be set to true.

repeat xxx
-Setting this preference causes the text-mode interface to synchronize repeatedly, rather than doing it just once and stopping. If the argument is a number, Unison will pause for that many seconds before beginning again. If the argument is a path, Unison will wait for the file at this path—called a changelog—to be modified (on either the client or the server machine), read the contents of the changelog (which should be a newline-separated list of paths) on both client and server, combine the results, and start again, using the list of paths read from the changelogs as the '-path' preference for the new run. The idea is that an external process will watch the filesystem and, when it thinks something may have changed, write the changed pathname to its local changelog where Unison will find it the next time it looks. If the changelogs have not been modified, Unison will wait, checking them again every few seconds.
+Setting this preference causes the text-mode interface to synchronize repeatedly, rather than doing it just once and stopping. If the argument is a number, Unison will pause for that many seconds before beginning again.

retry n
Setting this preference causes the text-mode interface to try again to synchronize updated paths where synchronization fails. Each such path will be tried N times.
@@ -1601,6 +1630,9 @@ When set to true, this flag causes Unison to synchronize resource forks
rsync
Unison uses the 'rsync algorithm' for 'diffs-only' transfer of updates to large files. Setting this flag to false makes Unison use whole-file transfers instead. Under normal circumstances, there is no reason to do this, but if you are having trouble with repeated 'rsync failure' errors, setting it to false should permit you to synchronize the offending files.

+
selftest
+Run internal tests and exit. This option is mostly for developers and must be used carefully: in particular, it will delete the contents of both roots, so that it can install its own files for testing. This flag only makes sense on the command line. When it is provided, no preference file is read: all preferences must be specified on thecommand line. Also, since the self-test procedure involves overwriting the roots and backup directory, the names of the roots and of the backupdir preference must include the string "test" or else the tests will be aborted. (If these are not given on the command line, dummy subdirectories in the current directory will be created automatically.)
+
servercmd xxx
This preference can be used to explicitly set the name of the Unison executable on the remote server (e.g., giving a full path name), if necessary.

@@ -1804,7 +1836,7 @@ The file common contains the real preferences: # file 'common' rathen than in the top-level preference file addprefsto = common - # regexps specifying names and paths to ignore + # Names and paths to ignore: ignore = Name temp.* ignore = Name *~ ignore = Name .*~ @@ -1826,8 +1858,7 @@ preference file workingset.prf contains path = Mail/inbox path = Mail/drafts include common -causes Unison to synchronize just the subdirectories current/papers -and older/papers.
+causes Unison to synchronize just the listed subdirectories.

The key preference can be used in combination with the graphical UI to quickly switch between different sets of paths. For example, if the @@ -1886,12 +1917,12 @@ environment variable UNISONBACKUPDIR. (The environment variable is checked first.) If neither of these are set, then the directory .unison/backup in the user's home directory is used.

-The preference backupversions controls how many previous versions of -each file are kept. The default is 2.
+The preference maxbackups controls how many previous versions of +each file are kept (including the current version).

-By default, backup files are named .unison.FILENAME.VERSION.bak, -where FILENAME is the original filename and version is the -backup number (001 for the most recent, 002 for the next most recent, +By default, backup files are named .bak.VERSION.FILENAME, +where FILENAME is the original filename and VERSION is the +backup number (1 for the most recent, 2 for the next most recent, etc.). This can be changed by setting the preferences backupprefix and/or backupsuffix. If desired, backupprefix may include a directory prefix; this can be used with backuplocation = local to put all @@ -2032,7 +2063,13 @@ Alternatively, users of emacs may find the following settings conve "CURRENT1" "CURRENT2" "CURRENTARCH" nil "NEW")' (These commands are displayed here on two lines to avoid running off the edge of the page. In your preference file, each command should be written on a -single line.) +single line.)
+
+Users running emacs under windows may find something like this useful: +
+   merge = Name * -> C:\Progra~1\Emacs\emacs\bin\emacs.exe -q --eval
+                            "(ediff-files """CURRENT1""" """CURRENT2""")"
+
Users running Mac OS X (you may need the Developer Tools installed to get the opendiff utility) may prefer
@@ -2132,10 +2169,11 @@ patterns are not regular expressions. Instead,
 standard “globbing” conventions can be used in name and
 path: 
 
  • -a ? matches any single character except / -
  • a * matches any sequence of characters not including / +a * matches any sequence of characters not including / (and not beginning with ., when used at the beginning of a name) +
  • a ? matches any single character except / (and leading + .)
  • [xyz] matches any character from the set {x, y, z }
  • {a,bb,ccc} matches any one of a, bb, or @@ -2208,7 +2246,26 @@ you like (this is probably not very useful), using an option like
  • Be careful about renaming directories containing ignored files. Because Unison understands the rename as a delete plus a create, any ignored files in the directory will be lost (since they are invisible to Unison and -therefore they do not get recreated in the new version of the directory). +therefore they do not get recreated in the new version of the directory).
    +
    +
  • There is also an ignorenot preference, which specifies a set of + patterns for paths that should not be ignored, even if they match an + ignore pattern. However, the interaction of these two sets of + patterns can be a little tricky. Here is exactly how it works: +
    • + Unison starts detecting updates from the root of the + replicas—i.e., from the empty path. If the empty path matches an + ignore pattern and does not match an ignorenot pattern, then + the whole replica will be ignored. (For this reason, it is not a good + idea to include Name * as an ignore pattern. If you want to + ignore everything except a certain set of files, use Name ?*.) +
    • If the root is a directory, Unison continues looking for updates in + all the immediate children of the root. Again, if the name of some child matches an + ignore pattern and does not match an ignorenot pattern, then + this whole path including everything below it will be ignored. +
    • If any of the non-ignored children are directories, then the process + continues recursively. +
@@ -2258,8 +2315,6 @@ bits are not propagated. this mean, in general?) All files are created with the owner and group of the server process. - -

Cross-Platform Synchronization

@@ -2329,14 +2384,38 @@ to default (which, naturally, is the default), Unison will use fast checks on Unix replicas and slow checks on Windows replicas.

This strategy may cause Unison to miss propagating an update if the -create time, modification time, and length of the file are all unchanged -by the update (this is not easy to achieve, but it can be done). + modification time and length of the file are both unchanged +by the update. However, Unison will never overwrite such an update with a change from the other replica, since it always does a safe check for updates just before propagating a change. Thus, it is reasonable to use this switch most of the time and occasionally run Unison once with fastcheck set to no, if you are worried that Unison may have overlooked an update.

+Fastcheck is (always) automatically disabled for files with extension +.xls or .mpp, to prevent Unison from being confused by the +habits of certain programs (Excel, in particular) of updating files without +changing their modification times.
+
+ + +

Mount Points and Removable Media

+ +Using Unison removable media such as USB drives can be dangerous unless you +are careful. If you synchronize a directory that is stored on removable +media when the media is not present, it will look to Unison as though the +whole directory has been deleted, and it will proceed to delete the +directory from the other replica—probably not what you want!
+
+To prevent accidents, Unison provides a preference called +mountpoint. Including a line like +
+             mountpoint = /mnt/foo
+
in your preference file will cause Unison to check, after it finishes +detecting updates, that something actually exists at the path +/mnt/foo on both replicas; if it does not, the Unison run will +abort.
+

Click-starting Unison

@@ -2475,9 +2554,133 @@ you have trouble, you might try this one instead: hosts, provide your remote user name when providing the remote root (i.e., //username@host/path...). -
+
-

Changes in Version 2.17.1

+

Changes in Version 2.27.24

+ +Changes since 2.17: +
  • + +The Unison project now accepts donations via PayPal. If you'd like to +donate, you can find a link to the donation page on the +Unison home + page.
    +
    +
  • Several small fixes to the GTK2 UI to make it work better under +Windows [thanks to Karl M for these].
    +
    +
  • The backup functionality has been completely rewritten. The external +interface has not changed, but numerous bugs, irregular behaviors, and +cross-platform inconsistencies have been corrected.
    +
    +
  • Some important safety improvements: +
    • +Added a new mountpoint preference, which can be used to specify +a path that must exist in both replicas at the end of update detection +(otherwise Unison aborts). This can be used to avoid potentially dangerous +situations when Unison is used with removable media such as external hard +drives and compact flash cards.
      +
      +
    • The confirmation of “big deletes” is now controlled by a boolean preference + confirmbigdeletes. Default is true, which gives the same behavior as + previously. (This functionality is at least partly superceded by the + mountpoint preference, but it has been left in place in case it is + useful to some people.)
      +
      +
    • If Unison is asked to “follow” a symbolic link but there is + nothing at the other end of the link, it will now flag this path as an + error, rather than treating the symlink itself as missing or deleted. + This avoids a potentially dangerous situation where a followed symlink + points to an external filesystem that might be offline when Unison is run + (whereupon Unison would cheerfully delete the corresponding files in the + other replica!). +

    +
    +
  • Smaller changes: +
    • +Added forcepartial and preferpartial preferences, which +behave like force and prefer but can be specified on a +per-path basis. [Thanks to Alan Schmitt for this.]
      +
      +
    • A bare-bones self test feature was added, which runs unison through + some of its paces and checks that the results are as expected. The + coverage of the tests is still very limited, but the facility has already + been very useful in debugging the new backup functionality (especially in + exposing some subtle cross-platform issues).
      +
      +
    • Refined debugging code so that the verbosity of individual modules + can be controlled separately. Instead of just putting '-debug + verbose' on the command line, you can put '-debug update+', which + causes all the extra messages in the Update module, but not other + modules, to be printed. Putting '-debug verbose' causes all modules + to print with maximum verbosity.
      +
      +
    • Removed mergebatch preference. (It never seemed very useful, and + its semantics were confusing.)
      +
      +
    • Rewrote some of the merging functionality, for better cooperation + with external Harmony instances.
      +
      +
    • Changed the temp file prefix from .# to .unison.
      +
      +
    • Compressed the output from the text user interface (particularly + when run with the -terse flag) to make it easier to interpret the + results when Unison is run several times in succession from a script.
      +
      +
    • Diff and merge functions now work under Windows.
      +
      +
    • Changed the order of arguments to the default diff command (so that + the + and - annotations in diff's output are reversed).
      +
      +
    • Added .mpp files to the “never fastcheck” list (like +.xls files). +

    +
    +
  • Many small bugfixes, including: +
    • +Fixed a longstanding bug regarding fastcheck and daylight saving time + under Windows when Unison is set up to synchronize modification times. + (Modification times cannot be updated in the archive in this case, + so we have to ignore one hour differences.) +
    • Fixed a bug that would occasionally cause the archives to be left in + non-identical states on the two hosts after synchronization. +
    • Fixed a bug that prevented Unison from communicating correctly between + 32- and 64-bit architectures. +
    • On windows, file creation times are no longer used as a proxy for + inode numbers. (This is unfortunate, as it makes fastcheck a little less + safe. But it turns out that file creation times are not reliable + under Windows: if a file is removed and a new file is created in its + place, the new one will sometimes be given the same creation date as the + old one!) +
    • Set read-only file to R/W on OSX before attempting to change other attributes. +
    • Fixed bug resulting in spurious "Aborted" errors during transport +(thanks to Jerome Vouillon) +
    • Enable diff if file contents have changed in one replica, but +only properties in the other. +
    • Removed misleading documentation for 'repeat' preference. +
    • Fixed a bug in merging code where Unison could sometimes deadlock + with the external merge program, if the latter produced large + amounts of output. +
    • Workaround for a bug compiling gtk2 user interface against current versions + of gtk2+ libraries. +
    • Added a better error message for "ambiguous paths". +
    • Squashed a longstanding bug that would cause file transfer to fail + with the message “Failed: Error in readWrite: Is a directory.” +
    • Replaced symlinks with copies of their targets in the Growl framework in src/uimac. + This should make the sources easier to check out from the svn repository on WinXP + systems. +
    • Added a workaround (suggested by Karl M.) for the problem discussed + on the unison users mailing list where, on the Windows platform, the + server would hang when transferring files. I conjecture that + the problem has to do with the RPC mechanism, which was used to + make a call back from the server to the client (inside the Trace.log + function) so that the log message would be appended to the log file on + the client. The workaround is to dump these messages (about when + xferbycopying shortcuts are applied and whether they succeed) just to the + standard output of the Unison process, not to the log file. +
    + +
Changes since 2.13.0:
  • @@ -2954,6 +3157,7 @@ Some adjustments to unison are made to accommodate the multi-threaded to coincide with the name of a file created by the user. They take the form
    .#<filename>.<serial>.unison.tmp. + [N.b. This was later changed to .unison.<filename>.<serial>.unison.tmp.]
  • Added a new command to the GTK user interface: pressing 'f' causes Unison to start a new update detection phase, using as paths just diff --git a/unison-2.27.24.tar.gz b/unison-2.27.24.tar.gz new file mode 100644 index 0000000..47d9f99 --- /dev/null +++ b/unison-2.27.24.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a2ce8869e5460eb631a1e5eceed65b17b711e9b31fea2e9ba073ce3b79ac49c +size 587406 diff --git a/unison-windowout.diff b/unison-windowout.diff deleted file mode 100644 index 9699534..0000000 --- a/unison-windowout.diff +++ /dev/null @@ -1,57 +0,0 @@ -Index: uigtk2.ml -=================================================================== ---- uigtk2.ml (revision 184) -+++ uigtk2.ml (revision 185) -@@ -1118,10 +1118,9 @@ - - (* ------ *) - --let messageBox ~title ~parent ?(action = fun t -> t#destroy) -- ?(modal = false) message = -+let messageBox ~title ?(action = fun t -> t#destroy) ?(modal = false) message = - let utitle = transcode title in -- let t = GWindow.dialog ~title:utitle ~parent ~modal ~position:`CENTER () in -+ let t = GWindow.dialog ~title:utitle ~modal ~position:`CENTER () in - let t_dismiss = GButton.button ~stock:`CLOSE ~packing:t#action_area#add () in - t_dismiss#grab_default (); - ignore (t_dismiss#connect#clicked ~callback:(action t)); -@@ -1156,7 +1155,7 @@ - ~selectable:true ~yalign:0. ~packing:v1#add ()); - t#add_button_stock `CANCEL `NO; - let cmd () = -- messageBox ~title:"Details" ~parent:t ~modal:false longtext -+ messageBox ~title:"Details" ~modal:false longtext - in - t#add_button advLabel `HELP; - t#add_button_stock `APPLY `YES; -@@ -1381,10 +1380,11 @@ - GBin.frame ~packing:(toplevelVBox#pack ~expand:false) - ~shadow_type:`IN (*~hpolicy:`AUTOMATIC ~vpolicy:`NEVER*) () in - let hb =GPack.hbox ~packing:sw#add () in -- (GButton.button ~label:"View details..." ~packing:hb#add (), -+ (GButton.button ~label:"View details..." ~packing:(hb#pack ~expand:false) (), - GText.view ~editable:false ~wrap_mode:`NONE ~packing:hb#add ()) - - in -+ showDetailsButton#misc#set_sensitive false; - detailsWindow#misc#modify_font (Lazy.force fontMonospaceMediumPango); - detailsWindow#misc#set_size_chars ~height:3 ~width:104 (); - detailsWindow#misc#set_can_focus false; -@@ -1396,7 +1396,7 @@ - (match !theState.(row).whatHappened with - Some (Util.Failed _, Some det) -> det - | _ -> "[No details available]") in -- messageBox ~title:"Merge execution details" ~parent:(getMyWindow ()) details -+ messageBox ~title:"Merge execution details" details - in - ignore (showDetailsButton#connect#clicked ~callback:showDetCommand); - -@@ -2075,7 +2075,7 @@ - Some i -> - getLock (fun () -> - Uicommon.showDiffs !theState.(i).ri -- (fun title text -> messageBox ~title ~parent:(getMyWindow ()) (transcode text)) -+ (fun title text -> messageBox ~title (transcode text)) - Trace.status (Uutil.File.ofLine i); - displayGlobalProgress 0.) - | None -> diff --git a/unison.changes b/unison.changes index ad4576b..e56d2a9 100644 --- a/unison.changes +++ b/unison.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Wed Apr 25 17:20:19 CEST 2007 - mhopf@suse.de + +- Updated to 2.27.24: + * Backup functionality completely rewritten, removing bugs. + * Several savety improvements: mountpoint checks, big deletes, missing + symlink destinations + * New forcepartial and preferpartial preferences + * Improved debugging + * Merge functionality partially rewritten + * Reversed diff arguments. + * Many bugfixes (fastcheck + daylight saving time under windows, 32/64 + bit cleanup, removing deadlocks, ...) + ------------------------------------------------------------------- Tue Apr 17 17:37:09 CEST 2007 - seife@suse.de diff --git a/unison.spec b/unison.spec index 9617b90..58224e4 100644 --- a/unison.spec +++ b/unison.spec @@ -1,5 +1,5 @@ # -# spec file for package unison (Version 2.17.1) +# spec file for package unison (Version 2.27.24) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -15,12 +15,11 @@ BuildRequires: gtk2-devel lablgtk2 ncurses-devel update-desktop-files License: GNU General Public License (GPL) Group: Productivity/Networking/Other Autoreqprov: on -Version: 2.17.1 -Release: 42 +Version: 2.27.24 +Release: 1 Source0: http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-%{version}.tar.gz Source1: http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-%{version}-manual.html Source2: %name.desktop -Patch0: unison-windowout.diff URL: http://www.cis.upenn.edu/~bcpierce/unison BuildRoot: %{_tmppath}/%{name}-%{version}-build Summary: A file synchronization tool @@ -40,7 +39,6 @@ Authors: %prep %setup -q -%patch0 %build %ifarch s390 s390x @@ -70,6 +68,17 @@ rm -rf $RPM_BUILD_ROOT; %{_bindir}/%{name} %changelog +* Wed Apr 25 2007 - mhopf@suse.de +- Updated to 2.27.24: + * Backup functionality completely rewritten, removing bugs. + * Several savety improvements: mountpoint checks, big deletes, missing + symlink destinations + * New forcepartial and preferpartial preferences + * Improved debugging + * Merge functionality partially rewritten + * Reversed diff arguments. + * Many bugfixes (fastcheck + daylight saving time under windows, 32/64 + bit cleanup, removing deadlocks, ...) * Tue Apr 17 2007 - seife@suse.de - add ncurses-devel to buildrequires, to fix build on s390 * Wed Dec 13 2006 - mhopf@suse.de