我使用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
解决方法
壳福来救援……
我不知道’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