gpt4 book ai didi

svn - 颠覆 : prevent local modifications to one file from being committed?

转载 作者:行者123 更新时间:2023-12-03 07:49:30 25 4
gpt4 key购买 nike

我有一个 Subversion 工作副本,我在其中对一个文件进行了一些本地修改。这些修改只与我有关,我不想提交它们。 (存储库中的版本包含一些适合其他用户的默认值,但不适合我,这就是我想在本地覆盖它们的原因。)

请注意,虽然我不想提交更改,但我确实希望在执行 svn update 时收到存储库中所做的任何更新。 .此外,只有在我的工作副本中我不想提交对该文件的更改,其他用户不应该受到影响。所以svn:ignore或提交钩子(Hook)不符合我的目的。

目前,我只是这样做:

svn commit file1 file2...

我在其中明确指定具有更改的文件,不包括我不想提交的特定文件。

然而,当我工作的时候,我有简单写的习惯:
svn commit -m "Log of what I just did"

而且我担心我会在我不注意的时候使用上面的命令无意中提交“禁止”文件。

简而言之,我正在寻找的只是一种在工作副本中“标记”文件的方法,它可以防止 Subversion 提交该文件中的更改(它不必是自动排除,即使我只是得到一个当我尝试提交所有文件时出错,这很好)。有点像将文件标记为“冲突”状态......

这样的事情存在吗?

更新 : akent,感谢您指出 very similar question .

最佳答案

有几个答案可以工作:

  • 创建一个预提交钩子(Hook)脚本,在添加特定属性时拒绝提交。然后,您可以将此属性添加到工作副本中的文件以防止提交。
  • TortoiseSVN 将排除特殊更改列表“ignore-on-commit”中的文件。但是,SVN 命令行客户端不支持这一点。

  • CoverosGene 建议使用默认命令如 svn commit对默认更改列表进行操作,这样您可以在将文件分配给另一个更改列表时将其排除,但我在文档和我的测试中找不到任何引用 这不起作用 .

    由于SVN命令行客户端没有好的解决方案,所以我开了一个增强请求 here .该请求表明命令行客户端也可以遵守“ignore-on-commit”更改列表。

    更新:现在是 issue 2858并且有一个 feature outlinesvn:hold 处理它属性(property)。

    关于svn - 颠覆 : prevent local modifications to one file from being committed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/862950/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com