[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Good strategies for incorporating an external code drop

From: Ulrich Eckhardt <ulrich.eckhardt_at_dominolaser.com>
Date: Wed, 09 Nov 2011 09:37:37 +0100

Am 08.11.2011 21:30, schrieb KARR, DAVID:
> Subversion works fine when developers have access to the SVN repo.
> I'm working on a project where one of the developers for one of the
> projects doesn't have access to our network. When he makes changes
> he sends me a zip file with the new contents of the project.
>
> When I incorporate his changes, I've been going through a somewhat
> manual process, doing a "diff -cr" between the old and new, copying
> in files that have changes, copying in new files with "Only in<new>"
> and deleting files with "Only in<old>".
>
> Is there an easier way to do this?

There is a section in the docs called "verdor branches", which mentions
a script for loading changes from an (unversioned) file tree into a
repository, which would make your manual process easier. What it doesn't
do is to preserve changes made by other developers, it owerwrites them.

That said, there might be a few alternative approaches. Firstly, the
developer could send you patches instead of the whole zip folder. He
could create these patches using "svn diff" from an SVN working copy.
That would require that he can update his working copy now and then
though, or that you send him a fresh checkout. This working copy could
be the result of merging his latest changes instead of using his version
to overwrite everything, so that other peoples' changes are preserved.

That said, it is tedious, so patches will tend to contain more than a
single change, which makes it more difficult understanding the history
afterwards. Also, trying to find that one change in a week's worth of
work that broke something is hairy if there are no intermediate steps.

For that reason, I would suggest a distributed version control system
instead, one where you can create changes offline in separate steps and
then sync them when you are connected again. Tools like commit-queue and
svk help with that, using Mercury or git you can create bridges, too.
I'd try to make SVN access available though, in the long run that is
probably the better solution.

Good luck!

Uli
**************************************************************************************
Domino Laser GmbH, Fangdieckstraße 75a, 22547 Hamburg, Deutschland
Geschäftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932
**************************************************************************************
Visit our website at http://www.dominolaser.com
**************************************************************************************
Diese E-Mail einschließlich sämtlicher Anhänge ist nur für den Adressaten bestimmt und kann vertrauliche Informationen enthalten. Bitte benachrichtigen Sie den Absender umgehend, falls Sie nicht der beabsichtigte Empfänger sein sollten. Die E-Mail ist in diesem Fall zu löschen und darf weder gelesen, weitergeleitet, veröffentlicht oder anderweitig benutzt werden.
E-Mails können durch Dritte gelesen werden und Viren sowie nichtautorisierte Änderungen enthalten. Domino Laser GmbH ist für diese Folgen nicht verantwortlich.
**************************************************************************************
Received on 2011-11-09 09:38:22 CET

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.