Return-Path: Delivered-To: apmail-jakarta-ant-user-archive@apache.org Received: (qmail 50029 invoked from network); 30 Dec 2001 06:12:17 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 30 Dec 2001 06:12:17 -0000 Received: (qmail 22323 invoked by uid 97); 30 Dec 2001 06:12:18 -0000 Delivered-To: qmlist-jakarta-archive-ant-user@jakarta.apache.org Received: (qmail 22307 invoked by uid 97); 30 Dec 2001 06:12:18 -0000 Mailing-List: contact ant-user-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Ant Users List" Reply-To: "Ant Users List" Delivered-To: mailing list ant-user@jakarta.apache.org Received: (qmail 22296 invoked from network); 30 Dec 2001 06:12:17 -0000 X-Authentication-Warning: new-smtp1.ihug.com.au: Host p424-apx1.syd.ihug.com.au [203.173.141.170] claimed to be expresso.localdomain Date: Sun, 30 Dec 2001 17:14:38 +1100 From: Jeff Turner To: Ant Users List Subject: Re: [OT] Ant-driven update system (Re: Best way to add file to CVS repository?) Message-ID: <20011230171438.C483@socialchange.net.au> Mail-Followup-To: Ant Users List References: <20011227173848.C1518@socialchange.net.au> <20011227185652.D1518@socialchange.net.au> <003501c18f0a$95cd4ff0$2401a8c0@hmorga.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <003501c18f0a$95cd4ff0$2401a8c0@hmorga.de> User-Agent: Mutt/1.3.23i X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N On Thu, Dec 27, 2001 at 08:13:34PM +0100, Nico Seessle wrote: > ----- Original Message ----- > From: "Jeff Turner" > To: > Cc: "Ant Developers List" > Sent: Thursday, December 27, 2001 8:56 AM > Subject: [OT] Ant-driven update system (Re: Best way to add file to CVS > repository?) > > > > Incidentally, 'diff -N' is not a general, nor cross-platform, solution > > to the problem of how to convey updates. > > Do you know a plattform where cvs is not available? I've even found > references to ports to AS/400 and MVS that are in the works. But it's not on 80% of the boxes that websites get deployed to. Nor would it be any use on those boxes, as they're behind firewalls. But my problem isn't with CVS, but with the inadequacy of 'diff' as the sole way of conveying updates. Diffs can't convey the information "this file was deleted", They can convey "this file was added", but only as a hack which is inappropriate for binary files like jars, and rarely used in practice. > > I'd like to invent one though :) I was thinking along the lines of a > > .jar file containing updates, with an Ant script, META-INF/control.xml, > > which describes how the contents of the jar must be applied. > > There are other people inventing replacements for cvs, for example > http://subversion.tigris.org which should also work thru firewalls as it > uses WebDAV for repository access. Subversion is going to totally rock :) I hope Apache is one of the first to switch from CVS. Subversion's "tree delta" is most relevant here: "A tree delta describes changes between two directory trees, the source tree and the target tree. Tree deltas can describe copies, renames, and deletions of files and directories, changes to file contents, and changes to property lists. ... A tree delta is a list of changes of the form change... which describe how to edit the contents of source-dir to yield target-dir. There are three kinds of changes: Source-dir has an entry named name, which is not present in target-dir. content target-dir has an entry named name, which is not present in source-dir; content describes the file or directory to which the new directory entry refers. content Both source-dir and target-dir have an entry named name, which has changed; content describes the new file or directory." -- http://www.tigris.org/files/documents/15/48/svn-design.html Now don't those , and tasks seem awfully similar to Ant's , and ? So for my purposes (updating websites), Subversion deltas would be better in the long run, but I think I can do an equivalent job with Ant. Because it's based on Java, it's cross-platform, and Subversion "blue sky items" like digital signatures are possible right now (jar signing). > > Basically, a jar file that knows what to do with itself. Much like an > > RPM or .deb file. > > Can you deliver *patches* with rpm or deb-packages? I always thought they > would always contain the complete package and - maybe - now how to update an > older installation if there is one avaialble. But you always need to > distribute the whole package, don't you? Not sure.. I don't think so. They're just archives ('ar' and 'tar' in the case of .debs) with metadata and shell scripts telling the host system what to do with the files. > Okay, but what you are describing is really a system to patch distibuted > software, isn't it? Personally, I don't think that a project which aims to > be "a Java based build tool" should care about patching your installations. > Maybe a task to create such a patch would be nice to have in Ant, but the > invention of the complete patch-system goes beyond the target of Ant. Who says Ant most _only_ be a "Java based build tool"? ;) I want to use Ant as a "cross-platform scripting language". Ovidiu Predescu and I are using Ant as a "functional testing tool".. I can't wait till Ant 2 arrives.. hopefully the distinction between "ant-core", and "ant-the-build-tool" will become much clearer. --Jeff > Nico -- To unsubscribe, e-mail: For additional commands, e-mail: