TortoiseSVN从1.2.6升级到1.3.2过程中遇到的问题

本文记录了TortoiseSVN从1.2.6升级到1.3.2的过程及遇到的问题,特别是ASP.NET Hach安装选项导致的工作目录显示异常,并提供了详细的解决方案。

昨晚浏览Tigris.ORG的网站,发现TortoiseSVN已经升级到1.3.2,遂下载了Windows安装版,准备对使用中的1.2.6版进行升级。不知道SourceForge.net这一段时间是怎么回事,访问了多次才下载回来,所以想下载的朋友一定要有耐性。

在升级安装过程的过程中,当出现如下对话框时

由于安装前没有仔细阅读发现说明,以为是TortoiseSVN对VS的Web项目有了什么新的支持,就选上了ASP.NET Hach安装项。

安装完成后,重新启动计算机,使用TortoiseSVN能够正常查看Repository中的项目。但是转到以前的工作目录时,发现各种受控文件的图标都没有了,跟普通文件夹一样。仔细想想,SVN的工作目录和普通文件夹的区别就在于工作目录中有一个隐藏的.svn文件夹,里面保存了SVN的相关信息,工作目录不能正常显示可能与此有关。建立一个临时文件夹,Checkout一个项目到里面,果然发现隐藏的.svn文件夹的名字变成了_svn,难怪原来的工作目录不能正常显示。将原来的工作目录下的.svn文件夹更名为_svn,就可以正常工作了。

为了搞清楚缘由,连到Subversion中文站,查看TortoiseSVN-1.3.2的发行说明,有下面一段:

对Windows下的'_svn'目录的官方支持 (客户端和语言绑定)

"_svn"的使用现在被官方的支持:因为一些版本的ASP.NET不允许点开头的目录(例如".svn",标准的Subversion工作拷贝管理目录),svn命令客户端和svnversion现 在可以使用SVN_ASP_DOT_NET_HACK环境变量,如果设置了这个值,他们会使用"_svn"而不是".svn"。我们推荐所有的 Subversion的Windows客户端利用这个特性,注意如果设置了这个环境变量,使用标准".svn"的工作拷贝将不会工作,需要重新检出 "_svn"的工作拷贝。

第三方的使用Subversion库的软件需要更新来得到等价的API条哟个,见三个新的API: svn_wc_is_adm_dir, svn_wc_get_adm_dirsvn_wc_set_adm_dir,设置SVN_ASP_DOT_NET_HACK环境变量只会在上面提到的客户端程序中工作,而且只有在Windows下。对于库并不工作;库用户需要调用新的API,平台独立的。见这个邮件和它的回复。

由于作者不使用VS开发Web项目,因此还想回到用.svn的状态,故删除SVN_ASP_DOT_NET_HACK环境变量,并重新启动计算机,原来的工作目录可以正常显示了。

还有两点需要说明的是:

  1. 在Windows的资源管理器中,不能将文件夹命名为以点开头的形式,故无法在资源管理器中将_svn重新命名为.svn,要完成该工作,需要转到命令提示符窗口进行;
  2. 从TortoiseSVN 1.1.×版升级到1.2.×或1.3.×时,由于Berkeley DB升级的原因,你无法查看原来的
    Repository,升级原来的Repository的方法可以参见Subversion FAQ
前言 1. 什么是 TortoiseSVN2. TortoiseSVN 的特性 3. 许可协议 4. 开发 4.1. TortoiseSVN 的历史 4.2. 致谢 5. 阅读指南 6. 本文使用的术语 1. 开始 1.1. 安装 TortoiseSVN 1.1.1. 系统要求 1.1.2. 安装 1.2. 基本概念 1.3. 开始试用 1.3.1. 创建版本库 1.3.2. 导入项目 1.3.3. 检出工作副本 1.3.4. 进行修改 1.3.5. 添加更多的文件 1.3.6. 查看项目历史 1.3.7. 撤消更改 1.4. 继续前进 ... 2. 基本版本控制概念 2.1. 版本库 2.2. 版本模型 2.2.1. 文件共享的问题 2.2.2. 锁定-修改-解锁 方案 2.2.3. 复制-修改-合并 方案 2.2.4. Subversion 怎么做? 2.3. Subversion 实战 2.3.1. 工作副本 2.3.2. 版本库的 URL 2.3.3. 修订版本 2.3.4. 工作副本怎样跟踪版本库 2.4. 摘要 3. 版本库 3.1. 创建版本库 3.1.1. 使用命令行工具创建版本库 3.1.2. 使用 TortoiseSVN 创建版本库 3.1.3. 本地访问版本库 3.1.4. 访问网络共享磁盘上的版本库 3.1.5. 版本库布局 3.2. 版本库备份 3.3. 服务器端钩子脚本 3.4. 检出链接 3.5. 访问版本库 4. 日常使用指南 4.1. 基本特性 4.1.1. 图标重载 4.1.2. 右键菜单 4.1.3. 拖放 4.1.4. 常用快捷方式 4.1.5. 认证 4.1.6. 最大化窗口 4.2. 导入数据到版本库 4.2.1. 导入 4.2.2. 导入适当的位置 4.2.3. 专用文件 4.3. 检出工作副本 4.3.1. 检出深度 4.4. 将你的修改提交到版本库 4.4.1. 提交对话框 4.4.2. 修改列表 4.4.3. 从提交列表中排除项目 4.4.4. 提交日志信息 4.4.5. 提交进程 4.5. 用来自别人的修改更新你的工作副本 4.6. 解决冲突 4.6.1. 文件冲突 4.6.2. 属性冲突 4.6.3. 树冲突 4.6.3.1. 本地删除,当更新时有更改进入 4.6.3.2. 本地更改,当更新时有删除进入 4.6.3.3. 本地删除,当更新时有删除进入 4.6.3.4. 本地缺少,当合并时有更改进入 4.6.3.5. 本地更改,当合并时有删除进入 4.6.3.6. 本地删除,当合并时有删除进入 4.6.3.7. 其它树冲突 4.7. 获得状态信息 4.7.1. 图标重载 4.7.2. 详细状态 4.7.3.Windows 资源管理器中的 TortoiseSVN 列 4.7.4. 本地与远程状态 4.7.5. 查看差别 4.8. 修改列表 4.9. 版本日志对话框 4.9.1. 调用版本日志对话框 4.9.2. 版本日志动作 4.9.3. 获得更多信息 4.9.4. 获取更多的日志信息 4.9.5. 当前工作副本的版本 4.9.6. 合并跟踪特性 4.9.7. 修改日志消息和作者 4.9.8. 过滤日志信息 4.9.9. 统计信息 4.9.9.1. 统计页 4.9.9.2. 作者提交次数统计页 4.9.9.3. 按日期提交统计页 4.9.10. 离线方式 4.9.11. 刷新视图 4.10. 查看差异 4.10.1. 文件差异 4.10.2. 行结束符和空白选项 4.10.3. 比较文件夹 4.10.4. 使用 TortoiseIDiff 进行比较的图像 4.10.5. Diffing Office Documents 4.10.6. 其他的比较/合并工具 4.11. 添加新文件和目录 4.12. 复制/移动/重命名文件和文件夹 4.13. 忽略文件和目录 4.13.1. 忽略列表中的模式匹配 4.14. 删除、移动和改名 4.14.1. 正在删除文件/文件夹 4.14.2. 移动文件和文件夹 4.14.3. 处理文件名称大小写冲突 4.14.4. 修复文件改名 4.14.5. 删除未版本控制的文件 4.15. 撤消更改 4.16. 清理 4.17. 项目设置 4.17.1. Subversion 属性 4.17.1.1. svn:keywords 4.17.1.2. 增加和编辑属性 4.17.1.3. 导出和导入属性 4.17.1.4. 二进制属性 4.17.1.5. 自动属性设置 4.17.2. TortoiseSVN 项目属性 4.17.3. 属性编辑器 4.17.3.1. 外部条目 4.17.3.2. SVN 关键字 4.17.3.3. EOL 样式 4.1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值