我一直在谷歌搜索一段时间,但我很惊讶无法找到答案,非常简单,问题.
使用mercurial 1.4,当我在Windows客户端上克隆存储库时,符号链接显示为包含原始文件路径的文件.
我没有广泛使用符号链接,但我确实使用它们进行共享库处理(例如libpng.so - > libpng.so.2-> libpng.so.2.43.0).
Windows框仅用于测试,这意味着如果符号链接原始文件的实际副本,我会非常讨厌,这将让我编译.
我看到http://markmail.org/message/7d353ucvivhphvvk基本上是同一个问题,但没有任何真正的答案.
嗯,通常的答案是它不值得痛苦,至少在VCS级别.当然,你提出的解决方案对你有用,但是编辑符号链接的文件副本呢:它们是否应该更新?以不同方式编辑源文件和复制文件时会发生什么?等等.
但是,没有人阻止您实现扩展,或者扫描清单并使用原始文件覆盖链接的简单(更新)挂钩.它会使符号链接看起来像已更改,但您可能不关心您的测试设置.
这是钩子代码(symcopy.py):
def symcopy(ui, repo, hooktype, parent1, **kwargs):
ctx = repo[parent1]
for f in ctx:
if 'l' in ctx.flags(f):
# overwrite symlink with original file content
print 'overwriting', f
fsrc = ctx[f].data()
repo.wwrite(f, ctx[fsrc].data(), '')
Run Code Online (Sandbox Code Playgroud)
然后在repo hgrc中添加如下内容:
[hooks]
update = python:c:/path/to/symcopy.py:symcopy
Run Code Online (Sandbox Code Playgroud)
并运行测试:
$ hg up -C somerev
Run Code Online (Sandbox Code Playgroud)
你真的想 - 更新时清理,因为钩子会将符号链接标记为已修改,并且你不想触发合并.
也许fsrc
必须清理一下,但你明白了.
归档时间: |
|
查看次数: |
3111 次 |
最近记录: |