防止TortoiseSVN将.svn目录中的文件标记为只读

4
我正在使用Windows版的TortoiseSVN。在提交时,TortoiseSVN会将“.svn”子目录中的一些内部文件标记为只读。我该如何防止这种情况发生?它会阻止Windows Live Mesh进行同步。

我不确定哪些文件是罪魁祸首,但如果它们是静止的,你可以尝试为它们设置系统属性。Live Mesh将停止同步它们。 - rene
我不认为在.svn文件夹中同步这些工作文件有任何理由。您可以拥有一个单独的副本,独立管理一个存储库。 - pmod
之前的Windows同步版本能够同步.svn目录。那个功能完美地运作。我可以在一台电脑上签出某些东西,在第二台电脑上进行修改并从第三台电脑提交。现在,我通过手动删除所有文件的只读标志来实现相同的操作。这样做也可以,但我宁愿不必手动操作。 - Petter
2个回答

1

在 .svn 目录中的所有文件都由 Subversion 库处理,这意味着所有 svn 客户端(而不仅仅是 TSVN)将其中的文件标记为只读。甚至 .svn 文件夹本身也被标记为只读和隐藏。

这些文件被标记为只读有原因,你不能随意更改。 SVN 依赖于此。

更新: 事实上,您正在尝试同步工作副本,这意味着您完全错误地使用版本控制。 它被称为工作副本,因为您应该在每个工作站上都有一个副本。并且您必须使用单独的工作副本,而不是同步相同的工作副本。


此外,如果不允许同步 .svn 文件夹,同步软件会破坏已检出的目录,因为它只会同步文件,这些文件的修改状态在不同的计算机上会有所不同。 - Petter

-1

所以之前的Windows Sync版本……你看到问题了吧。选择另一种同步技术。

.svn目录不是你可以随意更改的,把它们想象成只读的和安全保护的Windows文件。

你有几个选择:

  1. 不要同步工作副本,在每台电脑上单独检出。
  2. 同步工作副本并在每次同步后执行更新以刷新.svn文件。
  3. 手动将工作副本从一台电脑复制到另一台电脑 - 例如在资源管理器中就可以这样做。
  4. 同步之前删除目标目录。
  5. 停止使用糟糕的同步工具,获取更好的工具。Google说这里列不完,但有一些比较 可用 在线

停止使用糟糕的同步工具?考虑到这个问题,Windows Live Sync/Mesh 是我尝试过的最好的工具。".svn" 目录不是我能随便玩耍的东西?同步它们完全没问题。整个想法就是让目录精确地镜像对应。 - Petter
显然同步并不完美,否则你就不会问这个问题了。 - gbjbaanb
两种不同类型的同步:我拥有的计算机之间的同步和协作同事之间的同步。 - Petter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接