Как создать svnwcrev

Если необходимо использовать конфетку. Можно выбрать между Centos, Научным Linux или Fedora. Последний имеет более актуальное программное обеспечение и легче использовать. Centos и Scientific Linux является точно Redhat Enterprise клон Linux.

0
31.12.2012, 05:16
2 ответа

Без большей информации я могу только предложить Вам, как я сделал это на дистрибутивах CentOS & Fedora Linux. Я знаю коллегу, который заставил это основываться Ubuntu также, но я не знаком со всеми шагами, которые они сделали для выполнения этого.

Для меня я использовал следующие шаги.

Сначала я должен был внести изменение в строку № 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, эта функция возвращала 31.12.1969 (01.01.1970 - 2 мкс).

Мои коллеги и я, казалось, думали, что это, возможно, было корректным поведением на другой платформе или возможно более старой версией apr библиотека была реализована по-другому, где это раньше работало. Я использовал apr версия 1.4.5 для создания svnwcrev.

Изменение на функцию apr_time_now() устраненный проблема.

Установка и Установка

svnwcrev реализация subwcrev.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. созданный a 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-devel и subversion-devel RPMs.

4. скомпилированный svnwcrev как так:

% make
0
28.01.2020, 05:03
  • 1
    я не имею before: #define USE_TIME_NOW -2 // 0 and -1 might already be significant. в строке № 151 –  Kummo 31.12.2012, 05:22
  • 2
    , что строка не является литералом "прежде: это - то, на что строка была похожа прежде и после того, как я изменил ее. После то, на что это должно быть похожим после. –  slm♦ 31.12.2012, 07:51
  • 3
    BTW, попробуйте шаги, которые я обрисовал в общих чертах выше, я просто проверил дважды, и они хорошо работали в моих системах Fedora & CentOS. –  slm♦ 31.12.2012, 08:02

Добавление к ответу от slm Мне пришлось сделать следующее, чтобы получить последний исходный код от 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.

Затем мне пришлось добавить следующее в строку 33 файла src / SVNWcRev.cpp

#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
....
0
28.01.2020, 05:03

Теги

Похожие вопросы