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

Option for svn co/up/switch --force to merge existing files

From: Grósz Dániel <groszdani_at_gmail.com>
Date: 2007-12-28 02:24:14 CET

Hello,

I am new to this list, and sorry if my English is not correct. Sorry
if I overlooked something and this function is already implemented,

I have read about the new feature of the upcoming subversion 1.5 that
svn co/up/switch have a --force option which does not throw an error
if a new file in the repository already exists in the working copy.
However, this leaves the existing file in the working copy as is, as a
local modification of the file in the repository. I think an option
which could be used in combination with --force would be useful which
would tell svn to try to merge the file in the repository with the
local file, and, if unsuccessful, throw a conflict. Or, if ancestry
considerations would not allow automatic merge, mark the file as
conflicting if it is not identical to the file in the repository, and
add a --ignore-ancestry option.

It would be useful in the following situation (and possibly in others):
We are developing a system using Subversion for several people for
writing books and other contents. Sometimes we may decide to make big
changes in the repository: change file formats or the file structure.
I write a script that does the changes: converts files to the new
format and/or moves files using svn commands, I run it on my working
copy, and commit it, to a new branch. Then developers (who write the
content) should switch to the new branch. But they might have local
changes in their working copy and changes are more complex than what
subversion could automatically merge. So if developers who have local
changes simply switched to the new branch, they would end up with a
lot of conflicts which are difficult to resolve properly. To solve
this problem, I would send my script to them. They would run the
script on their own working copy, and then switch to the new branch.
This works fine as long as the changes only affect file formats but
don't create new files: local changes are also converted to the new
format and easily merged with the repository changes made after
creating the new branch. But if the changes create new files, the same
new files are created in the working copy when developers run the
script on their working copies, so svn switch throws the error 'object
of the same name already exists' even if the transformed working copy
is identical to the new branch in the repository. The --force option
in 1.5 makes the situation somewhat better, but it would be good in
this case if it merged the local changes with the repository changes.

Are there any plans to implement this function?

Thanks in advance,
Grósz Dániel

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Dec 28 02:24:35 2007

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.