Subversive: can't commit files inside a tags folder

I'm using Zend Studio 6.1 for Eclipse, which comes bundled with the Subversive plug-in.

My repo layout is:

/trunk/
/branches/
/tags/

My application code is in:

/trunk/application

I'm trying to add some view templates in:

/trunk/application/views/tags/index.tpl

BUT Subversive won't let me commit any of the files in that folder. The message it gives me is:

"You are going to modify the tag on the repository. Do you want to continue?"

So I say "no". It seems to be confusing my 'tags' folder with SVN's concept of tags.

I can't rename the folder because the framework I'm using enforces strict naming conventions between controller & view. I have a tagsController, so my views must be in /views/tags

I could rename the controller to something other than 'tags', but that sucks, because a tag is a tag, not a schmag ;)

Any ideas on how to get around this?

It's actually fine to say "Yes" to this warning.

A common layout for version control is to have 3 root folders:

/trunk
/tags
/branches

Once a trunk build has been released, the current contents of trunk are copied into a folder (e.g. "April 2008 version 1.3" or something) in tags. Generally speaking this folder should not then be modified, as it represents a specific build at a specific point in time, so Subversion will warn you if you attempt to change files in it.

However, in your case you have a folder which just happens to be called "tags", and contains trunk code, rather than tagged code, so it is perfectly right to say "Yes" to this warning and continue with the commit.

For more info, read the SVN Book, particularlyTagsandRecommended Repository Layout

Maybe change tho another plugin? "tags" and "branches" are exactly the same thing inside svn, it is only the logical view that we, as users, have of both that makes them different. You should be able -- even though it is not a good idea IMO -- to commit here.

It is one of my gripes with svn BTW, branches and tags are different things.

Subversion's just trying to warn you that you might be accidentally committing to a tag - that is, a labeled version of code - which in normal usage you would never do.

In your case I believe you've just got a folder called tags where you're working on taglib type stuff. You might want to call it something different to prevent the warning, but it sounds like it's spurious in your case.

Thetrunkshould usually represent the current working copy of your application,branchesare there to support working on a previous version of an application (like they do with Firefox for example, they still release bug fixes to version 2.0 while the last version is in the trunk.Tagsare just used to mark a specific release of your application, this makes it handy to check how code was at a specific release.

Why are you trying to change the tagged files?

I finally got it working. I can only assume it's a bug in the Zend Studio for Eclipse's Subversive plugin.

If I try to commit by right clicking on the files in "PHP Explorer", it fails. If I "Override and Commit" via "Team ->Synchronize with Repository", it works fine.

Seethis postfor a slightly longer explanation of why the warning pops up :-)

What Others Are Reading