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

Re: [PROPOSAL] Addition of rsync algorithm for saving bandwidth in 'svn takeover'

From: John Peacock <jpeacock_at_rowman.com>
Date: 2005-07-15 12:58:21 CEST

Jonathan Gilbert wrote:
> This is the source of the confusion, because the intent is for the (remote)
> repository to already have the project, perhaps imported by another person
> or through a conversion tool. The 'svn takeover' command does not ever add
> files to the repository.

I think we are talking at cross purposes here. I was suggesting a *different*
way to get to your same goal, one that would help a lot more people than the
very small [IMHO] number of people who need to connect a working copy from some
other VCS program.

Here's my development proposal:

1) Add a --to-checkout option to 'svn import' which would build the local
administration directories based on the existing files on disk. The normal
import functionality would take care of copying the files up and the new code
would compare the existing local disk files with the server copies (in this case
they will always be the same) and creates the text-base from them. This is a
very common scenario and would make *many* people happy if it worked this way.

2) Add an --incorporate-existing-files (or some better name which still reflects
what is going on) to 'svn checkout' which would only use the new code that was
added above. There are now several possibilities:

a) The server and local copies are the same, so the text-base is created from
the local copy without having to transfer anything (apart from a checksum).

b) The local and server copies differ, so the server copy would be retrieved in
order to create the text-base and the file would be marked as modified.

c) Any files which exist on the server but not the local copy would be retrieved
and text-base created, then marked as deleted.

d) Any files which exist in the client but not the server would be ignored
completely (and show up as ? in status).

In your extreme example, one person would either import or convert the old
repository to Subversion. Then each person with an outstanding WC from the old
system would run 'svn checkout --incorporate-existing-files' to tie their
checked out files into Subversion.

John

p.s. IMNSHO gigabytes of TIFF's don't belong in _any_ VCS system that doesn't do
binary diffs in the first place (CVSNT is down the hall on the left) and even
then it's probably not the right tool.

-- 
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4720 Boston Way
Lanham, MD 20706
301-459-3366 x.5010
fax 301-429-5747
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Jul 15 12:58:40 2005

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