【发布时间】:2012-10-23 16:14:53
【问题描述】:
我首先要说这完全有可能不可能 - 如果不是,那很好(好吧,这很糟糕,但我会活下去)。我知道可能会有一些“好吧,那无论如何会如何工作?”做我想做的事,但是,嘿。
我想做的是在不更改任何所有权数据的情况下重新格式化 Subversion 存储库中的大量文件,或者转这个:
username | commit number
------------------------------------------------
john_smith | 1 | <?php
john_smith | 1 | echo 'Hello world';
joe_bloggs | 2 | if (isset($user)) {
john_doe | 3 | echo ', and hello ' . $user;
joe_bloggs | 2 | }
进入这个(新行是无主的):
username | commit number
------------------------------------------------
john_smith | 1 | <?php
| |
john_smith | 1 | echo 'Hello world';
joe_bloggs | 2 | if (isset($user))
| | {
john_doe | 3 | echo ', and hello ' . $user;
joe_bloggs | 2 | }
或者这个(新行归我所有,但更改的行不属于):
username | commit number
------------------------------------------------
john_smith | 1 | <?php
mr_man | 4 |
john_smith | 1 | echo 'Hello world';
joe_bloggs | 2 | if (isset($user))
mr_man | 4 | {
john_doe | 3 | echo ', and hello ' . $user;
joe_bloggs | 2 | }
或任何其他排列。
我想要这样做,因为存储库中有很多格式错误的代码,我希望在不拥有(几乎)整个事情的所有权的情况下清理它,因为它很方便能够在文件的一侧点击 Blame 并查看每一行的最后更改,以及这些更改的原因。 用重新格式化提交消息和所有权将删除存储库的大部分内容,并迫使我们在日志中查找真实的人,然后对其进行比较以确保。
如果有人能想出另一种方法来重新格式化代码而不破坏 Blame,我也愿意就此提出建议。
【问题讨论】:
标签: svn version-control versioning blame