SVN提交什么都不做

时间:2013-02-18 12:04:14

标签: svn ubuntu-12.04

我在Ubuntu 12.04上安装了一个svn repo,需要从mac和windows客户端使用svn。我跟着this guide使用自定义svn://协议运行svn,我可以成功查看我的repo。在签出???

时,服务器不要求任何认证

在mac客户端 - 命令行 - 我提交,它应该说

$ svn commit -m "edit 3 svn test"
Sending        a
Transmitting file data .
Committed revision 3.

但这是实际发生的事情:

$ svn commit -m "added howto section."

无。 svn日志不表示任何更新。

如果我询问svn状态,我会得到一份完整的列表,列出我复制到本地工作副本并需要更新的所有目录,但这些目录中没有任何文件:

$ svn status
?       app/Plugin/Metrics/Test
?       app/Plugin/Metrics/Model
?       app/Plugin/Metrics/Console
?       app/Plugin/Metrics/Controller
?       app/Plugin/Metrics/Config
?       app/Plugin/Metrics/Lib
?       app/Plugin/Metrics/View

'?'表示所有这些列出的目录都不在版本控制中。但是,未列出任何已更改的文件。只是为了说清楚 - 上面列出的大多数这些目录都包含我要添加或提交到repo中的新文件。未列出这些文件,仅列出目录。

如果我尝试'svn'添加'其中一个目录,具体来说,我得

$ svn add app/Plugin/Metrics/Model
svn: warning: 'app/Plugin/Metrics/Model' is already under version control

如果我手动尝试'svn'添加'我复制到本地工作副本中的其中一个目录中的文件,我得到

svn add app/Plugin/Metrics/Controller/MetricsMetricsController.php 
svn: warning: 'app/Plugin/Metrics/Controller/MetricsMetricsController.php' is already under version control

如果我手动尝试提交同一个文件,我会

 svn ci app/Plugin/Metrics/Controller/MetricsMetricsController.php 

无。没有客户端svn的反馈。我正在前台的ubuntu框上运行svnserve,看看它是否给了我任何调试信息,但它也没有显示任何内容。

svnserve -d --foreground -r /galaxypool/svn

Reeeealy令人沮丧的问题。任何想法如何让SVN提交?

2 个答案:

答案 0 :(得分:1)

我最终做了以下事情: - 将我的新目录树从本地工作副本移动到桌面。 - 发布:

svn delete app/Plugin/Metrics
D         app/Plugin/Metrics

然后提交 - 这从repo中删除了损坏的Metrics文件夹:

svn commit -m "delete metrics"
Deleting       app/Plugin/Metrics

Committed revision 16.

然后我转到我的目录树并删除了所有隐藏的'.svn'文件夹,并将树复制回本地工作集。 svn状态说

svn status
?       wezwa
?       app/Plugin/Metrics

然后我使用svn add:

再次添加树
svn add app/Plugin/Metrics/
A         app/Plugin/Metrics
A         app/Plugin/Metrics/Config
A         app/Plugin/Metrics/Config/bootstrap.php
A         app/Plugin/Metrics/Config/cache.php ...etc

并提交:

svn commit -m "upload metrics"
Adding         app/Plugin/Metrics
Adding         app/Plugin/Metrics/Config
Adding         app/Plugin/Metrics/Config/Schema
...etc

从Windows系统测试,它工作。这些文件在仓库中是安全的。

答案 1 :(得分:0)

首先需要为Version控件添加新文件。例如:

svn add app/Plugin/Metrics/Test

之后,提交结果将这些文件置于版本控制之下。

但是,在使用其他客户端之前,您需要在那里更新工作副本。

svn update

这将为您提供存储库的实际状态。如果文件已在本地存在,则会发生冲突。你必须以某种方式解决这些冲突。

修改: 由于手动移动.svn目录,似乎您的工作副本已损坏。尝试再做一遍;从存储库的全新工作副本开始。对要包含在新工作副本中的目录进行导出(而非签出)并将其复制。

请记住,这不是最好的事情;您可以使用外部与另一个存储库相关联,或者如果您需要更改某些内容,请使用“供应商分支”(如此处所述:http://svnbook.red-bean.com/en/1.7/svn.advanced.vendorbr.html