_svn文件夹在一个工作总监但不是另一个

时间:2013-05-01 18:36:59

标签: svn google-chrome-extension tortoisesvn

我正在使用Tortoise Subversion来控制我正在处理的一些Chrome扩展程序。当我在一台计算机上的Chrome设置区域中构建扩展程序时,它会抱怨隐藏的_svn文件夹,并且无法编译。因此,在检查我的更改之前,我需要暂时将其删除并稍后将其放回去。

在另一台机器上,这种情况不会发生,此处的工作副本似乎在该目录中没有_svn文件夹?怎么会这样?是不是每个文件夹都需要_svn目录才能使源控件生效?我查看了文件夹中的视图选项,即使我显示隐藏的系统文件和文件夹,它似乎并不存在?两台机器之间的唯一区别是一台(没有_svn文件夹)运行较新版本的Tortoise SVN客户端。

更新----

我现在意识到这种不一致是由于使用了两个不同版本的Tortoise SVN客户端。似乎1.7+切换到使用位于存储库根目录中的单个_svn文件夹(参见下面的帖子)。我现在已升级并可以编译扩展而不使用_svn文件夹来解决问题:)

I cannot see the .SVN folders anymore?

1 个答案:

答案 0 :(得分:1)

我使用Subversion已经有一段时间了,但是通常名为.svn的目录不是?我以前从未见过_svn。试试看,看看事情是否有所不同。

顺便说一句,如果你的构建脚本遇到错误并且没有将svn目录放回到它们所属的部分,那么你将会感到难过,并且你将丢失未提交的svn历史记录。而不是删除特定的源控制目录,而是考虑将您想要的东西复制到临时目录。像这样:

TMPDIR=/tmp/myextension
CWD=`pwd`
mkdir $TMPDIR
pushd $TMPDIR
cp $CWD/*.js .
cp $CWD/*.html .
cp $CWD/*.css .
pushd $TMPDIR
zip -r /tmp/myextension.zip .
popd
rm -rf $TMPDIR
popd

(这是想象中的Bash代码,你好像在Windows上,但是你明白了。)这种方法的好处在于你可以在将源文件复制到临时目录时对源文件进行构建时处理,例如通过sed将新版本号插入清单。