标签 Subversion 下的文章

TortoiseSVN Cannot remove folder <folder>: The directory is not empty

同事拷贝了一个local svn库给我,发现有大量missing状态的class文件。应该是拷贝文件不全,或者是我本地svn版本比他的svn版本新造成的(我用的是svn 1.9.5),我想直接用revert直接回退,将删除的文件恢复。结果提示:

TortoiseSVN Cannot remove folder c:\myproject: The directory is not empty

多次尝试无效。搜索后,将TSVNCache.exe进程杀掉,重启explorer进程。右击项目目录,选择“Clean Up”,然后勾选“Revert all changes recursively”。发现删除的class文件已经全部恢复。

TortoiseSVN Cannot remove folder c:\myproject: The directory is not empty

是否应该将Visual Studio .suo .user文件加入Subversion版本控制

Visual Studio解决方案包含了两种隐藏的用户文件。一种是二进制文件.suo。另外是项目.user文本文件。那么这些文件是否应该加入版本控制系统呢?

.suo.user文件包含VS项目的一些正对当前用户的自定义设置。最好不要放入版本控制中。而且每次打开工程后.suo文件都会被修改。这样每次commit这些文件的状态都是changed。这两个文件保存有一些调试参数(执行路径、部署目标等)。其他用户从版本控制中checkout代码将不会包含这些调试参数。

Cannot load mod_dav_svn.so

今天发现:
The Apache service named  reported the following error:
Cannot load mod_dav_svn.so into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3

官方有句:

I am trying to use mod_dav_svn with Apache on Win32 and I'm getting an error saying that the module cannot be found, yet the mod_dav_svn.so file is right there in \Apache\modules.

The error message in this case is a little misleading. Most likely Apache is unable to load one or more DLLs that mod_dav_svn.so relies on. If Apache is running as a service it will not have the same PATH as a regular user. Make sure that libdb4*.dllintl3_svn.dlllibeay32.dll ssleay32.dllare present in either\Apache\bin or \Apache\modules. You can copy them from your Subversion installation directory if they are not there.

If this still does not resolve the problem, you should use a tool like Dependency Walker onmod_dav_svn.so to see if there are any other unresolved dependencies.

拷贝上面提到的DLL还是有问题,最后我是把所有SVN的dll都拷贝过去,解决。

visualsvn推荐目录布局

48d254a1gw1e6usxr9a18j20go0kfmz7.jpg

It's a good practice to create one repository for the entire company or department and store all your projects in this repository. Creating separate repository for each project is not a good idea because in that case you will not be able to perform Subversion operations like copy, diff and merge cross-project.

It's not required but usually each projects has 3 subfolders: trunk, branches, tags. The trunk folder contains the main development branch, the branches folder contains subfolders with temporary copies of trunk for experimental development, release stabilization etc. and the tags folder contains copies of the officially released versions. See the section called "Strategies for Repository Deployment" in SVNBook to read more about project roots.

参考:http://www.visualsvn.com/support/topic/00017