复制和粘贴正在制作新的乌龟svn项目

时间:2009-11-03 20:18:39

标签: svn tortoisesvn

当我复制一个用于乌龟的svn目录时,svn图标仍然显示出来。如何在没有复制svn信息的情况下复制目录?

6 个答案:

答案 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文件夹的位置传递给它。