Date: Thu, 24 Jan 2013 21:54:52 +0000 From: Xyne <xyne@archlinux.ca> To: Peter Vereshagin <peter@vereshagin.org> Cc: glarkin@FreeBSD.org, questions@freebsd.org Subject: Re: 'svn-export' incrementing? Message-ID: <20130124215452.3fba0d68@archlinux.ca> In-Reply-To: <51004C02.9040107@FreeBSD.org> References: <20130123012915.GA16404@external.screwed.box> <51004C02.9040107@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Greg Larkin wrote: >-----BEGIN PGP SIGNED MESSAGE----- >Hash: SHA1 > >On 1/22/13 8:29 PM, Peter Vereshagin wrote: >> Hello. >> >> I use the 'svn-export this way and expect it will try to update >> the 'work-tree' next time I run it: >> >> $ python3 svn-export-2013.1/svn-export >> http://svn.gna.org/svn/nasmail/trunk nasmail Exporting new >> repository. Exported revision 1546 [portato@screwed /tmp]$ ls -a >> nasmail . decode plugin_pack tests >> utilities .. nasmail plugins >> translations [portato@screwed /tmp]$ python3 >> svn-export-2013.1/svn-export http://svn.gna.org/svn/nasmail/trunk >> nasmail Exporting new repository. svn: E155000: Destination >> directory exists; please remove the directory or use --force to >> overwrite svn: E155000: 'nasmail' already exists error: Command >> '['svn', 'export', '-r', 'HEAD', >> 'http://svn.gna.org/svn/nasmail/trunk', 'nasmail']' returned >> non-zero exit status 1 >> >> I believe there is something wrong in the way I use the >> 'svn-export'. Otherwise it's a no problem for me to patch for >> '--force'. >> >> How can I update the already created 'work tree' with 'svn update'? >> I think the correct answer is a good idea for 'Synopsis' docs >> section. >> > >Hi Peter, > >In order for svn-export to work in incremental mode, you need to use >the --revision-file argument like so: > >python3 svn-export-2013.1/svn-export -r rev.dat >http://svn.gna.org/svn/nasmail/trunk nasmail > >Then at some point in the future, run the same command. svn-export >will read rev.dat, compare the version in there with the current HEAD >revision. If they are different, the script creates a diff and >applies it to the local directory. > >Hope that helps, >Greg Hi, The explanation is correct but the command example is not. It should be svn-export --revision-file rev.dat ... The reason for this is that svn-export does not include any SVN data with the exported files so it has no way to determine what the currently exported revision is from the directory alone. You could manually run svn-export -r <local revision>:HEAD ..." but it would be tedious. The "--revision-file" option automates this by storing the local export's revision number in a file. It is used to determine which revision to diff against. Essentially it is the same as running svn-export -r $(cat rev.dat):... I hope this clears things up. Regards, Xyne
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130124215452.3fba0d68>