我正在使用 SVN 进行一个大型项目,最近我们对编码标准进行了一些更改。
现在我的问题是:是否可以提交更改,例如在必要时添加空格或将制表符更改为空格,而不会干扰 svn blame/svn annotate 信息?
例如:
我现在有类似的东西:
5061 someone return SUCCESS;
5061 someone }
6904 someone2
6904 someone2 int someFunction(long seqNum)
6904 someone2 {
6904 someone2 void* msg_buffer = NULL;
6904 someone2 Address source = AddressGet(someId,messageIdGet());
我想添加一个空格并将星号从左向右移动
5061 someone return SUCCESS;
5061 someone }
6904 someone2
6904 someone2 int someFunction(long seqNum)
6904 someone2 {
7123 me void *msg_buffer = NULL;
7123 me Address source = AddressGet(someId, messageIdGet());
我可以这样做,但让 svn annotate/svn blame 信息指向“someone2”而不是“me”吗?
答案1
不,您的提交将永远成为历史记录的一部分,默认情况下它将影响指责输出。我甚至不确定您是否想这样做:如果您在应用这些标准更改时犯了错误怎么办?
但是,您可以使用选项责备忽略空格。具体来说,svn blame
接受--extensions 标志,因此您可以这样做(例如):
svn blame --extensions --ignore-all-space file.c
答案2
- 每个 SVN 修订版本都有 3 个默认的未版本化属性
svn:author svn:date svn:log
- 您可以更改修订属性:
- 从客户端,使用第二种形式道具集(但无论如何,必须在存储库端创建正确的 pre-revprop-change 钩子):详细说明
- 从存储库端,使用svnadmin 设置revprop