'svn-export' incrementing?
Xyne
xyne at archlinux.ca
Thu Jan 24 21:55:25 UTC 2013
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 at screwed /tmp]$ ls -a
>> nasmail . decode plugin_pack tests
>> utilities .. nasmail plugins
>> translations [portato at 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
More information about the freebsd-questions
mailing list