Subgit - 停止属性同步

Subgit - stop the properties synchronization

我正在使用 subgit 通过中间存储库(如 official docs for connecting to Github 中所述)对 SVN 和 Gitlab 存储库进行双向同步。这是一个非常缓慢的过渡过程的一部分从当前 SVN 到 Git.

我不知道我的问题是否与这个具体案例有关,但我注意到 SubGit 也在同步根文件夹上设置的属性 - 这些属性是一些锁定时间戳设置Subgit 本身(如 subgit:lock 2018-02-12T17:00:24.067)。就 SVN 端开发人员而言,这些属性完全不相关且不需要。

属性仅从 Git 端移动到 SVN。从SVN进来,没什么特别的。

有没有办法阻止 SubGit 这样做?我已经在 config 文件中使用了同步过滤,但仅针对某些特定文件。我如何对属性做同样的事情?

Note: For those interested, my scenario was a bit specific: SVN repo is behind VPN, while Gitlab is on a live server, which doesn't have the access to that VPN.

The sync was done through local machine (which had the VPN access) as a proxy.
And it all needed to keep accepting the commits from both SVN and Git(lab) side.

这个subgit:lock(和它类似)用于处理2个用户同时提交到SVN和Git的情况。在早期版本中,SubGit 只是发送了一个命令来删除这个 属性(即使它没有设置)并且 "hack" 解决了这个问题。

从 Subversion 1.9 开始,它停止工作并且 Subversion 开始忽略不存在的属性的删除。所以 SubGit 开始每次都将 subgit:lock 设置为一个唯一的字符串。不幸的是,这导致了合并冲突(SGT-1215),在编写这些行时,它设置了一个 属性 具有唯一名称但每次都带有 subgit:lock 前缀。

由于很难区分 1.8 和 1.9 Subverion 服务器版本,SubGit 对 SVN 1.8+ verisons 有这种行为,但对于 1.7 以上的版本它仍然有它的旧行为:删除一个不存在的属性。 它也有其旧的 file:/// 协议访问行为,因为它不依赖于 Subversion 软件版本。

目前没有关闭这个新行为的选项,但如果这真的伤害了你,我想我们可以实现这样一个选项,然后在 SubGit issue tracker 中创建一个问题。

没有 subgit:lock 属性 如果你一次推送 1 次提交,什么都不会发生显着变化。但是如果你同时推送,比如说,提交 A 和 B,并且同时有人将修订 C 提交给 SVN,那么在 SVN 中以 C,A,B 或 A,C,B 修订结束的可能性更高作为结果的存储库。所以,没什么大不了的。

我是 SubGit 开发人员之一。