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

Re: [Subclipse-dev] giving a shot at fixing deletions

From: Hugo Visser <joegi_at_scene.nl>
Date: Fri, 11 Jul 2008 21:39:21 +0200

> The problem in these examples is, as you point out, that Subclipse is
> doing the right thing. So in the attempt to make these scenarios
> better you have to be careful to not break the cases where it really
> is the right thing.
> The next problem is that Subclipse has to work within the confines of
> what Subversion and Eclipse allow it to do. For example, following up
> those svn delete's with svn add's will not do the right thing. It
> will preserve the files, but it will break the history. So you really
> have to undo the delete, by using revert. The problem there is that
> it is going to put back the old files. So now you need to save the
> current files and put those back after the revert. It all gets very
> ugly fast.

Maybe as a first pass it would be acceptable to make this a manual
action, which would work for the other scenario too I guess.

> This would be my suggestion:
> 1) Ignore the case where the user deleted something. That is complete
> user error. I do not see any way to fix that and how many times is
> the user going to make that mistake?
> 2) On the Eclipse copy problem, look for a solution at the point of
> the problem. Figure out a way to know that a copy is happening and
> then ignore the delete. Maybe there is a way to peek ahead in the
> resource delta and see that an Add of the same file is coming. Or
> maybe when we receive a delete there is a way to add our processing to
> some job queue so that it if there is an Add coming, our code happens
> after the Add. At which point when our code runs we can now see that
> the Add happened and just skip the delete.
> A final idea is that maybe there are some new options that could be
> created to fixup the problem after it happens? Detect when a file or
> folder is scheduled for delete but in actuality a new copy exists and
> then provide options that can do something to fix it? The variation
> this is adding is that it would allow you to work around any problems
> that might exist in trying to detect the problem when it is happening.
> This would also help with your example of when a user deletes
> something they plan to regenerate later.

Yes, the latter is the approach I'm thinking of now. Some kind of
"oops I screwed up, help me" option :) I'll dive into the code to see
if I can make the simplest scenario work and to understand how things
fit together in the plugincode. And I guess I can educate the team
members not to delete the packages and if they do, revert the package
without the deleted files.



To unsubscribe, e-mail: dev-unsubscribe_at_subclipse.tigris.org
For additional commands, e-mail: dev-help_at_subclipse.tigris.org
Received on 2008-07-11 21:39:32 CEST

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