zoukankan      html  css  js  c++  java
  • 使用"_svn"替代".svn"的转换脚本

    使用"_svn"替代".svn"的转换脚本

    在项目团队开发过程中使用TortoiseSvn,遇到一个问题:有些同事使用的_SVN,有些同事使用.SVN(.svn在VS2003等情况下会有问题)。于是想将.SVN 设置成_svn,但改变相关设置不会使已存在的工作拷贝中的管理文件夹从“_svn”自动转换到“.svn”。以下是一种解决方法。

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

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

    rename_svn.bat
    复制内容到剪贴板
    代码:
    rem @ECHO OFF
    FOR /R %%f IN (.svn) DO IF EXIST "%%f" (
        ATTRIB -h "%%f"
        RENAME "%%f" _svn
        ATTRIB +h "%%~pf\_svn"
    )
    renamedotsvn.bat
    复制内容到剪贴板
    代码:
    rem @ECHO OFF
    FOR /R %%f IN (_svn) DO IF EXIST "%%f" (
        ATTRIB -h "%%f"
        RENAME "%%f" .svn
        ATTRIB +h "%%~pf\.svn"
    )
    只需将相应的脚本文件拷到要变更的工作拷贝根目录下,然后在图形界面下直接双击执行就可以了。
    脚本所在的路径及其所有子路径下的“.svn”都会被自动替换成“_svn”。

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

    注2:开启TSVNchche.exe的任务栏图标的方法:在注册表中新建HKCU\\Software\\TortoiseSVN\\CacheTrayIcon变量,类型DWORD,取值为1。它允许你来优雅地关闭TSVNCache,而不是在进程列表里kill掉它。(托盘图标可以显示当前已缓存了的文件夹数目)
  • 相关阅读:
    git 学习笔记
    单选框和复选框的样式修改
    es6常用方法
    js混杂笔记
    Entity Framework 学习第一天
    sublime text2的插件熟悉
    近况
    thinkphp ,进行关联模型的时候出现的问题,版本是3.2
    上传图片的权限问题
    今天学习了下,如何破解wifi
  • 原文地址:https://www.cnblogs.com/zengxlf/p/1490550.html
Copyright © 2011-2022 走看看