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

Re: Problem deleting file, then parent directory

From: Daniel Becroft <djcbecroft_at_gmail.com>
Date: Sat, 7 Aug 2010 11:58:41 +1000

On Fri, Aug 6, 2010 at 5:32 PM, Richard Biffl <
tigris_at_blacklettersoftware.com> wrote:

> I can't TortoiseSVN Delete a directory after I have TortoiseSVN Deleted a
> file from that directory. More precisely, I can TortoiseSVN Delete the
> directory, but I can't SVN Commit the deletion.
>
> I created a new work folder, called workdir, and updated it with a new,
> empty repository. In workdir, I create a folder named dir1, and in dir1 I
> create file1 and file2. So my work directory looks like this:
>
> workdir
> -- dir1
> ---- file1
> ---- file2
>
> I right-click on dir1, and TortoiseSVN Add it to the repo. Then I SVN
> Commit workdir.
>
> Next I go into dir 1 and TortoiseSVN Delete file1. I SVN Commit workdir.
>
> In workdir, I right-click on dir1 and TortoiseSVN Delete the directory,
> which still contains file2. I go back up a level and right-click on workdir,
> click SVN Commit, and I get the following error:
>
> testrepo - Commit - TortoiseSVN Failed!
> Action | Path
> Command | Commit
> Deleting | C:\test\workdir\dir1
> Error | Commit failed (details follow):
> Error | Directory '/dir1' is out of date
> Error | You have to update your working copy first.
> Finished!
>
> If I try an SVN Update at that point, I get this:
>
> C:\test\workdir - Update - TortoiseSVN Finished!
> Action | Path
> Command | Update
> Tree conflict | C:\test\workdir\dir1
> Completed | At revision: 5
> Warning! | One or more files are in a conflicted state.
>
> This seems wrong. Since I already committed my deletion of file1 from the
> repository, there should be no tree conflict and no reason I can't commit
> the deletion of dir1.
>

This is a known situation for SVN (I wouldn't call it an issue, as the
reason its happening is quite valid).

When a commit is completed, only those items directly involved in the commit
have their "last modified' revision number in the working copy bumped. In
your example, file1 is deleted (and so has no last modified revision).
However, SVN cannot automatically move the last modified revision of dir1 to
5, as there may have been further changes to file2, for example, that need
to be brought into the WC. The only way that dir1 can be considered
up-to-date is for an SVN Update to be run on it.

I hope this helps (am only on the second cup of coffee for the day).

Cheers,
Daniel B.

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2643958

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2010-08-07 03:59:17 CEST

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

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