当我复制一个用于乌龟的svn目录时,svn图标仍然显示出来。如何在没有复制svn信息的情况下复制目录?
答案 0 :(得分:17)
实际上,有一个“出口”选项。如果右键单击并拖放安装了Tortoise的文件夹,您将看到导出选项。
答案 1 :(得分:7)
您可能只想在文件夹中执行svn导出(在towise svn菜单中)。否则你将不得不进入并删除这些文件夹中的所有小.svn文件夹,这些文件夹将这些文件夹提供给智能,以便知道它们是svn文件夹以及它们指向的位置。
导出就像一个结账工作,除了它将它从subversion“分离”,只是给你内容。
答案 2 :(得分:6)
简而言之: 使用“导出”功能获取svn目录和文件的副本。 要么 复制文件夹,然后从中手动删除svn隐藏文件夹。
解释说: 当您执行“签出”时,Tortoise会在每个签出文件夹中放入一个隐藏文件夹,在该文件夹中保留文件夹内容的“基本版本”。这样,它可以检测您在源代码管理下对文件所做的更改。要查看此隐藏文件夹,您需要设置文件资源管理器以显示隐藏文件和文件夹。此外,Tortoise可以通过这种方式向您显示状态图标。
还有另一种方法可以从源代码控制存储库中获取文件。这是“导出”功能。使用此选项,您可以从服务器获取最新版本的文件,但不包含隐藏文件夹。但要小心,您将无法对通过“导出”导出的文件进行更改。 (但如果需要,您可以将它们添加为新文件)
如果您只想复制文件(但松散SVN跟踪工具),我建议您使用“导出”功能。但是,如果您不再与svn服务器建立连接,您也可以手动删除复制目录中的所有隐藏文件夹。
答案 3 :(得分:2)
它被称为导出命令。它会要求您提供放置副本的目录。如果您选择与svn目录相同的目录,它实际上将完全删除svn数据。
答案 4 :(得分:1)
您需要删除每个文件夹下的“隐藏”.svn目录(当然,在您复制目录之后)。
答案 5 :(得分:0)
如果您只想从大型项目中删除.svn文件夹,可以使用我的脚本,即基于John Galloway's资源管理器扩展程序的cmd行脚本:
:: unsvn 1.0 - By Casey Dunham (http://www.caseydunham.net)
::
:: usage - unsvn folder
::
:: Deletes all .svn folders under the specified folder.
::
::
:: Based on a Windows command shell extension by John Galloway
:: at http://weblogs.asp.net/jgalloway/archive/2007/02/24/shell-command-remove-svn-folders.aspx
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
if /i "%1" == "" goto usage
for /r %1 %%f in (.svn) do (
if exist %%f (
echo removing %%f
rd /s /q %%f
) else (
echo.File %%f not found!
goto done
)
)
:usage
echo unsvn 1.0
echo usage: unsvn folder
echo.
echo Deletes all .svn folders and files below the specified folder.
:done
只需将上面的内容保存为unsvn.bat,将其放在您的路径中,然后将顶级文件夹从您想要删除所有.svn文件夹的位置传递给它。