10

我正在使用 Zend Studio 6.1 for Eclipse,它与 Subversive 插件捆绑在一起。

我的回购布局是:

/trunk/
/branches/
/tags/

我的应用程序代码在:

/trunk/application

我正在尝试在以下位置添加一些视图模板:

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

但是 Subversive 不允许我提交该文件夹中的任何文件。它给我的信息是:

“您要修改存储库上的标签。要继续吗?”

所以我说“不”。似乎将我的“标签”文件夹与 SVN 的标签概念混淆了。

我无法重命名文件夹,因为我使用的框架在控制器和视图之间强制执行严格的命名约定。我有一个 tagsController,所以我的视图必须在 /views/tags

我可以将控制器重命名为“标签”以外的名称,但这很糟糕,因为标签是标签,而不是 schmag ;)

关于如何解决这个问题的任何想法?

4

6 回答 6

20

对这个警告说“是”实际上很好。

版本控制的常见布局是有 3 个根文件夹:

/trunk
/tags
/branches

一旦发布了主干版本,主干的当前内容将被复制到标签中的文件夹(例如“2008 年 4 月版本 1.3”或其他内容)中。一般而言,不应修改此文件夹,因为它代表特定时间点的特定构建,因此如果您尝试更改其中的文件,Subversion 会警告您。

但是,在您的情况下,您有一个恰好被称为“标签”的文件夹,其中包含主干代码,而不是标记代码,因此对此警告说“是”并继续提交是完全正确的。

有关更多信息,请阅读 SVN 书籍,尤其是标签推荐的存储库布局

于 2008-12-17T15:00:28.823 回答
1

也许改变另一个插件?“标签”和“分支”在 svn 中是完全一样的,只是我们作为用户的逻辑视图使它们不同。您应该能够——即使 IMO 不是一个好主意——在这里提交。

这是我对 svn BTW 的抱怨之一,分支和标签是不同的东西。

于 2008-12-17T15:02:09.803 回答
1

Subversion 只是试图警告你,你可能不小心提交了一个标签——即一个标记版本的代码——在正常使用中你永远不会这样做。

在你的情况下,我相信你刚刚有一个名为 tags 的文件夹,你正在处理 taglib 类型的东西。您可能想将其称为不同的名称以防止出现警告,但在您的情况下听起来像是虚假的。

于 2008-12-17T17:03:34.270 回答
0

主干通常应该代表您的应用程序的当前工作副本,分支用于支持在应用程序的先前版本上工作(例如他们对 Firefox 所做的那样,当最后一个版本在trunk.标签仅用于标记应用程序的特定版本,这可以方便地检查代码在特定版本中的情况。

你为什么要更改标记的文件?

于 2008-12-17T15:07:08.577 回答
0

我终于让它工作了。我只能假设这是 Zend Studio for Eclipse 的 Subversive 插件中的一个错误。

如果我尝试通过右键单击“PHP Explorer”中的文件来提交,它会失败。如果我通过“团队 -> 与存储库同步”“覆盖并提交”,它工作正常。

于 2009-01-31T20:16:47.427 回答
0

有关弹出警告的原因的详细说明,请参阅此帖子:-)

于 2009-03-02T19:02:15.703 回答