我使用subversion(Xcode)提交我的文件,我想在我的所有文件头上添加我的svn信息 - 请告诉我是否有其他可用的脚本?
喜欢
Node Kind: directory
Schedule: normal
Last Changed Author: karthikeyan
Last Changed Rev: 9
Last Changed Date: 2011-06-21 23:55:20 +0530 (Tue, 21 Jun 2011)
#import "TestController.h"
@implementation TestController
答案 0 :(得分:4)
Shell-fu救援......
我不知道'Node Kind'和'Schedule'是什么,但请执行以下操作:
将以下内容放在shell脚本中,为了参数的目的将其称为insert_header.sh
:
#!/bin/bash
FILE=$1
sed '1s:^:\
:
1i\
Node Kind: directory
1i\
Schedule: normal
1i\
Last Changed Author: $Author$
1i\
Last Changed Rev: $Rev$
1i\
Last Changed Date: $LastChangedDate$
' $FILE > $FILE.somerandombackupextension
mv $FILE.somerandombackupextension $FILE
打开终端会话。
使用chmod +x insert_header.sh
使文件可执行并将其放在PATH中,或者使用其相对路径运行它(见下文)。
然后,在源检出目录中运行以下命令(例如,如果要更改扩展名为.cpp的文件):
find . -name \*.cpp -exec insert_header.sh {} \; -exec svn propset svn:keywords "Author Rev LastChangedDate" {} \;
运行svn status
,并期望使用以下“MM”状态代码查看所有已更改的文件:
MM path/to/file1.cpp
MM path/to/file2.cpp
如果您不喜欢这些更改,请使用svn revert -R .
还原,否则svn commit -m "+1 for opyate ;-)"
PS我尝试了一个虚拟项目,结果看起来像这样,这是正常的:
Node Kind: directory
Schedule: normal
Last Changed Author: $Author: opyate $
Last Changed Rev: $Rev: 2 $
Last Changed Date: $LastChangedDate: 2011-06-30 23:20:33 +0100 (Thu, 30 Jun 2011) $
...the rest of my file
答案 1 :(得分:3)
SVN Keywords应该完全按照您的意愿完成