subversion的.svn和_svn

使用"_svn"替代".svn"的转换脚本
svn, 脚本, quot, Subversion, 工程
VS.NET在新创建一个Web工程和刷新该工程时,遇到“.*”文件夹就会出问题,但Subversion是要用“.svn”文件夹来储存自己的内部信息的。这可不是Subversion的bug,这bug是VS.NET和它使用的frontpage扩展带来的。

可以通过TSVN的常规设置中的使用“_svn”替代“.svn”目录选项来改变以后生成的工作拷贝中的管理文件夹的名字。使此操作生效需要重启系统。
你应该注意到:改变该选项将不会使已存在的工作拷贝中的管理文件夹从“_svn”自动转换到“.svn”。
你需要使用脚本来自行完成这项工作,或是简单地重新检出一个新的工作拷贝。但当项目很大时,重新检出并非明智选择。
下面从Subversion Mailing List Archives里搜索了一些实现的简单脚本:

  
  
  
  
  1. rename_svn.bat 
  2.  
  3. @ECHO OFF 
  4. FOR /R %%f IN (.svn) DO IF EXIST "%%f" ( 
  5.     ATTRIB -h "%%f" 
  6.     RENAME "%%f" _svn 
  7.     ATTRIB +h "%%~pf\_svn" 

 

  
  
  
  
  1. renamedotsvn.bat 
  2.  
  3. @ECHO OFF 
  4. FOR /R %%f IN (_svn) DO IF EXIST "%%f" ( 
  5.     ATTRIB -h "%%f" 
  6.     RENAME "%%f" .svn 
  7.     ATTRIB +h "%%~pf\.svn" 
  8. )  

 

只需将相应的脚本文件拷到要变更的工作拷贝根目录下,然后在图形界面下直接双击执行就可以了。
脚本所在的路径及其所有子路径下的“.svn”都会被自动替换成“_svn”。

注:也许你在执行renamedotsvn.bat之后,虽然可以重新取回对项目的版本控制,但那些overlay绿色角标仍然没有刷新出来。
解决问题的办法是kill掉你的TSVNcache.exe,然后点击F5刷新,以重新启动TSVNcache,看,角标又出现了:)

注2:开启TSVNchche.exe的任务栏图标的方法:在注册表中新建HKCU\\Software\\TortoiseSVN\\CacheTrayIcon变量,类型DWORD,取值为1。它允许你来优雅地关闭TSVNCache,而不是在进程列表里kill掉它。(托盘图标可以显示当前已缓存了的文件夹数目)

 

 

我参考的原文:http://bbs.iusesvn.com/thread-557-1-1.html

你可能感兴趣的:(转换,职场,.svn,休闲,_svn)