Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 用PerlTidy处理subversion Perl repo?_Svn_Refactoring_Perl Tidy - Fatal编程技术网

Svn 用PerlTidy处理subversion Perl repo?

Svn 用PerlTidy处理subversion Perl repo?,svn,refactoring,perl-tidy,Svn,Refactoring,Perl Tidy,我想清理一个现有的subversion存储库,其中包含格式不正确的Perl代码。 由于我不确定是否需要与相当旧的代码进行一些比较,理想情况下,我希望所有修订版的格式都相同 另一方面,通过签出所有旧版本、使用perltidy重新格式化并签入来创建新的回购协议必须保留原始日志消息 有什么工具/食谱可以做吗 你到底想做什么?清理所有旧版本 不要这样做。您将破坏您的历史记录,并且即使您应该生成相同的Perl脚本(刚刚整理好),您也可能最终导致一些以前发布的修订版。此外,这不值得付出努力 我建议您签出当前

我想清理一个现有的subversion存储库,其中包含格式不正确的Perl代码。 由于我不确定是否需要与相当旧的代码进行一些比较,理想情况下,我希望所有修订版的格式都相同

另一方面,通过签出所有旧版本、使用perltidy重新格式化并签入来创建新的回购协议必须保留原始日志消息


有什么工具/食谱可以做吗

你到底想做什么?清理所有旧版本

不要这样做。您将破坏您的历史记录,并且即使您应该生成相同的Perl脚本(刚刚整理好),您也可能最终导致一些以前发布的修订版。此外,这不值得付出努力

我建议您签出当前的修订,运行Perl Tidy,然后签入更改。你不会改变你的旧代码,但它会给你干净的东西从现在开始工作

当然,如果您的Perl代码格式太差,以至于您想用Perl tidy运行整个程序,那么您会遇到更多问题。是什么阻止某人再次把代码弄得一团糟

我还建议您将其视为连续构建过程的一部分。您不需要编译Perl代码,但可以使用Jenkins来运行测试,以确保任何新的Perl脚本和对Perl脚本的任何修改都已整理好。如果一个Perl脚本的格式不好,那么构建就会失败,并给自己和开发人员发送电子邮件

在签入新的Perl代码之前,开发人员将很快学会如何使用Perl Tidy,以面对构建失败的公共尴尬


顺便问一下,开发团队的其他成员是否支持您的工作?如果没有,您首先要做的就是说服他们,好的Perl格式有助于减少bug,并为他们提供工具,帮助他们实现格式工作的自动化。

对于未来,我建议使用一个脚本,强制每个人保持代码整洁

<> P>而不是尝试更改所有以前的提交,当您想与旧版本进行比较时,可以考虑自定义<代码> Sv.diff命令。比如:

#!/bin/bash
# tidydiff.sh for tidying code before diffing
perltidy "$1" > "/tmp/$1"
perltidy "$2" > "/tmp/$2"
diff "$1" "$2"
rm "/tmp/$1" "/tmp/$2"

然后当你想查看旧版本时,使用
svn diff--diff cmd=tidydiff.sh

是的,我想清理旧版本,但由于找不到这样做的工具/方法,我开始认为这可能是一个相当糟糕的主意。我一定会查詹金斯的。我要传播关于帕尔蒂的消息。