我想知道
如何找出普通 mkdir 目录和 svn checkout 目录之间的区别?
mkdir
未能创建必要的额外配置信息以将目录绑定回 subversion 存储库。
因此,mkdir
当您尝试执行其他颠覆操作时,创建的目录将不受版本控制(添加和导入除外,它们假定目录不受颠覆控制)。
svn checkout ...
还将有效地调用(内部)mkdir
例程;但是,除此之外,它还会生成其他项目(.svn 目录和文件),将颠覆配置详细信息“添加”到目录树中。因此,后续的 subversion 命令会找到这些额外的信息位,并可以使用它们来建立网络连接并报告存储库本地副本的相对最新性。
如果您安装了 svn,这非常简单:只需svn status
在相关目录中执行,它就会告诉您当前文件夹是否是工作副本。
如果你没有安装 svn,你需要检查一个.svn
文件夹。但是请注意,从 svn 1.7 开始,只有 svn 工作副本的根节点包含该.svn
文件夹。
更新
如果你需要一次检查多个目录,你可以试试这个命令:
for dir in dirs_to_check; do
svn info && echo $dir
done
这将打印出所有 svn 目录。dirs_to_check
应该是一个以空格分隔的目录列表,例如
/home/user/proj1 /home/user/proj2 /home/user/proj3