barriers / 阅读 / 详情

tortoiseSVN的使用,如何删除服务器上某些版本?

2023-07-14 14:30:54
共2条回复
gitcloud

仅用tsvn的话是不能删除的,只能回滚(复原)到50版本,然后在此版本基础上继续后面的工作

具体操作:

1、在受SVN控制的某层文件夹或文件上点右键,选择“TortoiseSVN-显示日志”

2、在弹出的日志窗口中,右键点击要复原的版本,选择“复原到此版本”

3、复原结束后,执行“提交”操作,将此版本作为版本库的最新版本

比如你从50版复原,复原后产生的101版实际和50版是一样的,再往后的工作就和正常一样进行了

如果要彻底从库中删除51-100版,那就很麻烦了,得把服务停掉,然后用svn的过滤工具来处理,非常的麻烦

wio

1、进入需要退回的文件目录,在文件目录下点击鼠标右键,选择TortoiseSVN--更新至版本。

tortoisesvn

2、查看更新的版本号。如果不知道回退到版本号是多少,可以点击显示日志,通过更新的日志就可以看到已经更新的版本号。

tortoisesvn

3、查看对应的版本号。进入版本号查看日志,就能看到具体到日期,提交记录以及与之对应的版本号信息。

tortoisesvn

4、点击更新到版本号。输入需要更新到的版本号,然后点击确定,svn就开始讲本地的svn文件更新到指定的版本号。

tortoisesvn

5、开始更新。svn就开始对中间变化改动的文件进行回退。删除新增的文件,更改变化的文件。

tortoisesvn

6、重新更新至最新版本。可以在需要更新的文件目录上点击右键,选择更新就可以重新更新svn。

tortoisesvn

相关推荐

TortoiseSVN覆盖图标相关问题与解决方法

  在使用TortoiseSVN这个免费开源客户端的的过程中,用户常常会遇到很多使用问题,比如说,不少TortoiseSVN用户都会咨询与TortoiseSVN覆盖图标相关的问题,比如说:为什么没有覆盖图标,为什么图标只在本地磁盘上显示等,那么,跟随我一起了解一下吧。   TortoiseSVN覆盖图标相关问题与解决方法:   为什么没有覆盖图标?   你是否在安装之后重启电脑?你竟然现在都还没重启。TortoiseSVN是windows资源管理器的Shell扩展,他将会和资源管理器一起启动。   去TSVN的设置界面然后至少要激活图标覆盖的修改驱动功能,安装程序会自动为当前用户激活图标覆盖功能(不会自动为其他用户激活u2026u2026)但是由于你不是通过安装用户来使用TSVN,所以你需要手工激活图标覆盖功能。   不是所有的图标都被覆盖!   你或许会发现在你的系统上不是所有的图标都被使用,这是因为Windows只允许最多15个图标被覆盖。Windows使用了其中4个,剩下的11则被其他的应用程序所使用。如果你同事在使用TortoiseCVS,那么就不会有足够的位置,那么TortoiseSVN设法做一个“好公民(TM)”?限制了图标的使用把更多的机会留给其他的应用。   一般来说,修改和冲突总是被加载和可看见的。   如果可能,删除会被加载,但如果没有足够的位置会使用修改状态。   如果可能,只读会被加载,但如果没有足够的位置会使用一般状态。   只有少于加载13个图标覆盖,锁定才会被加载。否则会使用一般状态。   只有少于加载14个图标覆盖,添加才会被加载。否则会使用修改状态   为什么图标只在本地磁盘上显示,而不能在网络磁盘上显示?   GototheSettings-》LookandFeel-》IconOverlays为你想看到的覆盖图标检查驱动器类型。要注意到,使用图标覆盖会使整个系统都慢下来,不仅仅是TortoiseSVN。   为什么图标覆盖会在SUBSTed驱动器上被弄乱?   如果你的工作拷贝在SUBST驱动器上,图标可能会被弄乱。   出现这个错误是因为缓存会设法在同一时间在两个不同位置读取状态。但是这些位置事实上却是相同的,所以在同一时间的相同工作拷贝读取了两个状态。   有一个简单的办法解决这一问题:只需要在显示覆盖图标的位置排除掉原始目录(settings-》iconoverlays-》excludepaths)。   比如说,如果你映射stationfolderwc到g:,将位置“stationfolderwc*”加入到排除模式中。   为什么图标覆盖显示错误状态?   有些时候你发现图标覆盖并不能反映文件或者文件夹的正确状态。通常,敲F5就可以使图标回到正确的状态(你可能需要等上几秒,直到缓存重新找到正确的状态)。   资源管理器左边的树状图完全是另外一回事。它不会更新图标,不管你敲多少次F5。这是因为资源管理器并不能让TortoiseSVN访问。   一个简单的说明:树状图的显示始终来自于整个资源管理器,包括网路驱动器和其他的命名空间的扩展,由于这些会非常缓慢(比如一个慢的网络驱动器),资源管理器不能一直请求图标覆盖更新图标,即使你告诉资源管理器文件夹已经修改,应该依照图标覆盖来更新图标,它仍然不会工作。首先检查文件夹是否真的已经修改,如果资源管理器认为文件夹真的已经修改,才会更新这些图标。   现在,由于文件夹的Subversion状态和它自身状态没有关系,文件夹自身并没有被真正的修改(修改的是一些在.svn文件夹里的文件),因此资源管理器并不能更新图标。   这里有一些让资源管理器甚至是资源管理器左侧的文件树刷新图标的小技巧和应急方案,但这些技巧和应急方案显然不能实施可可都工作。   一个通常使用的小技巧,但是它很慢,TortoiseSVN也不能立刻使用,它将使得整个系统缓慢许多。但是你可以通过工作拷贝管理员账号使用u2018cleanupu2019命令手动激活。当清除命令执行完成以后,你不得不等待几秒让目录树更新这些图标。   为什么图标覆盖有时会变成一个随机图案?   Windows图标缓存有很多bug。可以使用下面的方法解决这个问题:   安装Microsoft的TweakUI通过选项来重新创建图标。   或者增加图标缓存。到HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionExplorer增加一个新的字符串MaxCachedIcons。他的默认值为500-尝试增加到2048(见微软知识库的Q132668)。   或者在Windows目录下删除ShellIconCache文件,然后重启计算机。   TortoiseSVN1.3.0以后的版本,你可以在命令行调用TortoiseProc重建图标缓存,TortoiseProc.exe/command:rebuildiconcache
2023-07-14 06:20:361

TortoiseSVN安装与升级的八个常见问题与解决方法

  在升级TortoiseSVN之前, 是否需要卸载已安装的版本,比如说:安装TortoiseSVN是否需要管理员权限等,下面就一起来看看安装与升级TortoiseSVN的具体内容。   TortoiseSVN   TortoiseSVN安装与升级的八个常见问题与解决方法:   1、在升级TortoiseSVN之前, 是否需要卸载已安装的版本?   不,你只需要用新的版本覆盖旧的版本即可,安装程序会自动卸载旧的版本。 但是,你必须在安装完成以后重启计算机!或者注销以后重新登录操作系统。   2、安装TortoiseSVN是否需要管理员权限?   是,你不得不使用管理员账号去安装 TortoiseSVN,或者你具有管理员的安装权限。   但当TortoiseSVN安装完成以后,就不再需要管理员权限了。   3、在使用TortoiseSVN之前,是否需要安装Subversion?   不,TortoiseSVN 具有所有访问版本库的能力。仅当你需要创建版本库的时候才需要安装Subversion。   4、怎样卸载 TortoiseSVN?   在控制面板中的添加或 删除 程序里选择删除即可。这个操作完全不会影响到你的版本库或者工作拷贝。   5、 我的电脑 上关闭了 MSI 安装模式。 是否存在 .exe 安装 文件 ?   exe的安装文件对此也无能为力。如果你的机器已经禁止了msi安装,那么你也应该是没有管理员权限,这是安装TortoiseSVN的必要条件(安装的shell扩展需要管理员权限)。你首先要做的就是确保msi安装是否已经被关闭 - 这只能是你的域管理员屏蔽了这个能力。   6、为什么使用 MSI 代替其他安装方式?   我们使用 MSI 代替其他安装方式有如下一些原因:   它是开放的。所有人都可以通过 MSI 工具(比如Orca)看到我们做了些什么。   可以根据你的需求非常简单的调整已经存在MSI文件,有很多工具可以让你手工 修改 MSI文件,但你不能对exe安装文件做同样的事。   它需要系统管理员权限才能运行,并不仅是系统管理员账号。这是非常重要的,因为TortoiseSVN是一个shell扩展,它需要我们去创建或者修改 注册表 的键值, 普通 用户并没有权限做到这一点(特别是在打开UAC的Vista上)。   可以非常简单的通过GPO分发MSI给同一个域上的不同用户或主机。所有的其他安装方式都需要系统管理员先进行u2018打包u2019操作,而MSI自己已经做好了这一切。   MSI 是一个安装 Windows 应用程序的标准和推荐的方法。它现在更是从Microsoft取得 “Vista认证”。   WiX 是一个非常强大的创建MSI文件的开源软件工具,这也是我们正在使用的。   MSI 非常小心的处理安装模块的引用计数以避免所谓的 dll hell 。   我们不得不通过安装包注册包括shell扩展的TortoiseSVN。一个简单的exe文件根本不可能做到这一点。   7、安装终止的错误信息   有许多原因可能导致安装不成功:   “This installation package is not supported by this processor type. Contact your product vendor.” 这是说你试图将64位的TortoiseSVN安装到32位的操作系统上。你需要下载和使用正确的MSI文件。对于32位的操作系统,请确定MSI文件名里没有x64。   “The installer was interrupted beforeTortoiseSVNcould be installed. You need to restart the installer to try again”然后用户在 MSI 文件的位置就丢掉正确的读和运行的权限。也不能把 MSI 文件移动到其他的地方或者给用户SYSTEM 读和运行的权限   “The Windows installer service could not be accessed” 这个可能在你运行 Windows 安全模式的时候出现,或者说 Windows installer 没有被正确的安装。对于这种类型的错误信息,请核实 Microsoft Knowledgebase 的文章 Q315346 (基本上确定 MSI 文件夹没有加密或者被压缩即可)   “The system can not open the device of file specified”, 紧接着通常是 “The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2755”。 出现这种错误信息需要:   安装程序没有权限访问临时文件夹,或者系统设定的临时文件夹没有清理,或者说没有足够的 空间 来完成安装。   安装程序映射网络 驱动 器的时候溢出 终端 服务器   安装程序没有对 Windows 环境变量设置的安装目录创建和写的权限。   要解决这个问题,清空临时文件夹,将 MSI 文件移动到有完整权限的系统 硬盘 上。下面的这些文档可能会有些帮助:   220780 OFF2000: Setup Error 2755 with Earlier Office Version Installed   217714 OFF2000: Setup Appears to Stop Responding, Followed by Internal Error 2336 or 2755   254841 OFF2000: Internal Error 2755, When You Try to Install from a Remote Windows Terminal Server Client   305640 PRJ2000: Internal Error 2381 or Internal Error 2755 When You Install Microsoft Project   “This installation package cannot be installed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service. 你至少需要的版本3的msi安装程序。   8、安装完成后,TortoiseSVN不能显示,没有可以使用的菜单   如果你使用64位的 XP 或者 Vista,请确定你已经安装了x64版本的 TortoiseSVN。因为这些操作系统上的 资源管理器 是64位的应用程序,它不能加载32位的TortoiseSVN.   虽然你可以在这些64位操作系统上安装32位的 TortoiseSVN,但是它将显示32位应用的 file-open/save 会话。
2023-07-14 06:20:431

tortoiseSVN的使用,如何删除服务器上某些版本?

1、进入需要退回的文件目录,在文件目录下点击鼠标右键,选择TortoiseSVN--更新至版本。2、查看更新的版本号。如果不知道回退到版本号是多少,可以点击显示日志,通过更新的日志就可以看到已经更新的版本号。3、查看对应的版本号。进入版本号查看日志,就能看到具体到日期,提交记录以及与之对应的版本号信息。4、点击更新到版本号。输入需要更新到的版本号,然后点击确定,svn就开始讲本地的svn文件更新到指定的版本号。5、开始更新。svn就开始对中间变化改动的文件进行回退。删除新增的文件,更改变化的文件。6、重新更新至最新版本。可以在需要更新的文件目录上点击右键,选择更新就可以重新更新svn。
2023-07-14 06:20:511

TortoiseSVN常见的16个使用问题与解决方法

  TortoiseSVN常见的16个使用问题:   1、鼠标右键点击 文件 时CPU占用100%   每次右键点击文件,CPU飙升到100%(同时右键菜单被显示。)如果从菜单中选择某项,则CPU又恢复正常;如果在空白处点击右键,CPU将不会有问题,到底是怎么回事?   XP包含了一个已知的bug,当你在特定的配置文件下访问上下文菜单会引起cpu占用上升到100%。这个bug会使文件复制暂停,使网络连接缓慢,流媒体(声音,视频)扭曲。 为了工作在包含这个 bug 的环境下,你需要通过以下操作禁止图形界面的传输效果:   控制面板-》显示   选择外表栏   点击效果,然后清空“为菜单和工具提示使用以下过渡效果”栏   点击确定关闭所有的对话框。   另一种解决方法是在点击右键显示上下文菜单前点击一次左键。   2、是否可以创建一个本地的版本库到网络文件夹?   不能创建 Berkeley DB 版本库到共享的网络 地址 !   BDB 版本库 不能 存在于远程文件系统,比如NFS,AFS,或者Windows SMB。 BDB要求文件系统运行在严格的POSIX语义环境,更重要的是,将文件直接映射到进程 内存 的能力。很多没有网络的文件系统都提供了这个功能。 如果你尝试在网络共享中使用BDB,结局是不可预知的。你可能会立刻看到诡异的错误,或者在几个月以后,你发现版本库隐约被毁坏。   你可以使用 FSFS 格式 的版本库但只有一个用户可以访问本地 硬盘 ,接下来的FAQ项目会讲到为什么共享版本库是一个坏想法。 除非你真的有迫切的原因让你的文件放到网络共享,通常来说,最好的办法就是避免这样做。   如果你真的需要通过网络共享访问FSFS版本库,你应该按照下面的其中一点来做:   用下面的语法规则来映射网络 驱动 器:   将//server/shared映射到S:   file:///S:/repos (盘符前有三个斜杠)   通过下面的格式指定一个UNC直接路径:   Subversion 》= 1.2   file://server/shared/repos (2个斜杠)   Subversion 《 1.2 (奇怪的语法,我们知道)   file://///server/shared/repos (5个斜杠)   file:///server/shared/repos (3个斜杠+反斜杠)   但是不要说我们没有提醒过你u2026u2026   3、是否可以将版本库保存在网络共享驱动器来代替创建服务器?   如果你需要多个电脑访问版本库,在理论上你可以创建 FSFS 版本库(但不能是 BDB 版本库)在网络共享驱动器上,通过已下格式访问 file:// protocol。事实上这里有三个不推荐的原因:   你将给所有用户直接访问权限,所以他们会有可能偶然的 删除 或者破换版本库文件系统。   并不是所有的网络共享协议都支持Subversion要求的锁定。总有一天你会发现你的版本库被悄悄的破坏。   你不得不设置正确的访问权限,SAMBA 在这一点上特别难以满足。   更好的办法是创建一个真正的服务器进程(像Apache,svnserve),存储版本库到当地的文件系统上,使版本库服务器可以在网络上有效,可以被访问。这也许会比你想的要简单。Subversion书中 第6章 服务器配置 有详细的方法说明。   4、是否可以使用不同的Subversion客户端来操作同一个工作拷贝?   可以,客户端只是用来控制你的工作拷贝,以及工作拷贝与版本库之间的交互。工作拷贝里的元数据对于不同的客户端来说都是一样的。   但是,必须是使用同一版本Subversion库的客户端。TortoiseSVN 所使用的Subversion版本会在安装文件的文件名里标明,其它的客户端也会有类似说明。版本号的头两位数一致的客户端才能通用。例如,所有使用Subversion1.5.x 的客户端都可通用(u2018xu2019表示此位数字不影响兼容性)   你还必须确保这些客户端都是为同一个操作系统编译的。客户端兼容的前提是必须是同一种操作系统,并且元数据的表示方式可能发生变化。你不可以 对同一个工作拷贝同时使用Windows的原生客户端和Cygwin的客户端。如果是通过网络共享的工作拷贝,你不可以 同时使用Windows的客户端和Linux的客户端。   5、TortoiseSVN能实时自动转换文本文件中的换行符吗?   请到查看Subversion书中关于svn:eol-style属性的内容。 比如说,如果你将此属性设置为u2018nativeu2019,在 Linux 下它就会以LF作为换行符, Windows 下则是 CRLF。想了解如何通过TortoiseSVN设置这些属性,请到 这里 阅读我们的文档。   6、如果冲突是在一个文件夹的属性里,怎样找到它呢?   在属性有冲突的文件夹里,有一个dir_conflicts.prej文件,用文本 编辑器 打开它,你会看到有冲突的属性,用你想保留的属性覆盖有冲突的。   7、我误删了一个文件,怎么找回来?   如果你还没提交,你可以在被删除的文件/文件夹的父文件夹作 还原 操作。   如果你已经提交了删除文件,你可以使用版本库浏览器,回到那文件还存在时的版本,然后在上下文菜单中使用 拷贝到u2026u2026 命令,输入你工作拷贝的路径作为目标路径,被删除的文件就会从版本库复制到你的的工作拷贝。   用这个方法也可以恢复被删除的目录。   如果用这个方法恢复文件/目录后,日志对话框无法显示它的修改历史,别担心,历史信息还在的。在 SVN 中复制一个文件时,它的历史信息会同时被复制。但TortoiseSVN的查看日志功能默认是“Stop on copy”,即当你查看的日志是由分支点开始的。之所以这么做是因为当查看一个真正的分支时,你多数只是想知道那个分支的历史信息。如果要看完整的历史信息,你可以不选 u2018Stop on copyu2019,而把u2018Get Allu2019选上。   8、为什么我右击一个链接的时候有几个TortoiseSVN菜单?   这是正常的,其中一个是针对链接本身(.lnk-file 文件),另外一个针对它指向的文件。这样既可以对一个链接文件进行版本控制,又可以对它指向的目标进行控制。事实上在文件菜单里你会有多达三个菜单(上下文菜单只显示二个)。   9、能不能像 Visual Source Safe 一样使用u2018共享文件u2019?   Subversion中不能共享一个文件,但可以共享一个文件夹。请查看 Subversion Book中外部定义一章。   10、没有服务器,可以单独使用 TortoiseSVN 吗?   可以,你可以用file://协议来访问你的本地版本库。   11、使用TortoiseProc时可以发送用户名和 密码 吗?   TortoiseSVN 是一个 图形化客户端,它会在需要的时候提示你输入用户名和密码。如果你想以非交互方式访问版本库,可以使用命令行客户端。   12、版本分支图是怎么一回事?   版本分支图跟TortoiseSVN的其它功能不一样。它可以显示一个文件或文件夹的所有历史修订,包括拷贝、移动、分支和加标记操作。   我们经常会被问到“为什么要把版本库根目录的日志也拿下来”,或者是“为什么会需要取由第一次修订到最新一次修订的全部日志呢”   我得澄清一点:这可不是因为我们太懒,或是笨到不会优化——尽管你们有些人似乎就是这么暗示的。我们这么做其实是有必要的。   版本分支图是通过查找针对某个对象的所有修订,来呈现它的历史的,这需要用到所有的可用信息。   如果查看选定文件/文件夹的日志,在日志对话框的下半部分你可以看到选中的修订影响到的所有路径,这就是在版本分支图用到的信息。如果查看/trunk的日志,你会发现里面没有记录加标记或分支的日志,就算是对/trunk本身加标记、作分支也不会有。 --》 这就是取版本库根目录日志的用意:只有版本库根目录日志才包含这些所需信息,包括一个目录何时曾被复制、分支、打标记或移动到何处。   沿用前面的例子,如果我们不取所有修订的日志,而只取一部分的,那就有可能丢失/trunk作分支、打标记的日志。而且即使那些分支、标记本身做过修改,或者那些日志也在取下的部分里,版本分支图也无法知道那些分支、标记操作是在/trunk还是别的路径发生的。这意味着,版本分支图不单是不完整的,还有可能是错的。   因此我们不会去做所谓的“优化”,如果这个图一时正确一时错误,而且你还无从判断它是否正确、什么时候正确,这比完全没用的东西更糟糕。   13、通过 svn+ssh 提交时,为什么日志里没有u2018作者u2019信息?
2023-07-14 06:21:351

TortoiseSVN中SVN update、SVN commit、add的区别是什么?

update是从SVN服务器上把最新版本下载到本地来;commit是将本地做过的改动(修改、新增、删除、改名、移动等)上传到SVN服务器;add是将本地新增的文件或文件夹标注为受SVN控制,但还未上传到服服务器,一般后面会跟一个commit操作。你可以看我的百度文库,其中有篇windows环境下SVN使用的PPT,讲的就是tortoisesvn的使用
2023-07-14 06:21:443

怎样安装tortoisesvn

一、客户端TortoiseSVN的安装运行TortoiseSVN程序,点击Next,按提示进行安装。最后点击Finish按钮后会提示重启系统,其实不重启也没有关系。二、客户端TortoiseSVN的使用方法1、 签入源代码到SVN服务器假如我们使用Visual Studio在文件夹StartKit中创建了一个项目,我们要把这个项目的源代码签入到SVN Server上的代码库中里,首先右键点击StartKit文件夹,这时候的右键菜单点击Import,弹出下面的窗体,是服务器名,svn是代码仓库的根目录,StartKit是我们在上个教程中添加的一个代码库。2、签出源代码到本机3、提交修改过的文件到SVN服务器 修改位于Model文件中的二个文件ImageInfo.cs和NewsInfo.cs ,点击OK按钮后,弹出如下图的窗体:4、添加新文件到SVN服务器在Model文件下添加一个新的类文件UserInfo.cs,在Model文件下的空白处点击右键,点击SVN Commit…,和上面讲的提交修改过的文件到SVN服务器一样,就可以了。另外也可以在文件UserInfo.cs上点击右键,点击TortoiseSVN=>>Add选中UserInfo.cs文件,点击OK按钮,这样并没有将这个文件提交到SVN服务器,只是将这个文件标记为源代码库库中的文件,并将其状态置为修改状态。之后,我们要再SVN Commit这个文件一次,才可以将其真正提交到SVN服务器上的代码库中。 上面讲是添加文件,实际上,添加文件夹的步骤也是一样的,这里就不说了。5、更新本机代码与SVN服务器上最新的版本一致这个也很简单,只要在需要更新的文件夹上点击右键或在该文件下的空白处点击右键,点击SVN Update,就可以了。注意:更新操作可能会因为版本冲突而失败,这是可以使用合并【Merge】或其他方法解决;也可能因为锁定【Get Lock】而失败,这是需要先解锁【Release Lock】。6、重命名文件或文件夹,并将修改提交到SVN服务器只要在需要重命名的文件或文件夹上点击右键,点击TortiseSVN=>>Rename…,在弹出的窗体中输入新名称,点击OK按钮,就可以了。此方法也不是直接重命名,而是将该文件或文件夹的名称标记为重命名后名称,也需要我们使用SVN Commit提交到SVN服务器后才真正重命名。7、删除文件或文件夹,并将修改提交到SVN服务器最简单就是,你直接删除文件或文件夹,然后使用SVN Commit提交更新到SVN服务器。另外一种方法是在你要删除的文件或文件夹上点击右键=>>TortoiseSVN=>>Delete删除,此方法也不是直接删除,而是将该文件或文件夹的状态置为删除,也需要我们使用SVN Commit提交到SVN服务器后才真正删除。说明:实际上,从你把源代码迁签入SVN服务器开始,每一个版本的数据和文件,就算是你已经删除了的,也都可以随时迁出。
2023-07-14 06:22:101

TortoiseSVN常见的错误信息与解决方法

  1、无法复制/移动u2018XXX.svn-baseu2018到u2019XXX.tmpu2018:系统找不到指定文件。   这个错误信息通常在你更新工作拷贝时出现,可能的原因有两个:   版本库中有两个文件的名字只是大小写不同,这在Windows下是不允许签出的,因为Windows的文件系统是大小写不敏感的。很可能其中一个文件是误添加的,所以你要找出是哪一个,然后删除它,以确保不会把更改提交到错误的文件。   某个文件的文件名是非法的(对Windows来说非法),比如,“con”,“lpr”,“com”都是非法的,因为这些都是设备名。当然,含有“/*?:|”和其它特殊字符在Windows(NTFS和FAT)也是不允许的。   是,我们知道这个错误信息对解决问题没什么实质性的帮助,但这个错误信息是来自Subversion库的,我们改不了。   有几个办法可以避免这个问题,请看这里。   2、无法打开文件u2019XXXnnn-n.txnchangesu2018:无法访问,文件正被其它程序使用。   通常报告这个错误的人都说这个问题是随机发生的,并且通常会在一次大的提交中发生。重新提交可能成功,也可能在别的地方出错。   最有可能的原因是,有一个病毒扫描程序正在非正常地占用这个文件。你可以试着禁用病毒扫描,或者让它忽略你的版本库文件。   类似的错误也可能发生在你的工作拷贝,试试让它忽略.svn文件夹。   3、添加u2018XXXu2019失败:同名对象已存在。   这个错误通常是在你更新工作拷贝时发生。之所以抛出这个错误是因为Subversion绝对不会擅自删除或者覆盖你已有的本地文件。有三个可能原因会导致这个错误:   你有一个未纳入版本控制的本地文件,名字跟其他人已添加的文件一样。这种情况下你可以先移走或者重命名你的本地文件再更新。之后你可以决定是需要合并还是把你的文件改个名字。   版本库中的一个文件被重命名了,但只是大小写不一样,如Install.txt改为install.txt,而你在本地作了修改。当你更新时就会遇到第一种情况,你修改过的本地文件被视为未纳入版本控制。将它移到其它地方,再更新,问题解决。   版本库中有两个文件的名字只是大小写不同,这在Windows下是不允许签出的,因为Windows的文件系统是大小写不敏感的。很可能其中一个文件是误添加的,所以你要找出是哪一个,然后删除它,以确保不会把更改提交到错误的文件。   4、OPTIONSofu2019《path》u2018:401AuthorizationRequired《url》   升级到1.4.x版之后,你发现无法访问版本库了,每次都出这个错:OPTIONSofu2019pathu2018:401AuthorizationRequiredu2019urlu2018。   这是因为1.4.x版使用了SSPI自动验证,即TortoiseSVN会自动使用登录Windows域控制器的用户信息来作身份验证。   如果你设置你的服务器以SSPI的方式向域控制器作身份验证,而域控制器又没开放GUEST用户的话,不会有问题。但是如果开放了GUEST用户,自然所有以GUEST用户进行的验证都会通过——但是一般来说你是不会授权GUEST访问你的版本库的。这就造成了验证通过了,但授权不成功。   另一个失败的原因是,你设置用来访问版本库的用户跟你用来登录工作站的用户不一致(那我就奇怪了,如果是这样你根本就不应该以SSPI方式来验证呀)。   有几个方法可以解决此问题:   在域控制器中禁用GUEST用户   将登录工作站的用户和访问版本库的用户设为一样   不用SSPI来做版本库验证   检查用户名的大小写,将控制文件中的用户名改为小写对解决问题也可能有帮助   5、客户端版本太旧,不能操作工作拷贝u2018XXXu2019   完整的错误信息是:客户端版本太旧,不能操作工作拷贝u2019。u2018;请下载更高版本的Subversion客户端。   当先使用一个比较高版本的Subversion客户端,然后又用比较低版本的客户端来执行命令,就会发生这个错误。比如你先用了1.4.x版的客户端操作工作拷贝,然后用1.3.x版的操作同一个工作拷贝。   这是因为Subversion1.4和1.5会自动更新工作拷贝的格式,而老版本的客户端不认新的格式。   唯一的解决办法是升级你的客户端,或者用你老版本的客户端重新签出。   6、工作拷贝已过期   这个错误是在提交修改的时候出现的,通常是因为在版本库里,你想要提交的文件已经被其他人修改了。   这时你要先用更新命令更新的的工作拷贝到版本库当前的版本。   你可能会不明白为什么要这么做,尤其是在你确知版本库并没有被修改过的情况下。答案很简单,因为提交的时候,并不会彻底更新你的工作拷贝,而只是那些修改的文件会被自动更新。举个例子,有个新建的版本库:   AddFolderinrevision1   AddFile1andFile2inrevision2   ModifyFile1andcommitinrevision3   现在版本库处于修订版本3,但你的工作拷贝的版本会是这个样子:   Folder:revision1   Folder/File1:revision3   Folder/File2:revision2   这时如果你修改File2然后提交,就会失败。因为客户端告诉版本库File2是在版本2的基础上作修改的,但是版本库已经处于版本3了。如果此时你执行更新命令,就会将File2也变成版本3(当然,你的本地修改还会在的)。   这个错误还可能在你试图创建分支或标记时出现。答案永远都是:如果工作拷贝已经过期,那就更新呗!   7、无法写到标准输出   TortoisePlink使用的是标准的plink代码,但不是针对Windows编译的,因而无法正常发送错误信息。在TSVN的设置-》网络里,将SSH客户端指向标准plink,错误信息就会输出到一个命令行窗口中。设置好之后再像之前一样运行TortoisePlink。   “无法写到标准输出”表示Plink想要抛出一个错误,但是因为TortoisePlink并没有提供一个DOS窗口,所以就没没有标准输出来接收这个错误信息。   知道是设置有问题后,可以先使用普通的plink程序,看到底是什么错误,解决它。   如果普通plink挂住了,那就是参数不对(设置-》网络)。   另一个可能是SSH后台程序找不到svnserve可执行文件。以你将要使用的用户(此处为myuser)登录到服务器,输入“whichsvnserve”,如果没有显示指向可执行文件的路径,就把该文件(以及其它Subversion可执行文件)设为对于该用户可全局访问。   8、400服务器未能理解请求(400BadRequest)   REPORTrequestfailedonu2019。。。u2018REPORTofu2019。。。u2018:400BadRequest(http://。。。)   你的DAV请求被防火墙阻止了,多数防火墙都会这么这么干。你可以让你的管理员更改防火墙的设置,或者以https访问,如https://svn.collab.net/repos/svn/,这样你与版本库之间的通信是经过SSL加密的,防火墙无法阻止(如果它没有封掉SSL端口的话)。   另外,现已确认某些病毒扫描程序(如卡巴斯基)也会导致这个错误。   9、403对被请求页面的访问被禁止(403Forbidden)   PROPFINDrequestfailed:403Forbidden   这有可能因为你试图访问版本库的父目录(而不是版本库本身)。你可以试着在URL尾部指定版本库的名字,还有别忘了名字后面的斜杠u2018/u2019。   有关导致此错误的真正原因,请查看Apache的错误日志。   10、405HTTPMethodNotAllowed   PROPFINDRequestFailed-Error405HTTPMethodNotAllowed   这个错误有几种形式,可能的原因有以下几个:   PROPFINDRequestFailed你试图使用较低版本的TortoiseSVN浏览版本库的父目录。你可以试着在URL尾部指定版本库的名字,或者升级TortoiseSVN到1.2.3版或更高。   PROPFINDRequestFailed你漏了URL末尾的斜杠u2018/u2019,较旧版本的TSVN要求在版本库名字后必须有斜杠,否则它会砍掉版本库名字,等于试图去访问它的父目录。   PROPFINDRequestFailed你可能正尝试通过一个不允许DAV请求的代理访问版本库。通常你用网页浏览器浏览版本库是没问题的,只在使用svn客户端时才出错。你必须配置你的代理服务器或防火墙,以让DAV请求通过,或者使用https来访问,多数代理服务器无法分析加密过的信息包,因而也就无法阻止DAV请求了。   另一个可能是你正在运行病毒扫描程序或防火墙,很多此类软件会在你根本不知道的情况下就阻止了DAV请求,可以试一下禁用它们。   LockRequestFailed你尝试在工作拷贝中锁定一个文件,而这个文件在版本库中已经不存在了。你需要先更新工作拷贝。   有关导致此错误的真正原因,请查看Apache的错误日志。
2023-07-14 06:22:181

怎么用tortoisesvn管理git仓库

TortoiseSVN是windows下其中一个非常优秀的SVN客户端工具。通过使用它,我们可以可视化的管理我们的版本库。不过由于它只是一个客户端,所以它不能对版本库进行权限管理。 TortoiseSVN不是一个独立的窗口程序,而是集成在windows右键菜单中,使用起来比较方便。 TortoiseSVN每个菜单项都表示什么意思 01、SVN Checkout(SVN取出) 点击SVN Checkout,弹出检出提示框,在URL of repository输入框中输入服务器仓库地址,在Checkout directory输入框中输入本地工作拷贝的路径,点击确定,即可检出服务器上的配置库。 02、SVN Update(SVN更新) 如果配置库在本地已有工作拷贝,则取得最新版本只是执行SVN Update即可,点击SVN Update,系统弹出更新提示框,点击确定,则把服务器是最新版本更新下来 03、Import(导入) 选择要提交到服务器的目录,右键选择TortoiseSVN----Import,系统弹出导入提示框,在URL of repository输入框中输入服务器仓库地址,在Import Message输入框中输入导入日志信息,点击确定,则文件导入到服务器仓库中。 04、Add(加入) 如果有多个文件及文件夹要提交到服务器,我们可以先把这些要提交的文件加入到提交列表中,要执行提交操作,一次性把所有文件提交,如图,可以选择要提交的文件,然后点击执行提交(SVN Commit),即可把所有文件一次性提交到服务器上 05、Resolving Conflicts(解决冲突) 有时你从档案库更新文件会有冲突。冲突产生于两人都修改文件的某一部分。解决冲突只能靠人而不是机器。当产生冲突时,你应该打开冲突的文件,查找以<<<<<<<开始的行。冲突部分被标记: <<<<<<< filename your changes ======= code merged from repository >>>>>>> revision Subversion为每个冲突文件产生三个附加文件: filename.ext.mine 更新前的本地文件。 filename.ext.rOLDREV 你作改动的基础版本。 filename.ext.rNEWREV 更新时从档案库得到的最新版本。 使用快捷菜单的编辑冲突Edit Conflict命令来解决冲突。然后从快捷菜单中执行已解决Resolved命令,将改动送交到档案库。请注意,解决命令并不解决冲突,而仅仅是删除 filename.ext.mineandfilename.ext.r*文件并允许你送交。
2023-07-14 06:22:261

怎么安装TortoiseSVN

首先在百度搜索并下载 TortoiseSVN软件分为32位和64位版本,下载时请根据自己的系统位数进行下载;安装过程:1、下载软件后,双击程序进行安装,点击“Next”;2、在许可证协议页面,选择“I Accept the terms in the License Agreement”,点击“Next”;3、在自定义选项页面,可以选择安装目录,也可以直接点击“Next”进行安装;4、点击“Install”开始安装;5、安装完成后,点击“Finsh”;建立库:1、新建文件夹,目录和文件夹名称最好都用英文,不要使用中文;2、打开文件夹,在空白处按下“shift键+鼠标右键”;3、在弹出的菜单中选择“TortoiseSVN - Create repository here”;4、弹出对话框,提示创建成功,并自动在文件夹中创建了目录结构;导入项目:1、打开已有的项目文件夹,在空白处按下“shift键+鼠标右键”;2、在弹出的菜单中选择“TortoiseSVN - Import”;3、选择导入路径,填写备注信息,点击“OK”开始导入;4、导入完成后会弹出提示,可以拖动滚动条查看导入的文件,点击“OK”,完成导入;建立工作目录(检出):1、新建工作目录文件夹,在空白处按下“shift键+鼠标右键”;2、在弹出的菜单中选择“SVN Checkout...”;3、在弹出的对话框中选择库目录、工作目录,点击“OK”开始检出;4、弹出详细信息对话框,导出完成后,点击“OK”;可以看到工作目录中多出了库中的文件,这些文件就是有版本控制的,对这些文件的修改可以保存到库,也可以从库里恢复旧版本的文件。更新工作目录:1、通常在你对工作目录进行修改前,为保证你的文件是最新的,需要进行更新操作;2、在工作目录空白处点击鼠标右键,选择“SVN Update”;3、会弹出对话框开始更新,并显示更新了哪些内容,库版本是多少;提交工作目录:1、在做了修改,需要保存到库中时,用到提交操作;2、在工作目录空白处点击鼠标右键,选择“SVN Commit”;3、会弹出对话框,可以输入备注信息,显示将要提交哪些文件,点击“OK”开始提交;4、弹出对话框显示提交进度,完成后点击“OK”完成提交;
2023-07-14 06:22:331

eclipse 中怎么使用tortoisesvn

Eclipse中SVN安装方式有以下几几种:在线安装,这种方式国内无法正常下载,因为google被屏蔽。离线安装,即下载离线包(附件)然后直接复制到安装目录下的Commonplugins。离线安装,link方式,在Eclipse安装目录下的dropins目录下新建一个文本文件,注意以.link结尾,内容是 path="svn插件解压路径"。然后重启Eclipse或Myeclipse即可在window showView other中选择SVN资源库了。
2023-07-14 06:22:423

tortoisesvn官网

官网就是tortoisesvn后面跟上.net
2023-07-14 06:23:513

tortoisesvn 右键菜单没有

可以重启计算机尝试。如果还是不行,可以重装下SVN试试。如果还是没有,进注册表HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionexplorerShellIconOverlayIdentifiers 把TortoiseSvn的项提前
2023-07-14 06:24:002

怎么设置TortoiseSVN,实现文件夹过滤

1,在您使用SVN版本控制的根目录,右键,选择TortoiseSVN-->Settings2,在弹出的对话框中,选择第一大项(此项是默认选择的),找到右边的Subversion-->Global ignore pattern , 在后面加入需要禁止的文件夹,比如 bin ,就加入 *binobj 就加入 *obj ,注意,多个之间用单个空格(键盘上最长的个按键)分开。3,设置完成之后,新建一个obj.txt , 测试通过,至此,使用 svn 过滤策略成功过滤掉文件夹,同样 过滤文件一样的,前提是需要您对正则表达式有一定的了解。
2023-07-14 06:24:071

怎么在Mac上安装使用TortoiseSVN

Mac上没有TortoiseSVN。要想在Mac上使用SVN: 如果要追求如TortoiseSVN那样的易用性,推荐SnailSVN,该软件可以和Finder集成,基本达到了TortoiseSVN的易用性,在MacAppStore有售。否则,命令行
2023-07-14 06:24:161

VisualSVN-Server Subversion TortoiseSVN 之间的区别、联系有哪些?

VisualSVN-Server( 有免费版,收费版 ) Subversion都是服务器TortoiseSVN 是客户端
2023-07-14 06:24:242

TortoiseSVN 打开出现"系统找不到指定的路径"怎么办

这个文件找不到,是因为目录路径太长,WINDOWS识别不了这么长的目录,首先,这个目录上级目录已经是WINDOWS的临时缓存目录,然后是压缩包的一个缓存目录再套下一个压缩包的缓存目录,目录路径太长,造成WINDOWS根本无法识别,所以提示 系统找不到指定文件将压缩包中的压缩包解压出来,再打开其中的文件,这样就不会提示 错误了改变系统的临时缓存 目录,将临时缓存目录右键 我的电脑-- 高级 -- 环境变量改变 Administrator 的用户变量 中 双击TEMP ,TMP目录路径,把路径改短一点,如图:可以改相同的目录,也可以是不同的目录,但是不要用根目录,用根目录,会造成出现很多的临时缓存文件,很乱。系统环境变量不要轻易修改,切记这样在解压嵌套压缩包的时候,路径就不会变的特别长,错误提示就解决了。5最后一种识别了不了的问题,是 中文目录乱码识别不了,解决的方法可以把安装的目录改为 桌面,或者把中文目录全部变成 简单的拼音桌面 这个 中文目录,识别出来的是 Desktop ,其实也是英语目录
2023-07-14 06:24:311

tortoisesvn 有mac版吗

TortoiseSVN本身没有MAC版,但是有他的兄弟版本smartsvn,可以从TortoiseSVN官网链接过去
2023-07-14 06:24:381

TortoiseSVN 1.6为什么打开弹出提示,然后不能进入界面!

TortoiseSVN不是这么用的,它没有单独的软件界面,和windows操作系统集成了,你随便打开一个文件夹,然后点右键,右键菜单上有TortoiseSVN,是从这里进去操作的另外TortoiseSVN也提供命令行方式,使用的可执行程序是TortoiseProc.exe ,关于命令行模式的参数详细请看帮助文件
2023-07-14 06:24:441

使用tortoisesvn提交更新时,提示某个文件已过时,请更新工作副本

这样如果你和你的同事同时对一个文件做编辑(假设你们此时都是基于版本1做修改),如果你同事向服务器端提交的话,此时的版本为2,这样你提交的时候就会出现错误,因为你基于的版本1已经过期。解决办法有两个,一个是代码的merge功能(rapidsvn支持该功能),还有一种就是采用svn底层的lock机制的(默认不lock),你可以采用该机制来进行版本管理:当有人获取某文件的编辑权限时,服务器端上该文件被lock,这样其他用户都无法获取该文件的编辑权限,只有你释放权限(修改提交或者revert),别人才能获得编辑权限,也就是说你的文件将采取串行修改而非并行修改的方式(rapidsvn有详细的介绍,你可以去查查相关的资料,这个工具是开源的,应该很容易获取) 追问: 我现在没用服务器,就是在自己的单机上进行管理,就我一个人会对代码进行编辑,所以经常会要回到以前的版本,在上面的基础上进行修改,而抛弃最新的版本 回答: 那可能是你用的Tortoisesvn版本有些问题,建议采用rapidsvn吧,也是开源的,经过很多项目验证,0.9.6的版本是ok的,底层都是subversion,还是蛮好用的
2023-07-14 06:24:521

TortoiseSVN卸载后又重新安装时安装不上

这句话的意思是“写TortoiseOverlays.dll这个文件的时候出错了,请验证你有这个目录的权限“,把TortoiseOverlays.dll改名了,试一下,不行的话,删了再安装,应该会成功的。
2023-07-14 06:24:591

TortoiseSVN切换项目地址失败

方法: 根目录上右键->TortoiseSVN->Relocate(重新定位),按照流程操作。 方法: 根目录上右键->TortoiseSVN->选择Switch选项(切换),按照流程操作。完美解决!
2023-07-14 06:25:181

TortoiseSVN client 已经停止工作,该怎么处理

弄了一天,最后重装了系统。重装系统后第一件事就安装了TortoiseSVN,没有再出现那个错误。可能真的是金山毒霸 金山家的东西导致的。我重装系统的时候才发现,我使用的驱动精灵捆绑了金山毒霸,安装很多其他软件的时候,也捆绑了金山家的东西,一不留神就捆绑安装了。这次安装特别留意了金山毒霸,金山词霸,金山浏览器....只要是金山的,全部没装。最后没有出现之前的客户端停止运行。在这里记录下来,希望有人遇到同样的问题,把所有金山的产品统统卸载,还不行就重装纯净版的操作系统。
2023-07-14 06:25:261

我的TortoiseSVN-1.4.4.9706安装完之后鼠标右键菜单没有相关选项,WIN7系统,重装过好几次了。求高人指点。

到开始菜单的TortoiseSVN下面打开Settings,在General-Context menu里面看看,右边列出来的是可以在邮件菜单里面显示的项目,你看看是不是什么都没勾。下面还有一个选项Hide Menus for unversioned paths,最好把这个上面的勾去掉,否则在非svn目录里面是不显示相关右键菜单的。
2023-07-14 06:25:351

怎么为myeclipse安装tortoisesvn

步骤如下:1.找到MyEclipse所在安装目录下的dropins文件夹2.打开dropins文件夹,新建一个svn文件夹3.解压缩下载好的压缩包4.把features和plugins文件夹拷贝到dropins文件夹下的SVN文件夹中5.这样就可以在MyEclipse10中安装好SVN插件了。
2023-07-14 06:25:431

详细使用TortoiseSVN的步骤

TortoiseSVN是一个SVN的客户端,下面是我以前不知道从哪复制的大致使用,希望对你有用:五.客户端的使用 1.Checkout Repository 首先要Checkout服务器端的Repository, 所谓的Checkout就是指获得服务器端指定的Repository存储的所有文件。 这个Checkout和Visual Source Safe的Checkout意义完全不一样, VSS的Checkout指的是锁定某个文件,如果你以前使用过VSS, 在学习Subversion时这个问题一定要注意。 Checkout的具体方式是: 在客户端新建一个空目录,比如:F:Project1 在该目录上单击右键,在弹出式菜单中选中SVN Checkout..., 之后在“URL of Repository”文本框中填入你想要连接的Repository的地址, 这个URL地址可以用浏览方式加入。 对于在本教程第二节建立的Repository, URL应该是“svn://xxx/project1” (xxx可以是服务器端主机名,也可以是服务器端的ip地址)。 然后点OK,会弹出一个认证对话框, 输入在教程第三节设置的用户名和密码。 点OK后就完成了对Repository的Checkout。 比如:在服务器端Repository中有一个a.txt文件, 那么Checkout之后F:Project1目录下也会出现一个a.txt文件。 在本例中由于服务器端的Repository还未添加任何文件, 所以在客户端的F:Project1下没有文件被Checkout。 执行Checkout除了会在F:Project1产生Repository存储的文件及目录外, 还会产生了一个“.svn”的隐含目录,该目录是由subversion管理的, 不要删除或者手工改动其中的文件和目录。 现在F:Project1中的文件和目录就叫做Repository的“Working Copy”简写“WC” (这个简写...汗)。 以后对Repository中文件和目录的修改,添加,删除的操作, 都是通过对这个“Working Copy”的操作实现的。 Checkout执行完后, 会发现F:Project1目录的图标的左下角附着了一个小的状态图标 (当F:Project1目录中的文件改变时,这个状态图标也会随之变化), 它表示F:Project1是一个Repository的“Working Copy”, F:Project1内的所有文件和目录也会有类似的状态图标。 2.添加文件 将要添加的文件或者目录拷贝到F:Project1下, 然后在该文件或目录上单击右键,TortoiseSVN->Add,点OK。 如果添加了不止一个文件或目录, 则鼠标不要在F:Project1中点中任何文件, 然后单击右键,TortoiseSVN->Add, 就可以添加多个文件或目录。 这时文件的状态图标会发生变化。 Add命令只是告诉本地的“Working Copy”将该文件纳入版本管理, 并没有将这个改变提交到服务器端, 如果想要别人也看见你对Repository的修改,你需要 在F:Project1下单击右键,SVN Commit..., 将你所做的修改提交到Repository。 文件的状态图标也会更新。 不管你在“Working Copy”内添加、修改、删除文件后, 要想其他人也看见你的修改, 都必须用Commit命令将所做修改递交到服务器端的Repository。 3.修改文件 用文本编辑器或IDE对文件修改后, 文件的状态图标会变化, 然后单击右键,SVN Commit... 提交修改,只有当执行Commit提交修改后, 你所作的修改才会反映到服务器端的Repository中。 4.删除文件 删除文件时,选中要删除的文件或目录, 单击右键,TortoiseSVN->Delete,提交修改。 注意千万不要用“Delete”键来删除文件,否则将无法提交你的修改。 这一点对目录的删除来说尤为重要。 5.放弃修改 当你添加、修改、删除文件后,决定放弃修改, 你可以单击右键,TortoiseSVN->Revert, 本地的“Working Copy”中的文件和目录会恢复到你修改前的状态。 6.获取Repository的最新版本 当一个团队合作开发项目时, 每一个人都在不断的对Repository进行更新, 你需要不断的更新自己的“Working Copy”, 以获取项目最新的文件。 当第一次获得最新Repository的文件时, 我们用Checkout命令,前面已经介绍了, 以后再获取最新文件时就不用Checkout了。 而改用Update命令。 接着前面的例子,这时F:Project1已经成为一个“Working Copy”了 (通过执行Checkout命令),现在其他人已经对Repository进行了修改, 我想将别人的修改反映到我的“Working Copy”中, 具体的方法是:在F:Project1目录上单击右键, SVN Update。这时F:Project1中的文件就是最新的版本了。 注意,如果当你的“Working Copy”中有被修改的文件, 或者有被删除的文件,并且还未提交这些修改时, 这些文件在执行Update过程中是不会被更新的。 比如你修改了F:Project1下a.txt文件, 还未提交修改,那么, 当你对F:Project1进行Update时, a.txt文件是不会更新为Repository上的a.txt文件的。 所以如果想放弃当前的所有修改, 并将F:Project1下所有文件及目录更新到最新版本, 应该先对F:Project1执行Revert命令再执行Update命令。 7.subversion的版本控制模型 当你用subversion进行版本控制时, Subversion会记录你对Repository进行的每一次修改(包括添加,修改,删除等等), 每修改一次Repository都会产生一个新的Revision(修订版本号), 不同的Revision代表了不同时刻Repository的状态, 因此我们可以用这个Revision回朔任意时刻Repository的状态, 就像时间机器一样,也就是说某一Revision 就是Repository在某一时刻的一个“快照”。 注意:Revision不是针对某一个文件或者目录, 而是针对整个Repository而言的。 每修改一次Repository,Revision 都会增加1。 Subversion的版本控制模型是一种叫做Copy-Modify-Merge (拷贝-修改-合并)的模型。 考虑这种情况: 张三和李四是公司同一个部门的同事, 他们共同维护一个文本文件a.txt, 并且对该文件进行版本控制, 因此他们把这个文件放到一个Repository上共同维护该文件。 周一上午9点,张三和李四同时想对a.txt文件进行修改, 于是他们同时从Repository上取得该文件的最新版本(Revision 10), 然后进行修改。过了三分钟,张三首先完成了修改, 他在该文件的第五行修改了一个单词的拼写(将Typo改为Type), 于是张三对修改后的文件执行Commit命令, 将修改提交到服务器端的Repository中。 这时Repository的Revision变为11。 六分钟过后,李四也完成了他的修改, 他修改了该文件第十行上的一个单词拼写(将He改为She), 于是他也对修改后的文件执行Commit命令, 这时Subversion 在提交修改时会发现, 李四修改的文件是Revision10的a.txt文件, 而不是最新的Revision 11的a.txt文件。 于是,Subversion 提示李四在提交修改前, 应该先将Working Copy更新到最新版本, 李四执行Update命令将Working Copy更新到Revision 11, 这时Subversion会提示已经完成合并, 李四的a.txt文件的第五行的“Typo”已经变为了“Type”, 第十行还是“She”,就是说Subversion已经将张三的修改“合并”到李四的a.txt文件中了。 之后,李四再执行Commit命令,就能将他对第十行的修改(将He改为She) 提交到服务器端的Repository中了(生成Revision 12)。 但是这种合并在某些情况下会变得复杂一些, 比如:李四对a.txt文件的修改并不是第十行, 而是与张三同样修改第五行的单词, 李四将“Typo”改为“Typr”,并且提交修改, 这时Subversion会提示李四在提交修改前, 应该先将Working Copy更新到最新版本, 李四执行Update命令将Working Copy更新到Revision 11, 这时Subversion将Revision11的a.txt文件与 李四修改的a.txt文件进行合并时发现李四修改的同样是第五行, 于是Subversion就无法判断是李四的修改(“Tpyr”) 正确还是张三的修改(“Type”)正确, 因为他们都是在Revision10的a.txt基础上作的修改。 这种情况叫做Conflict(冲突), a.txt文件的图标会变成一个黄色三角。 这时,只能依靠李四自己去判断到底第三行应该修改为“Typr”还是“Type”。 当李四确定修改之后,在a.txt文件上单击右键,TortoiseSVN->Resolved 告诉Subversion已经解决了Conflict。 这时再执行Commit命令就能提交修改(生成Revision 12)。 Subversion 这种控制方式保证了你对文件所作的修改都是基于文件的最新版本。 8.“.svn”目录 在客户端Working Copy的每一层目录中都会有一个“.svn”目录, 该目录是Subversion进行管理用的目录。 不要手动修改其中的文件。 该目录存储了Working Copy的一个副本 (实际存储副本的地方是F:project1.svn ext-base目录), 比如:F:Project1是一个Working Copy, 该目录下有两个文件a.txt和b.txt还有一个子目录ccc, 子目录ccc中还有一个d.txt文件。 “.svn”目录中存储的是你最近一次执行完Update或者Commit命令之后当前目录中文件的副本, 比如:F:project1.svn ext-base中存储的a.txt和b.txt 是最近一次执行完Update或者Commit命令之后F:project1下的a.txt和b.txt的拷贝。 也就是说你所作的修改都是基于“.svn”目录存储的那些文件。 这种机制可以让我们在不连接网络的情况下, 将Working Copy中的文件恢复到修改之前的状态。 Subversion的Revert命令就是利用了这种机制来实现的。 比如你修改了F:project1a.txt文件, 这时你又改变了主意想放弃对该文件的修改, 你可以单击右键,TortoiseSVN->Revert, 修改过的F:project1a.txt文件 就会被F:project1.svn ext-base中a.txt文件的副本所替代, 使得a.txt恢复到修改前的状态。 Working Copy中每一个子目录下都会有一个“.svn”目录, 并不是只有最上层目录才有“.svn”目录。 所以,F:project1ccc下也有一个“.svn”目录, 该目录存储的是F:project1cccd.txt的副本 (d.txt的副本位于F:project1ccc.svn ext-base)。 也就是说每个“.svn”目录只存储同级目录中的“文件”副本, 而不存储“目录”副本。“.svn”目录存有许多重要的内容, 所以前面说在删除文件或目录时, 必须用TortoiseSVN->Delete, 而不能用“Delete”键来删除文件或目录,尤其是对于目录的删除。 9.混合版本 Subversion的Working Copy被设计成一种能够包含不同版本的文件共存的形式。 比如F:Project1是一个Working Copy, 该目录下有两个文件a.txt和b.txt。 执行Update命令,将Working Copy更新到最新版本(Revision 24)。 这时,a.txt和b.txt的Revision都是24 (其实对于单个文件来说并不存在Revision, Revision是对于整个Repository而言的, 这里所指的是Repository的Revision24所存储的a.txt和b.txt, 但为了方便而采用这种描述方式,请注意,下同)。 之后,你的同事修改了a.txt,并且提交了修改, 这时Repository的Revision就变成25了。 注意,这时你没有再次执行Update, 因此你的Working Copy的Revision还是24。 这时你修改了b.txt文件,并提交修改。 因为Revision25并没有对b.txt文件进行修改, 因此你对b.txt文件的修改是基于b.txt文件最新的版本, 所以不会出现Conflict。 当你提交b.txt的修改后,产生Revision26。 这时你会发现你的Working Copy中的a.txt文件并不是Revision25中的a.txt文件, 它还是Revision24的a.txt文件,而你的b.txt文件是Revision26的b.txt文件。 也就是说当你Commit时,你的Working Copy中只有你提交的那些文件是最新版本, 而其他没有修改的文件并不会更新为最新版本。 这样就造成了你的Working Copy由不同的Revision文件所组成 (Revision24的a.txt文件和Revision26的b.txt文件)。 前面说过在提交修改前必须保证你是在文件的最新版本基础上修改, 如果在这种混合版本的情况下, 怎样才能知道当前Working Copy中的文件是否为最新版本? 在前面所说的“.svn”目录中有一个文件名为“entries”的文件, 该文件记录了当前Working Copy中的每一个文件的Revision, 因此当你Commit时,Subversion会从该文件中取得你提交文件的Revision, 再与Repository的最新Revision一比较就可以知道你修改的文件是否基于该文件的最新版本。 10.文件的锁定 前面说过Subversion的版本控制模型是一种叫做Copy-Modify-Merge (拷贝-修改-合并)的模型。 该模型在对文本文件进行版本控制时工作的很好, 但是有些需要进行版本控制的文件并不是文本文件, 比如说图像文件,这种模型在这种情况下就不能正常工作了, 因为文本文件可以合并,而二进制文件则无法合并。 所以Subversion从1.2开始支持一种叫Lock-Modify-Unlock (锁定-修改-解锁)的版本控制模型。 在Windows下最常用的版本控制软件Visual Source Safe(VSS)就是采用这种模型。 这种模型要求在对一个文件修改前首先要锁定这个文件, 然后才能修改,这时,别人将无法对该文件进行修改, 当修改完后再释放锁,使其他人可以对该文件进行锁定,然后修改。 锁定文件的方法是:TortoiseSVN->Get Lock...再点OK按钮, 这时就完成了对文件的锁定。 这时,如果其他人想对文件进行锁定时, Subversion会对他提示该文件已经被别人锁定。 当你修改完文件后,然后单击右键,SVN Commit..., 将修改提交,默认情况下,提交的时候就会对该文件解锁, 如果你想仍然锁定该文件,请在commit时弹出的对话框中选中keep lock复选框。 11.文件的附加属性 在Subversion中,每个文件可以拥有一种叫做附加属性的东西。 附加属性描述了该文件所拥有的一些特性。 Subversion已经预定义了一些附加属性 (这里只是指Subversion已经定义了一些附加属性的“名称”, 并不是指已经将这些属性附加在文件上了, 比如默认情况下文本文件一开始不含任何属性, 直到人为的对该文件添加附加属性), 并且你可以对文件添加自定义的属性。 Subversion对待附加属性就像对待文件内容一样, 当修改了一个文件的附加属性(添加,改变,删除附加属性), 即使没有对文件的内容进行修改, 同样可以Commit该文件,就像更改了文件内容那样, Repository也会生成新的Revision, 所以从某种意义上来说, Subversion不区别对待文件的附加属性的修改和文件的内容的修改, 文件的附加属性可以看成是一种特殊的文件内容。 Subversion预定义了若干个附加属性, 这里只讨论“svn:needs-lock”属性, 因为它与我们上面的文件锁定会产生的一个问题有关。 其他的属性可以参考Subversion自带的帮助文档。 考虑这种情况, 张三和李四同时想对一个图片文件a.jpg作修改, 张三在修改时先将该文件锁定,然后进行修改, 同时李四也开始对该文件进行修改, 但李四忘记了对非文本文件进行修改时应该先锁定该文件。 张三首先对该文件修改完毕,于是张三向服务器提交了他的修改。 之后,李四也完成了修改,当他提交修改时, Subversion提示李四的文件版本不是最新的, 在Commit之前应先更新a.jpg到最新版本, 由于图片文件无法合并, 这就意味着张三和李四之间必定有一个人的修改会作废。 应用“svn:needs-lock”属性可以避免这个问题。 当一个文件拥有“svn:needs-lock”属性时, 该文件在没有锁定时,文件的图标是灰色的, 表示该文件是一个只读文件(该文件的Windows只读属性的复选框为选中), 这个灰色的图标就会提醒想对该文件进行修改的人, 在修改该文件之前应该首先锁定该文件。 锁定该文件之后,文件的只读属性就会去掉了, 一旦释放掉锁,文件的图标又会变成灰色, 文件也会变成只读的了。 李四在这种情况下就会避免在没有锁定文件时对文件进行修改。 对非文本文件添加“svn:needs-lock” 属性应该在将该文件第一次添加到Repository时就设置, 当然,一个文件可以在任意时刻添加附加属性, 这样做是为了减少李四所遇到的那个问题发生的几率。 具体的方法是: 首先将a.jpg文件拷贝到Working Copy中, 然后在该文件上单击右键, TortoiseSVN->Add,告诉Subversion要将该文件纳入版本控制, 接着在该文件上单击右键并选中属性, 在弹出的属性对话框中选中Subversion页。 在下拉框中选中“svn:needs-lock”, 并在下面的文本框中填入“*” (其实这里填什么都无所谓,只要文件有“svn:needs-lock”附加属性就行), 之后点Set按钮,“svn:needs-lock”附加属性就设置好了。 然后执行Commit命令提交修改。 这时当其他人执行Update时, a.jpg就会添加到他们的Working Copy中, 并且文件的附加属性也会随文件一起被得到。 可以看到a.jpg此时的图标就是灰色的, 文件的Windows属性也是只读的。 12.回到以前的版本 由于Subversion会记录你对Repository的每一次修改, 因此能够很容易的获得Repository以前某一时刻的状态。 比如:现在Repository的最新Revision是56, 这时我想看看Repository在Revision24时的状态, 可以在本地的Working Copy中单击右键, TortoiseSVN->Update to Revision..., 然后输入你想要回复到的Revision号,点OK按钮。 回到以前的版本还有一种情况是我想将Repository的 最新Revision的状态与以前某一个Revision的状态一模一样, 上面那种方法就不适合, 上面的那种方法只是将本地的Working Copy回复到以前的状态, 而服务器端的Repository并没有回到以前的状态。 将Repository的最新Revison的状态回复到以前某个Revision的状态具体的方法是: 先执行Update命令将Working Copy更新到最新的Revision, 然后在Working Copy中单击右键, TortoiseSVN->Show Log, 弹出的Log Messages窗口中会显示该Repository的所有Revision, 选中最新的Revision,之后按住Shift键, 再单击你想回复到的Revision+1的那个Revision (比如Repository的最新Revision是30, 你想将Repository的状态回复到Revision16, 那么就选中Revision30,再按住Shift键, 选中Revision17, 就是说选中Revision17到Revision30之间的所有Revision)。 然后在选中的Revision上单击右键, 选中“Revert changes from these revision”。 再点Yes按钮,就可以将Working Copy的状态回复到目标Revision。 注意,此时只是Working Copy回复到目标Revision, 之后应该用Commit提交修改, 这样Repository最新状态就与目标Revision的状态一样了。 这两种回复到以前版本的方式截然不同, 第一种方式是将整个Working Copy回复到某个Revision, 也就是说这种方式Working Copy中的“.svn”目录所存的文件副本也与目标Revision的一模一样, 如果这时你没有修改文件,你将不能执行Commit命令。 而第二种方式客户端Working Copy中的 “.svn”目录所存的副本始终是最新的Revision的文件副本 (这里我们基于一个假设:在Update之后没有其他人对Repository做修改)。 这种方式就像是我们自己手工将Working Copy的文件状态修改为目标Revision, 在修改之后提交修改一样。 13.查看修改 有时我们对Working Copy的许多文件进行了修改, 这些文件位于不同的子目录,我们就可以在Working Copy的最上层目录单击右键, TortoiseSVN->Check For Modifications, 弹出的对话框就会显示你所做的所有修改明细。 还有一种情况是我们的Working Copy已经很久没有执行Update命令, 我们想看看Working Copy中有哪些文件已经发生修改了, 这时就可以在Working Copy的最上层目录单击右键, TortoiseSVN->Check For Modifications, 在弹出的对话框点击Check Repository按钮后, 就会显示服务器端已经修改了的文件。 该方法还有一个用途就是查看文件的锁定, 当你想锁定一个文件时,你想先看看这个文件有没有被别人锁定, 点击Check Repository按钮会显示服务器端Repository所有被锁定的文件, 如果你想锁定的文件不在这里面,那就说明该文件目前没有人锁定。
2023-07-14 06:25:511

tortoisesvn创建版本库出问题是什么原因

具体什么问题你得描述清楚,或者把报错的信息贴出来
2023-07-14 06:25:582

Win7旗舰版已安装tortoiseSVN软件但却不显示svn图标怎么办

网上流传的几种解决方法:1.TortoiseSVN–>settings–>look and feel–>Icon Overlays–>Status cache –>“shell”Status Cache-状态快取设定,指的是数据夹与档案图标的SVN小图标的覆盖状态的处理模式。Status Cache有3个选项:u2022Default预设的快取设定,使用TSVNCache.exe 来定时扫描档案系统,找到要变动的档案后发出更新图标的通知给操作系统u2022Shell在Shell extension里,只针对目前所在数据夹做图标异动更新;只占用1MB内存,但因只快取一个数据夹,当Working copy内容较多时会花较多时间才能更新完毕u2022None不做任何图标覆盖快取,因此图标更新速度较慢这个方法使用后,没有解决问题,将status cache还原为默认。2.修改注册表 ,查找到ShellIconOverlayIdentifiers,将Tortoise*前边加上数字请参考:http://www.i-jc.cn/index.php/tortoisesvn-812/其实,我的电脑注册表中已经是这样了,不需要修改。问题还是没有解决。3. 默认的是网络磁盘时,是没有图标的(By default on a fresh Tortoise install, network drives don"t have the icons added)将network drives 打钩就OK了,如下图:
2023-07-14 06:26:052

tortoisesvn 图标显示不显示

解决TortoiseSVN文件夹图标不显示方法如下:1、"Win + R"打开运行框,输入"regedit"打开注册表2、在注册表编辑界面按"Ctrl + F"快捷键,查找"ShellIconOverlayIdentifiers"3、找到所有关于Tortoise项4、将TortoiseNormal、TortoiseModified ...... TortoiseUnversioned等项的名字重命名为0TortoiseNormal、0TortoiseModified...... 0TortoiseUnversioned5、修改完成后重启电脑6、重启电脑后再次查看 TortoiseSVN目录,会发现图标都能正常显示了。回答不容易,希望能帮到您,满意请帮忙采纳一下,谢谢 !
2023-07-14 06:26:131

SVN是什么用?百度了,不太明白,谁能说明白点?SVN Checkout...和TortoiseSVN的作用是什么?

svn说白了就是一种实现文件共享管理的软件,分成服务器端和客户端,所有的文件都存放在服务器端,每个人可以用客户端把文件取到本地查看,也可以在本地修改后上传到服务器端,这样大家就可以随时获得最新版的文件。TortoiseSVN 就是最常用的一种SVN客户端软件。checkout的功能就是把服务器端的整个库取到本地来,checkout操作一般只需要用一次,完成checkout之后,再想获得最新版文件时,用的是update而不再需要checkout详细可以看我的百度文库,有篇在Windows下使用SVN的PPT
2023-07-14 06:26:211

怎么解决TortoiseSVN文件夹图标不显示

解决TortoiseSVN文件夹图标不显示方法如下:1、"Win+R"打开运行框,输入"regedit"打开注册表2、在注册表编辑界面按"Ctrl+F"快捷键,查找"ShellIconOverlayIdentifiers"3、找到所有关于Tortoise项4、将TortoiseNormal、TortoiseModifiedTortoiseUnversioned等项的名字重命名为0TortoiseNormal、0TortoiseModified0TortoiseUnversioned5、修改完成后重启电脑6、重启电脑后再次查看TortoiseSVN目录,会发现图标都能正常显示了。回答不容易,希望能帮到您,满意请帮忙采纳一下,谢谢!
2023-07-14 06:26:281

怎么安装TortoiseSVN

一、客户端TortoiseSVN的安装运行TortoiseSVN程序,点击Next,按提示进行安装。最后点击Finish按钮后会提示重启系统,其实不重启也没有关系。二、客户端TortoiseSVN的使用方法1、 签入源代码到SVN服务器假如我们使用Visual Studio在文件夹StartKit中创建了一个项目,我们要把这个项目的源代码签入到SVN Server上的代码库中里,首先右键点击StartKit文件夹,这时候的右键菜单点击Import,弹出下面的窗体,是服务器名,svn是代码仓库的根目录,StartKit是我们在上个教程中添加的一个代码库。2、签出源代码到本机3、提交修改过的文件到SVN服务器 修改位于Model文件中的二个文件ImageInfo.cs和NewsInfo.cs ,点击OK按钮后,弹出如下图的窗体:4、添加新文件到SVN服务器在Model文件下添加一个新的类文件UserInfo.cs,在Model文件下的空白处点击右键,点击SVN Commit…,和上面讲的提交修改过的文件到SVN服务器一样,就可以了。另外也可以在文件UserInfo.cs上点击右键,点击TortoiseSVN=>>Add选中UserInfo.cs文件,点击OK按钮,这样并没有将这个文件提交到SVN服务器,只是将这个文件标记为源代码库库中的文件,并将其状态置为修改状态。之后,我们要再SVN Commit这个文件一次,才可以将其真正提交到SVN服务器上的代码库中。 上面讲是添加文件,实际上,添加文件夹的步骤也是一样的,这里就不说了。5、更新本机代码与SVN服务器上最新的版本一致这个也很简单,只要在需要更新的文件夹上点击右键或在该文件下的空白处点击右键,点击SVN Update,就可以了。注意:更新操作可能会因为版本冲突而失败,这是可以使用合并【Merge】或其他方法解决;也可能因为锁定【Get Lock】而失败,这是需要先解锁【Release Lock】。6、重命名文件或文件夹,并将修改提交到SVN服务器只要在需要重命名的文件或文件夹上点击右键,点击TortiseSVN=>>Rename…,在弹出的窗体中输入新名称,点击OK按钮,就可以了。此方法也不是直接重命名,而是将该文件或文件夹的名称标记为重命名后名称,也需要我们使用SVN Commit提交到SVN服务器后才真正重命名。7、删除文件或文件夹,并将修改提交到SVN服务器最简单就是,你直接删除文件或文件夹,然后使用SVN Commit提交更新到SVN服务器。另外一种方法是在你要删除的文件或文件夹上点击右键=>>TortoiseSVN=>>Delete删除,此方法也不是直接删除,而是将该文件或文件夹的状态置为删除,也需要我们使用SVN Commit提交到SVN服务器后才真正删除。说明:实际上,从你把源代码迁签入SVN服务器开始,每一个版本的数据和文件,就算是你已经删除了的,也都可以随时迁出。
2023-07-14 06:26:521

如何用TortoiseSVN管理本地文档

TortoiseSVN是windows下其中一个非常优秀的SVN客户端工具。通过使用它,我们可以可视化的管理我们的版本库。不过由于它只是一个客户端,所以它不能对版本库进行权限管理。TortoiseSVN不是一个独立的窗口程序,而是集成在windows右键菜单中,使用起来比较方便。TortoiseSVN每个菜单项都表示什么意思01、SVN Checkout(SVN取出)点击SVN Checkout,弹出检出提示框,在URL of repository输入框中输入服务器仓库地址,在Checkout directory输入框中输入本地工作拷贝的路径,点击确定,即可检出服务器上的配置库。 02、SVN Update(SVN更新)如果配置库在本地已有工作拷贝,则取得最新版本只是执行SVN Update即可,点击SVN Update,系统弹出更新提示框,点击确定,则把服务器是最新版本更新下来 03、Import(导入)选择要提交到服务器的目录,右键选择TortoiseSVN----Import,系统弹出导入提示框,在URL of repository输入框中输入服务器仓库地址,在Import Message输入框中输入导入日志信息,点击确定,则文件导入到服务器仓库中。 04、Add(加入)如果有多个文件及文件夹要提交到服务器,我们可以先把这些要提交的文件加入到提交列表中,要执行提交操作,一次性把所有文件提交,如图,可以选择要提交的文件,然后点击执行提交(SVN Commit),即可把所有文件一次性提交到服务器上 05、Resolving Conflicts(解决冲突)有时你从档案库更新文件会有冲突。冲突产生于两人都修改文件的某一部分。解决冲突只能靠人而不是机器。当产生冲突时,你应该打开冲突的文件,查找以<<<<<<<开始的行。冲突部分被标记:<<<<<<< filenameyour changes=======code merged from repository>>>>>>> revisionSubversion为每个冲突文件产生三个附加文件:filename.ext.mine更新前的本地文件。filename.ext.rOLDREV你作改动的基础版本。filename.ext.rNEWREV更新时从档案库得到的最新版本。使用快捷菜单的编辑冲突Edit Conflict命令来解决冲突。然后从快捷菜单中执行已解决Resolved命令,将改动送交到档案库。请注意,解决命令并不解决冲突,而仅仅是删除 filename.ext.mineandfilename.ext.r*文件并允许你送交。 06、Check for Modifications(检查更新)点击Check for Modifications,系统列表所以待更新的文件及文件夹的状态.07、Revision Graph(版本分支图)查看文件的分支,版本结构,可以点击Revision Graph,系统以图形化形式显示版本分支. 08、Rename(改名)SVN支持文件改名,点击Rename,弹出文件名称输入框,输入新的文件名称,点击确定,再把修改提交,即可完成文件改名 09、Delete(删除)SVN支持文件删除,而且操作简单,方便,选择要删除的文件,点击Delete,再把删除操作提交到服务器 10、Moving(移动)选择待移动的文件和文件夹;按住右键拖动right-drag文件(夹)到跟踪拷贝内的新地方;松开左键;在弹出菜单中选择move files in Subversion to here 11、Revert(还原)还原操作,如刚才对文件做了删除操作,现在把它还原回来,点击删除后,再点击提交,会出现如上的提示框,点击删除后,再点击Revert,即已撤销删除操作,如果这时候点击提交,则系统弹出提示框:没有文件被修改或增加,不能提交 12、Branch/Tag(分支/标记)当需要创建分支,点击Branch/Tag,在弹出的提示框中,输入分支文件名,输入日志信息,点击确定,分支创建成功,然后可查看文件的版本分支情况 13、Switch(切换)文件创建分支后,你可以选择在主干工作,还是在分支工作,这时候你可以通过Switch来切换。 14、Merge(合并)主干和分支的版本进行合并,在源和目的各输入文件的路径,版本号,点击确定。系统即对文件进行合并,如果存在冲突,请参考冲突解决。 15、Export(导出)把整个工作拷贝导出到本地目录下,导出的文件将不带svn文件标志,文件及文件夹没有绿色的”√”符号标志。 16、Relocate(重新定位)当服务器上的文件库目录已经改变,我们可以把工作拷贝重新定位,在To URL输入框中输入新的地址 17、Add to Ignore List(添加到忽略列表)大多数项目会有一些文件(夹)不需要版本控制,如编译产生的*.obj, *.lst,等。每次送交,TortoiseSVN提示那些文件不需要控制,挺烦的。这时候可以把这些文件加入忽略列表。
2023-07-14 06:26:591

如何用命令行实现TortoiseSVN命令

TortoiseSVN是一个GUI客户端,这个自动化指导为你展示了让TortoiseSVN对话框显示并收集客户输入,如果你希望编写不需要输入的脚本,你应该使用官方的Subversion命令行客户端。TortoiseSVN的GUI程序叫做TortoiseProc.exe。所有的命令通过参数/command:asdf指定,其中asdf是必须的命令名(命令名详见”表 1. 有效命令及选项列表“)。大多数此类命令至少需要一个路径参数,使用/path:"somepath"指定。在下面的命令表格中,命令引用的是/command:asdf参数,余下的代表了/path:"somepath"参数。因为一些命令需要一个目标路径的列表(例如提交一些特定的文件),/path参数可以接收多个路径,使用*分割。TortoiseSVN 使用临时文件在 shell 扩展和主程序之间传递多个参数。从 TortoiseSVN 1.5.0 开始,废弃/notempfile参数,不再需要增加此参数。The progress dialog which is used for commits, updates and many more commands usually stays open after the command has finished until the user presses theOK button. This can be changed by checking the corresponding option in the settings dialog. But using that setting will close the progress dialog, no matter if you start the command from your batch file or from the TortoiseSVN context menu.To specify a different location of the configuration file, use the parameter /configdir:"path oconfigdirectory". This will override the default path, including any registry setting.如果想在进度对话框执行完毕后自动关闭,而又不必设置永久性的参数,可以传递/closeonend参数。/closeonend:0 不自动关闭对话框/closeonend:1 如果没发生错误则自动关闭对话框/closeonend:2 如果没发生错误和冲突则自动关闭对话框/closeonend:3如果没有错误、冲突和合并,会自动关闭下面的列表列出了所有可以使用TortoiseProc.exe访问的命令,就像上面的描述,必须使用/command:asdf的形式,在列表中,因为节省空间的关系省略了/command的前缀。表 1. 有效命令及选项列表命令描述:about 显示关于对话框。如果没有给命令也会显示。 :log 打开日志对话框,/path 指定了显示日志的文件或目录,另外还有三个选项可以设置: /startrev:xxx、/endrev:xxx和/strict :checkout 打开检出对话框,/path指定了目标路径,而/url制定了检出的URL。 :import 打开导入对话框,/path 指定了数据导入路径。 :update 将工作副本的/path更新到HEAD,如果给定参数/rev,就会弹出一个对话框询问用户需要更新到哪个修订版本。为了防止指定修订版本号/rev:1234的对话框,需要选项/nonrecursive和/ignoreexternals。 :commit 打开提交对话框,/path 指定了目标路径或需要提交的文件列表,你也可以使用参数 /logmsg 给提交窗口传递预定义的日志信息,或者你不希望将日志传递给命令行,你也可以使用/logmsgfile:path,path 指向了保存日志信息的文件。为了预先填入bug的ID(如果你设置了集成bug追踪属性),你可以使用/bugid:"the bug id here"完成这个任务。 :add 将/path的文件添加到版本控制 。 :revert 恢复工作副本的本地修改,/path说明恢复哪些条目。 :cleanup 清理中断和终止的操作,将工作副本的/path解锁。 :resolve 将/path指定文件的冲突标示为解决,如果给定/noquestion,解决不会向用户确认操作。 :repocreate 在/path创建一个版本库。 :switch 打开选项对话框。/path 指定目标目录。 :export 将/path的工作副本导出到另一个目录,如果/path指向另一个未版本控制目录,对话框会询问要导出到/path的URL。 :merge Opens the merge dialog. The /path specifies the target directory. For merging a revision range, the following options are available: /fromurl:URL, /revrange:string. For merging two repository trees, the following options are available: /fromurl:URL, /tourl:URL, /fromrev:xxx and /torev:xxx. These pre-fill the relevant fields in the merge dialog. :mergeall Opens the merge all dialog. The /path specifies the target directory. :copy Brings up the branch/tag dialog. The /path is the working copy to branch/tag from. And the /url is the target URL. You can also specify the /logmsg switch to pass a predefined log message to the branch/tag dialog. Or, if you don"t want to pass the log message on the command line, use /logmsgfile:path, where path points to a file containing the log message. :settings 打开设置对话框。 :remove 从版本控制里移除/path中的文件。 :rename 重命名/path的文件,会在对话框中询问新文件,为了防止一个步骤中询问相似文件,传递/noquestion。 :diff Starts the external diff program specified in the TortoiseSVN settings. The /path specifies the first file. If the option /path2 is set, then the diff program is started with those two files. If /path2 is omitted, then the diff is done between the file in /path and its BASE. To explicitly set the revision numbers use /startrev:xxx and /endrev:xxx. If/blame is set and /path2 is not set, then the diff is done by first blaming the files with the given revisions. :showcompare Depending on the URLs and revisions to compare, this either shows a unified diff (if the option unified is set), a dialog with a list of files that have changed or if the URLs point to files starts the diff viewer for those two files.The options url1, url2, revision1 and revision2 must be specified. The options pegrevision, ignoreancestry, blame and unified are optional.:conflicteditor Starts the conflict editor specified in the TortoiseSVN settings with the correct files for the conflicted file in /path. :relocate 打开重定位对话框,/path指定了重定位的工作副本路径。 :help 打开帮助文件 :repostatus 打开为修改检出对话框,/path 指定了工作副本目录。 :repobrowser Starts the repository browser dialog, pointing to the URL of the working copy given in /path or /path points directly to an URL. An additional option /rev:xxx can be used to specify the revision which the repository browser should show. If the /rev:xxx is omitted, it defaults to HEAD. If /path points to an URL, the /projectpropertiespath:path/to/wcspecifies the path from where to read and use the project properties. :ignore 将/path中的对象加入到忽略列表,也就是将这些文件添加到 svn:ignore 属性。 :blame 为 /path 选项指定的文件打开追溯对话框。如果设置了 /startrev 和 /endrev 选项,不会显示询问追溯范围对话框,直接使用这些选项中的版本号。如果设置了 /line:nnn 选项,TortoiseBlame 会显示指定行数。也支持 /ignoreeol,/ignorespaces 和 /ignoreallspaces 选项。:cat 将/path指定的工作副本或URL的文件保存到/savepath:path,修订版本号在/revision:xxx,这样可以得到特定修订版本的文件。 :createpatch 创建/path下的补丁文件。 :revisiongraph 显示/path目录下的版本变化图。 :lock Locks a file or all files in a directory given in /path. The "lock" dialog is shown so the user can enter a comment for the lock. :unlock Unlocks a file or all files in a directory given in /path. :rebuildiconcache Rebuilds the windows icon cache. Only use this in case the windows icons are corrupted. A side effect of this (which can"t be avoided) is that the icons on the desktop get rearranged. To suppress the message box, pass /noquestion. :properties 显示 /path 给出的路径之属性对话框。 Examples (which should be entered on one line):TortoiseProc.exe /command:commit /path:"c:svn_wcfile1.txt*c:svn_wcfile2.txt" /logmsg:"test log message" /closeonend:0TortoiseProc.exe /command:update /path:"c:svn_wc" /closeonend:0TortoiseProc.exe /command:log /path:"c:svn_wcfile1.txt" /startrev:50 /endrev:60 /closeonend:0
2023-07-14 06:27:071

怎么解决TortoiseSVN文件夹图标不显示

"Win + R"打开运行框,输入"regedit"打开注册表在注册表编辑界面按"Ctrl + F"快捷键,查找"ShellIconOverlayIdentifiers"找到所有关于Tortoise项将TortoiseNormal、TortoiseModified ...... TortoiseUnversioned等项的名字重命名为0TortoiseNormal、0TortoiseModified...... 0TortoiseUnversioned修改完成后重启电脑6重启电脑后再次查看 TortoiseSVN目录,会发现图标都能正常显示了
2023-07-14 06:27:142

为什么Tortoise SVN 连接不上 Visual SVN Server?

第一次使用SVN版本管理工具,但两天时间都没有连接上(客户端无法连接服务器)。 软件:VisualSVN-Server-1.6.2.msi 、 TortoiseSVN-1.8.11.26392-win32-svn-1.8.13.msi, VisualSVN-Server-1.6.2.msi 装在一台电脑上,TortoiseSVN-1.8.11.26392-win32-svn-1....展开服务器:VisualSVN-Server 安装好后,按照网上所说的,建立版本库,添加用户密码,然后在本地的浏览器地址栏上输入URL地址,服务器址是:https://192.168.1.177/svn/ ,回车后提示:证书错误,该网址已阻止。在网上找了相应资料后,安装证书,可以每次都弹出:证书错误,该网址已阻止。点击继续访问网址,会弹出输入用户名与密码对话框,输入后,能访问版本库。在网上找了相关资料后,安装证书,可以每次还是弹出:证书错误,该网址已阻止,点击继续访问,仍是可以进入的。客户端:TortoiseSVN安装后,右键点击一个VS2008项目,通过TortoiseSVN的“Imports……”功能,然后输入服务器地址:https://192.168.1.177/svn/,点击OK,显示以下错误信息:TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种“时间机器”。版本控制是管理信息修改的艺术,它一直是程序员最重要的工具,程序员经常会花时间作出小的修改,然后又在某一天取消了这些修改,想象一下一个开发者并行工作的团队 - 或许是同时工作在同一个文件!- 你就会明白为什么一个好的系统需要管理潜在的混乱。某些版本控制系统也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性 - 比如,对编程语言的支持,或者提供程序构建工具。不过 Subversion 并不是这样的系统;它是一个通用系统,可以管理任何类型的文件集,包括源代码。
2023-07-14 06:27:221

如何使用命令调用TortoiseSVN的提交功能

TortoiseSVN是一个GUI客户端,这个自动化指导为你展示了让TortoiseSVN对话框显示并收集客户输入,如果你希望编写不需要输入的脚本,你应该使用官方的Subversion命令行客户端。TortoiseSVN的GUI程序叫做TortoiseProc.exe。所有的命令通过参数/command:asdf指定,其中asdf是必须的命令名(命令名详见”表 1. 有效命令及选项列表“)。大多数此类命令至少需要一个路径参数,使用/path:"somepath"指定。在下面的命令表格中,命令引用的是/command:asdf参数,余下的代表了/path:"somepath"参数。因为一些命令需要一个目标路径的列表(例如提交一些特定的文件),/path参数可以接收多个路径,使用*分割。TortoiseSVN 使用临时文件在 shell 扩展和主程序之间传递多个参数。从 TortoiseSVN 1.5.0 开始,废弃/notempfile参数,不再需要增加此参数。The progress dialog which is used for commits, updates and many more commands usually stays open after the command has finished until the user presses theOK button. This can be changed by checking the corresponding option in the settings dialog. But using that setting will close the progress dialog, no matter if you start the command from your batch file or from the TortoiseSVN context menu.To specify a different location of the configuration file, use the parameter /configdir:"path oconfigdirectory". This will override the default path, including any registry setting.如果想在进度对话框执行完毕后自动关闭,而又不必设置永久性的参数,可以传递/closeonend参数。/closeonend:0 不自动关闭对话框/closeonend:1 如果没发生错误则自动关闭对话框/closeonend:2 如果没发生错误和冲突则自动关闭对话框/closeonend:3如果没有错误、冲突和合并,会自动关闭下面的列表列出了所有可以使用TortoiseProc.exe访问的命令,就像上面的描述,必须使用/command:asdf的形式,在列表中,因为节省空间的关系省略了/command的前缀。表 1. 有效命令及选项列表命令描述:about 显示关于对话框。如果没有给命令也会显示。 :log 打开日志对话框,/path 指定了显示日志的文件或目录,另外还有三个选项可以设置: /startrev:xxx、/endrev:xxx和/strict :checkout 打开检出对话框,/path指定了目标路径,而/url制定了检出的URL。 :import 打开导入对话框,/path 指定了数据导入路径。 :update 将工作副本的/path更新到HEAD,如果给定参数/rev,就会弹出一个对话框询问用户需要更新到哪个修订版本。为了防止指定修订版本号/rev:1234的对话框,需要选项/nonrecursive和/ignoreexternals。 :commit 打开提交对话框,/path 指定了目标路径或需要提交的文件列表,你也可以使用参数 /logmsg 给提交窗口传递预定义的日志信息,或者你不希望将日志传递给命令行,你也可以使用/logmsgfile:path,path 指向了保存日志信息的文件。为了预先填入bug的ID(如果你设置了集成bug追踪属性),你可以使用/bugid:"the bug id here"完成这个任务。 :add 将/path的文件添加到版本控制 。 :revert 恢复工作副本的本地修改,/path说明恢复哪些条目。 :cleanup 清理中断和终止的操作,将工作副本的/path解锁。 :resolve 将/path指定文件的冲突标示为解决,如果给定/noquestion,解决不会向用户确认操作。 :repocreate 在/path创建一个版本库。 :switch 打开选项对话框。/path 指定目标目录。 :export 将/path的工作副本导出到另一个目录,如果/path指向另一个未版本控制目录,对话框会询问要导出到/path的URL。 :merge Opens the merge dialog. The /path specifies the target directory. For merging a revision range, the following options are available: /fromurl:URL, /revrange:string. For merging two repository trees, the following options are available: /fromurl:URL, /tourl:URL, /fromrev:xxx and /torev:xxx. These pre-fill the relevant fields in the merge dialog. :mergeall Opens the merge all dialog. The /path specifies the target directory. :copy Brings up the branch/tag dialog. The /path is the working copy to branch/tag from. And the /url is the target URL. You can also specify the /logmsg switch to pass a predefined log message to the branch/tag dialog. Or, if you don"t want to pass the log message on the command line, use /logmsgfile:path, where path points to a file containing the log message. :settings 打开设置对话框。 :remove 从版本控制里移除/path中的文件。 :rename 重命名/path的文件,会在对话框中询问新文件,为了防止一个步骤中询问相似文件,传递/noquestion。 :diff Starts the external diff program specified in the TortoiseSVN settings. The /path specifies the first file. If the option /path2 is set, then the diff program is started with those two files. If /path2 is omitted, then the diff is done between the file in /path and its BASE. To explicitly set the revision numbers use /startrev:xxx and /endrev:xxx. If/blame is set and /path2 is not set, then the diff is done by first blaming the files with the given revisions. :showcompare Depending on the URLs and revisions to compare, this either shows a unified diff (if the option unified is set), a dialog with a list of files that have changed or if the URLs point to files starts the diff viewer for those two files.The options url1, url2, revision1 and revision2 must be specified. The options pegrevision, ignoreancestry, blame and unified are optional.:conflicteditor Starts the conflict editor specified in the TortoiseSVN settings with the correct files for the conflicted file in /path. :relocate 打开重定位对话框,/path指定了重定位的工作副本路径。 :help 打开帮助文件 :repostatus 打开为修改检出对话框,/path 指定了工作副本目录。 :repobrowser Starts the repository browser dialog, pointing to the URL of the working copy given in /path or /path points directly to an URL. An additional option /rev:xxx can be used to specify the revision which the repository browser should show. If the /rev:xxx is omitted, it defaults to HEAD. If /path points to an URL, the /projectpropertiespath:path/to/wcspecifies the path from where to read and use the project properties. :ignore 将/path中的对象加入到忽略列表,也就是将这些文件添加到 svn:ignore 属性。 :blame 为 /path 选项指定的文件打开追溯对话框。如果设置了 /startrev 和 /endrev 选项,不会显示询问追溯范围对话框,直接使用这些选项中的版本号。如果设置了 /line:nnn 选项,TortoiseBlame 会显示指定行数。也支持 /ignoreeol,/ignorespaces 和 /ignoreallspaces 选项。:cat 将/path指定的工作副本或URL的文件保存到/savepath:path,修订版本号在/revision:xxx,这样可以得到特定修订版本的文件。 :createpatch 创建/path下的补丁文件。 :revisiongraph 显示/path目录下的版本变化图。 :lock Locks a file or all files in a directory given in /path. The "lock" dialog is shown so the user can enter a comment for the lock. :unlock Unlocks a file or all files in a directory given in /path. :rebuildiconcache Rebuilds the windows icon cache. Only use this in case the windows icons are corrupted. A side effect of this (which can"t be avoided) is that the icons on the desktop get rearranged. To suppress the message box, pass /noquestion. :properties 显示 /path 给出的路径之属性对话框。 Examples (which should be entered on one line):TortoiseProc.exe /command:commit /path:"c:svn_wcfile1.txt*c:svn_wcfile2.txt" /logmsg:"test log message" /closeonend:0TortoiseProc.exe /command:update /path:"c:svn_wc" /closeonend:0TortoiseProc.exe /command:log /path:"c:svn_wcfile1.txt" /startrev:50 /endrev:60 /closeonend:0
2023-07-14 06:27:361

tortoise svn地址如何修改?

1、打开项目所在位置并选中2、右键选择tortoiseSVN,然后选择relocate3、如果是汉化过的软件,请选择tortoiseSVN,然后选择重新定位4、输入新的svn地址,不要输错,也不要输入多余的空格等5、点击relocate6、SVN地址修改成功。
2023-07-14 06:27:441

TortoiseSVN和VisualSVN有什么区别

服务器可以有完善的用户管理机制,可以设置用户、用户组、可以设置每一个路径的权限,例如对某个路径,某个用户组只有读的权限
2023-07-14 06:28:252

Tortoise SVN 连接不上 Visual SVN Server

先不要用https协议,改用http协议试试看,https协议的证书问题比较麻烦
2023-07-14 06:28:332

TortoiseSVN有for mac吗

TortoiseSVN本身没有MAC版,但是有他的兄弟版本smartsvn,可以从TortoiseSVN官网链接过去 如有疑问可追问,满意请及时采纳,谢谢
2023-07-14 06:28:581

怎么解决TortoiseSVN文件夹图标不显示

1.在文件夹的空白处点击鼠标右键,查看——显示桌面图标。  2.如果故障依旧,打开任务管理器(按下“Ctrl+Alt+Del”组合键即可打开),点击“文件”→“新建任务”,在打开的“创建新任务”对话框中输入“explorer”,单击“确定”按钮后,稍等一下就可以见到桌面图标了。  3. 如果桌面图标还是没有显示的话,在开始—运行输入REGEDIT依次打开HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows,NTCurrentVersionWinlogon,然后查看该分支下的Shell值是否为“Explorer.exe”。如果不是,手动修改为“Explorer.exe”。  4.如果桌面图标还是没有显示的话,那有可能是C:Windows目录中的“explorer.exe”进程文件受损,请到网上下载“explorer.exe”进程文件,下载后,将它放到C:Windows目录中(如果电脑无法下载请用别的电脑下载或在别的电脑上将C:Windows目录中的“explorer.exe”进程文件用U盘复制下来,开机按F8进入安全模式中将“explorer.exe”进程文件,它放到C:Windows目录中即可。  5. 如果问题得不到解决,可能是由于中毒引起,应该采用以下办法:  1、首先用杀毒软件在安全模式中查杀病毒。  2、若不行,用系统自带的系统还原修复(在安全模式中使用系统还原)。  3、若不行,使用系统盘修复,打开命令提示符输入SFC /SCANNOW 回车(SFC和/之间有一个空格),插入原系统盘修复系统,让系统会自动对其修复。  4、仍不行,那就只有还原或重装系统了。
2023-07-14 06:29:051

为什么我安装了tortoisesvn后没有发现svn.exe

因为你安装的不是subversion。subversion是svn服务器端,但自带svn.exe客户端程序。
2023-07-14 06:29:131

tortoisesvn 免费吗

开源,免费。TortoiseSVN | 最佳实践http://jingyan.baidu.com/article/870c6fc37fabffb03fe4bea9.html
2023-07-14 06:29:201

svn 客户端怎么卸载

如在[添加或删除程序]中找不到安装项目,可以再安装一次SVN客户端也可以将其卸载。
2023-07-14 06:29:307

怎么在Mac上安装使用TortoiseSVN

Mac上没有TortoiseSVN。要想在Mac上使用SVN: 如果要追求如TortoiseSVN那样的易用性,推荐SnailSVN,该软件可以和Finder集成,基本达到了TortoiseSVN的易用性,在MacAppStore有售。否则,命令行
2023-07-14 06:31:062

如何修改tortoiseSVN密码

办法一:在TortoiseSVN的设置对话框中,选择“已保存数据”,在“认证数据”那一行点击“清除”按钮,清楚保存的认证数据,再检出的时候就会重新跳出用户名密码输入框。如果方法一不起作用,则可以采用方法二:Tortoise的用户名密码等认证信息都是缓存在客户端文件系统的这个目录:C:/Documents and Settings/Administrator/Application Data/Subversion/auth删除auth下面的所有文件夹,重新连接远程服务器进行检出,对话框就会出现!
2023-07-14 06:31:462

TortoiseSVN和VisualSVN有什么区别

TortoisSVN是客户端。VisualSVN是svn windows上搭建服务器使用的环境。TortoisSVN是windows上的客户端工具俗名小乌龟。 服务器是任意操作系统,都不影响客户端的使用。
2023-07-14 06:31:532

tortoiseSVN 和 svn 一样吗?

tsvn 是windows平台的 svn 是linux平台的
2023-07-14 06:32:012

tortoisesvn有ubuntu版本吗

木有ubuntu下有原版的svn客户端tortoisesvn是专门为windows做的外挂式样的辅助程序
2023-07-14 06:32:081

win7系统安装tortoiseSVN软件后无法查看svn图标的解决方法

有位用户问小编一个问题win7系统安装tortoiseSVN软件后无法查看svn图标,怎么回事呢?Win7系统中安装tortoiseSVN软件后,看不到SVN图标,无论是右键菜单,还是系统桌面,都看不到SVN图标时,遇到svn图标不见的情况怎么办呢?下面跟随小编一起看看详细解决步骤。解决方法如下:1、下“win+R”打开“运行”窗口,输入“regedit”命令后按回车,打开注册表;2、在打开的注册表中,按Ctrl+F搜索“ShellIconOverlayIdentifiers”;3、将TortoiseAdded、TortoiseConflictTortoiseUnversioned进行重命名,分别在名称前面加上0、18,即0TortoiseAdded、1TortoiseConflict8TortoiseUnversioned;4、重启计算机即可。其实找回win7系统svn图标的方法很简单,通过注册表即可。大家在设置过程中需要注意别选择错误了。
2023-07-14 06:32:271