准备 shell 文件:
#!/bin/sh
svnname=svnver.h
rm -rf ./${svnname}
cat << END >> ${svnname}
#ifndef __VERSION_SVN_H__
#define __VERSION_SVN_H__
END
svnpath=`svn info | grep URL`
svnver=`svn info | grep Revision`
echo 'const char *svnpath =''"' ${svnpath}'";' >> ${svnname}
echo 'const char *svnver =''"' ${svnver}'";' >>${svnname}
cat << END >> ${svnname}
#endif
END
这个 shell 主要用于生成一个 svnver.h 的 文件 类似如下:
加入到 Makefile 中,使得编译时能更新 路径 和 版本 信息
RUNSHELL := $(shell sh ./svninfo.sh)
将头文件集成到 应用程序中
#include "svnver.h"
编译程序后,可以通过 strings 命令来查询对应的 svn 信息。