On Fri, May 23, 2014 at 08:27:08AM +0100, Andreas Stieger wrote:
> > On 23 May 2014, at 01:08, David DL <ddl877_at_outlook.com> wrote:
> > If you don't use the client side tools, how can you maintain in-house changes against a series of vendor drops?
>
> By following the procedure: clean drops in /vendor/foo/current, tag releases to /vendor/foo/N (1,2,3...). The diff between them can be merged.
> Copy current to trunk once. Your own modifications go there only.
> For a merge the difference between N-1 and N into that, thus maintaining in-house changes and bringing them together with releases.
In case the vendor is also using svn, you can even skip the branch
in your own repository, and merge from a branch or tags in the vendor's
repository directly, unless you really care about merge-tracking or
copyfrom history.
Quoting 'svn help merge':
- Merging from foreign repositories -
Subversion does support merging from foreign repositories.
While all merge source URLs must point to the same repository, the merge
target working copy may come from a different repository than the source.
However, there are some caveats. Most notably, copies made in the
merge source will be transformed into plain additions in the merge
target. Also, merge-tracking is not supported for merges from foreign
repositories.
Another approach which retains full vendor history is to svnadmin dump
the vendor repository (or a to-svn conversion thereof) and import
incremental dumps within a subtree in your repository using the
--parent-dir option of 'svnadmin load'. Then merge from there.
Received on 2014-05-23 09:54:21 CEST