On Wednesday 27 June 2007, Nathan Nobbe wrote:
> just guessing a bit; as i havent used this myself; but isnt this what
> patch<http://en.wikipedia.org/wiki/Patch_%28Unix%29>is for?
> basically the flow here is to diff the to repositories; dump the diff of
> each file in the repo to a diff file.
> then recursively apply the diff files to the target source base using patch.
> you would still need to handle adding new files and removing deleted files
> though.
>
> in order to get a listing of the files that have changed between 2
> components of the repository (typically a development branch and the trunk)
> svn diff -x -w svn+ssh://user@repohost/trunk
svn+ssh://user@localhost/branch-wc
> | grep '+++'
> svn diff -x -w svn+ssh://suer@repohost/trunk
svn+ssh://user@localhost/branch-wc
> | grep '\-\-\-'
You'd probably rather use 'diffstat'.
> so, in my mind i would start out by using those commands to generate a list
> of files then iterate over the list producing the diff files.
svn diff will give you the diff over all the files; no need to build it up
yourself.
> note here, im assuming the diff output from svn is compatible w/ gnu diff
> (because thats what patch takes as input).
It's almost compatible. You'll run into problems when patching binary files.
svn diff --diff-cmd diff -x -au --force
may work better.
And adding/removing files may have issues; I haven't double-checked that yet.
Have fun,
Eli
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Jun 27 22:38:52 2007