如何构建 svnwcrev

如何构建 svnwcrev

我在建设过程中遇到了困难svnw船员,正如自述文件所说:“这个小实用程序没有复杂的安装过程。”...

我修改了 config.mk 文件,按照自述文件设置 APR_INCLUDE,当我运行时制作:

http://pastebin.com/NE1nevek

有什么建议来构建这个工具吗?谢谢!

答案1

添加到答案中可持续发展管理我必须执行以下操作才能从 tigress 获取最新源代码以在 Ubuntu 15.10 上进行编译

wget http://svnwcrev.tigris.org/files/documents/3444/44067/svnwcrev-1.0.tar.gz
tar -xzvf svnwcrev-1.0.tar.gz 
apt-get install libapr1-dev libsvn-dev
cd svnwcrev-1.0

这提供了 config.mk 文件中引用的标头,然后将 config_mk.template 重命名为 config.mk。

然后我必须在 src/SVNWcRev.cpp 的第 33 行添加以下内容

#include <stddef.h>

这修复了 Expansion 和 ptrdiff_t 未定义的编译器错误。

我还必须修改 Makefile 以包含缺少的库并禁用警告。此处列出了更改的行:

...
CPPFLAGS=-I$(SUBVERSION_INCLUDE) -I$(APR_INCLUDE) -Wno-deprecated-declarations
...
LDLIBS=-lpthread -L$(LIBRARIES) -lsvn_client-1 -lsvn_wc-1 -lsvn_subr-1 -lapr-1
....

答案2

如果没有更多信息,我只能向您提供我是如何做到这一点的中央操作系统&软呢帽Linux 发行版。我认识一位同事,他Ubuntu也以此为基础进行构建,但我不熟悉他们为实现这一目标所采取的所有步骤。

对于我自己,我使用了以下步骤。

首先,我需要对 .txt 中的第 150 行进行更改SVNWcRev.cpp

# before: 
#define USE_TIME_NOW    -2  // 0 and -1 might already be significant.

# after:
#define USE_TIME_NOW    apr_time_now()  // 0 and -1 might already be significant.

笔记:该功能的详细信息apr_time_now()在此

该函数返回当前时间。该页面还详细介绍了该功能apr_time_exp_lt()。在该文件中,SVNWcRev.cpp有一个InsertDate()使用多个参数调用的函数,其中包括USE_TIME_NOW.该参数与新构造的apr_time_exp_t对象一起传递给apr函数apr_time_exp_lt()。与原始值-2,此函数返回 12/31/1969 (1/1/1970 - 2usecs)。

我和我的同事似乎认为这可能是不同平台上的正确行为,或者可能旧版本的库在apr过去工作的地方以不同的方式实现。我使用apr1.4.5 版本来构建svnwcrev.

更改为该功能apr_time_now()解决了该问题。

安装与设置

svnwcrevsubwcrev.exe是由 提供的工具的实现TortoiseSVN这里。我发现svnwcrev 这里。我是svnwcrev这样下载的:

% svn checkout http://svnwcrev.tigris.org/svn/svnwcrev/trunk svnwcrev --username guest

笔记:我得到了以下版本的 svnwcrev。

% svn info
Path: .
URL: http://svnwcrev.tigris.org/svn/svnwcrev/trunk
Repository Root: http://svnwcrev.tigris.org/svn/svnwcrev
Repository UUID: 4d73e863-0307-0410-bf4f-fe65b2d002b6
Revision: 10
Node Kind: directory
Schedule: normal
Last Changed Author: mailman
Last Changed Rev: 10
Last Changed Date: 2011-05-26 05:05:03 -0400 (Thu, 26 May 2011)

下载后我做了以下更改。

1.创建了一个config.mk文件:

% cp config_mk.template config.mk

2.更改config.mk为如下所示:

SUBVERSION_INCLUDE=/usr/include/subversion-1
APR_INCLUDE=/usr/include/apr-1
LIBRARIES=/usr/lib

3.安装了apr-develsubversion-develRPM。

4.svnwcrev像这样编译:

% make

相关内容