You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by Eric Smith <Er...@discoveryworld.co.za> on 2001/09/27 13:23:46 UTC
cross-platform rsync?
The objective is to have a single ant build configuration file for Windows
NT/2000 and UNIX platforms;
Currently files are sourced from both the version control system
(SourceSafe) and an SMB share on a public server. The reason for the share
is that for this project, there are a large number of binaries, some of
which are very big and aren't expected to change often (if at all) - the
sacrifice of no version control on these files is deemed acceptable in
comparison to clogging up the version control system with binaries (and
making the build process so slow that it is unusable).
At the moment, rsync is the tool used to synchronise files from the share -
this works very well and is extremely fast under UNIX. It is not currently
supported under Windows since rsync is a UNIX utility. Since the Windows
builds have to happen on developer machines (Win2000) I don't want to have
to make things any more complicated than they need to be under Windows and
for this reason am trying to avoid the need to install cygwin dll's just so
that developers can run a version of rsync under Windows. Another reason
for not wanting to use rsync under Windows is that it isn't really supported
(I'll have to compile my own version under Cygwin and then maintain this
with later releases).
My question is: Is there a 'clean' cross-platform solution (obviously
preferably based in Java) for syncing files across file systems? Given that
there is already built-in support for certain version control systems in ant
I would imagine that there is a need for this over the rather crude ftp/http
get (which does not support deltas).
--Eric
Eric Smith
Systems Architect
DiscoveryWorld, Discovery Health
eric@discoveryworld.co.za
Re: cross-platform rsync?
Posted by Jesse Stockall <je...@cryptocard.com>.
On Thu, 2001-09-27 at 07:23, Eric Smith wrote:
> The objective is to have a single ant build configuration file for Windows
> NT/2000 and UNIX platforms;
>
> Currently files are sourced from both the version control system
> (SourceSafe) and an SMB share on a public server. The reason for the share
> is that for this project, there are a large number of binaries, some of
> which are very big and aren't expected to change often (if at all) - the
> sacrifice of no version control on these files is deemed acceptable in
> comparison to clogging up the version control system with binaries (and
> making the build process so slow that it is unusable).
>
We do something similar. Our central "share" also has external libraries
that we need at build time. Instead of copying the files from the
central machine before the build starts, I pull them from the central
share as needed during the build.
First I add the following line to the build file.
<property file="${user.home}/.ant.properties" />
The I place a file called ".ant.properties" in each users home directory
/home/username on Unix
c:\documents and settings\username on Win2000
In the ".ant.properties" I put the line
"shared = /java" if /java is the mount point for the NFS mount.
On Windows it is "shared = t:" if t: is the drive mapped to the central
share.
Then in the build file I have lines like:
<pathelement location="${shared}/lib/log4j.jar" />
<copy file="${shared}/bin/JavaService.exe" todir="${dist}/bin"/>
It works great for us & it also allows each developer to override
properties in the build file by adding lines to their .ant.properties
Yes there is a speed penalty but I would think it would be less than
trying to rsync the whole repository.
--
Jesse Stockall | Tel: 1+ 613.599.2441 ext. 243
CRYPTOCard Corporation | Fax: 1+ 613.599.2442
Suite 304, 300 March Rd. | email: jesse@cryptocard.com
Ottawa, ON, Canada K2K 2E2 | web: www.cryptocard.com
---------------------------------------------------------------------
Re: cross-platform rsync?
Posted by Diane Holt <ho...@yahoo.com>.
--- Eric Smith <Er...@discoveryworld.co.za> wrote:
> My question is: Is there a 'clean' cross-platform solution (obviously
> preferably based in Java) for syncing files across file systems?
A quick web search turned up these:
http://www.cis.upenn.edu/~bcpierce/unison/
http://www.schwieters.org/fsync/
http://freshmeat.net/projects/pysync/
Didn't see anything written in Java (but I didn't spend a long time
looking).
Diane
=====
(holtdl@yahoo.com)
__________________________________________________
Do You Yahoo!?
Listen to your Yahoo! Mail messages from any phone.
http://phone.yahoo.com