【问题标题】:Automatically indent the code without messing the tracking of changes in svn自动缩进代码而不弄乱svn中更改的跟踪
【发布时间】:2014-10-16 16:05:03
【问题描述】:

我需要在包含多个源文件的项目中运行 astyle。不是所有开发人员都使用通用的IDE,他们在vi、gedit、Netbeans、Eclipse等中开发。所以我不能使用配置文件进行缩进。为了在代码缩进中保持标准,我想运行一个脚本(可能在服务器中),该脚本每天为每个源文件执行 astyle 并提交更改。但我担心我会忘记谁对代码进行了最后一次更改。

我可以配置 svn 来保存在执行 astyle 之前谁进行了更改的信息吗?

谢谢。

【问题讨论】:

  • 虽然需要更多的工作来弄清楚如何配置所有编辑器以使用相同的“样式”,但对于在提交后不需要更新的开发人员来说,麻烦和困惑会大大减少。
  • 实际上它们在提交后不需要更新,因为脚本每天会运行一次(可能在午夜)。
  • 不过,如果标准如此重要,让开发人员配置他们的工具以遵守既定标准更有意义。
  • 相信我,我们已经尝试了很多次。

标签: svn astyle


【解决方案1】:
  • SVN 已经自动始终保留此信息(请参阅svn log -l 1 FILE
  • 您必须记住每个(在 astyle 之后修改 && 提交)文件的旧提交者并恢复(由 astyle-script 修订添加)以前的提交者 - 它可以是特殊的提交后挂钩,您可以在其中执行 几乎任何东西

提示:

  1. 构建更改列表(在提交之前),您将在其中收集每个提交者的文件
  2. 在特殊的分隔用户下提交与样式相关的更改,使用 p.1 中的更改列表,或者,如果您知道用户的名称|密码,则以该用户身份提交(--username + --passwordsvn ci 的选项)
  3. 只能为特殊提交者执行永久的提交后挂钩(甚至可能是提交前),并将更改提交|事务的作者propset

不管怎样,行政反应和制裁(“按规矩办事还是出局”)是比较正确和快捷的方式

【讨论】:

    猜你喜欢
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    相关资源
    最近更新 更多