Зеркальный репозиторий SVN [Запись - посредством проксирования]

Мне определили местоположение кодовой базы в Европе и получаю доступ к этой кодовой базе из Азии. Кодовая база существенно огромна, загружая целую кодовую базу (который иногда требуется), становится болью.

Я хотел знать ли что-либо как это.

Я хочу решение, что "У меня будет svn сервер локально, который будет синхронизировать с основным svn и служить моей команде, поскольку svn локально размещается".

Заранее спасибо
Munim

13
задан Abdul Munim 14 March 2010 в 06:37
поделиться

3 ответа

Вот довольно хорошая статья о том, как это настроить:

http://wordaligned.org/articles/how-to-mirror-a-subversion-repository

Общая идея состоит в том, чтобы использовать svnadmin hotcopy для выполнения копирования без простоя, возможно, запущенного обработчиком post-commit или таймером.

Другой вариант, обсуждаемый здесь:

http://blogs.collab.net/subversion/2007/08/mirroring-repos/

- использовать синхронизацию SVN для синхронизации, а не копирования, с помощью команды svnsync synchronize .

3
ответ дан 2 December 2019 в 00:03
поделиться

В сценарии Red Hat /etc/init.d/functions используются двойные подчеркивания.

# __umount_loop awk_program fstab_file first_msg retry_msg umount_args
# awk_program should process fstab_file and return a list of fstab-encoded
# paths; it doesn't have to handle comments in fstab_file.
__umount_loop() {
    # ...
}

# Similar to __umount loop above, specialized for loopback devices
__umount_loopback_loop() {
    # ...
}

# __proc_pids {program} [pidfile]
# Set $pid to pids from /var/run* for {program}.  $pid should be declared
# local in the caller.
# Returns LSB exit code for the 'status' action.
__pids_var_run() {
    # ...
}

# A sed expression to filter out the files that is_ignored_file recognizes
__sed_discard_ignored_files='/\(~\|\.bak\|\.orig\|\.rpmnew\|\.rpmorig\|\.rpmsave\)$/d'
-121--2823047-
  1. Проверьте этот вопрос: Принудительную перессылку при построении в QT Creator
  2. Попробуйте добавить в файл pro нечто похожее на этот код:

     CONFIG (debug, debug 'release) {
    DESTDIR = ../../../bin/debug
    OBJECTS_DIR = ./debug
    }
    в противном случае {
    DESTDIR = ../../../bin/release
    OBJECTS_DIR = ./выпуск
    }
    

Затем необходимо указать зависимости для каждой конфигурации:

CONFIG(debug, debug|release) {   
    LIBS += -L../../../lib/debug \  
        -L../../../bin/debug \  
        -llib1 \  
        -llib2   
    PRE_TARGETDEPS += ../../../lib/debug/liblib1.a \  
        ../../../lib/debug/liblib2.a 
else { 
    LIBS += -L../../../lib/release \
        -L../../../bin/release \
        -llib1 \  
        -llib2   
    PRE_TARGETDEPS += ../../../lib/release/liblib1.a \
        ../../../lib/release/liblib2.a 
}
-121--1130968-

Кроме svnsync, вы можете попробовать коммерческое решение от Wandisco.

0
ответ дан 2 December 2019 в 00:03
поделиться

Вы также можете попробовать write-through-proxy, который поддерживается с SVN 1.5 и отлично работает.

При такой установке у вас есть ведущий и ведомый репозиторий.

Ведомое хранилище действует как локальный кэш для чтения, в то время как коммиты будут передаваться на ведущий сервер и синхронизироваться обратно.

Это решение поставляется с subversion / apache.

Более подробную информацию можно найти в блоге svndevelopers. Или превосходную книгу SVN, или, наконец, subtrain admin training презентации

.
13
ответ дан 2 December 2019 в 00:03
поделиться
Другие вопросы по тегам:

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