每次签出时都不会创建.svn文件夹

每次签出时都不会创建.svn文件夹,svn,Svn,我尝试了以下方法 svnadmin创建svn\u回购 svn导入我的第一个项目file:///c:/svn_repos -m“初始导入” svn签出file:///c:/svn_repos 命令返回 A svn_repos\trunk A svn_repos\trunk\Sample.txt.txt A svn_repos\branches A svn_repos\branches\my_pers_branch Checked out revision 1. 但是,.s

我尝试了以下方法

  • svnadmin创建svn\u回购
  • svn导入我的第一个项目file:///c:/svn_repos -m“初始导入”
  • svn签出file:///c:/svn_repos
  • 命令返回

    A    svn_repos\trunk
    A    svn_repos\trunk\Sample.txt.txt
    A    svn_repos\branches
    A    svn_repos\branches\my_pers_branch
    Checked out revision 1.
    
    但是,
    .svn
    文件夹未在签出的文件夹中创建。 因为这个原因[我猜],我无法进行
    svn复制
    svn合并

    为什么会发生这种情况? 有什么问题?
    我的命令中是否有任何错误

    您确定它不仅仅是隐藏的(默认情况下是隐藏的)


    试着运行
    dir/AH

    “svn状态”是什么意思?如果.svn确实丢失,它将打印如下内容:

    svn: warning: '.' is not a working copy
    

    也许您希望在my_first_proj目录中找到该.svn目录。目前,您的svn是在“svn_repos”目录中签出的,与您在checkout命令中键入的路径相对。您可能想做的是:

    svn checkout --force file:///c:/svn_repos/ my_first_proj 
    

    它将签出现有目录中的存储库。不过,通常的方法是第一次签出到另一个目录。

    在某些情况下,Windows Subversion可能会使用隐藏的svn目录而不是.svn目录


    此行为由SVN_ASP_DOT_NET_HACK环境变量切换。请参阅。

    您尚未在签出中指定路径,因此它默认为存储库本身的basename。换言之,它的作用是:

    svn checkout file:///c:/svn_repos ./svn_repos
    
    这样做的效果是,它已在存储库目录中签出了您的工作副本!如果您在存储库中查找,您应该会找到
    主干
    分支
    目录以及其他文件。相反,如果您执行以下操作,它将按照您的预期运行:

    svnadmin create svn_repos
    svn import my_first_proj file:///c:/svn_repos -m "initial import"
    svn checkout file:///c:/svn_repos my_working_copy
    

    请提供更多详情:

    执行每个命令时,您所在的目录是什么

    在我看来,您可能正在将项目签出到存储库中


    另外,您使用的是什么操作系统?

    对于最终遇到这个问题并使用subversion 1.7或更高版本的人,请阅读本文:因为较新的subversion只在根目录中创建一个.svn目录。我从来没有遇到过这个问题。如果您签出repo“sources”,那么它将在当前目录中创建一个“sources”目录。