СВН крюк для копирования совершенных файлов и папок?

Обновить

February 2019

Просмотры

1.1k раз

1

У меня есть хранилище работает SVN на моем сервере Windows 2008. Он имеет 2 приложения в этом прямо сейчас, позволяет называть их App1 и App2. Я хочу, чтобы скопировать файлы совершенных для приложений в другое место на сервере, по одному для каждого приложения. Я хочу сделать это после того, как совершить, так что я думаю, что после совершения крючок является один использовать?

Как узнать, какие приложения получили новые файлы и как бы команда копирования выглядеть? Файлы для App1 должны пойти в C: \ app1, например, файлы для App2 в C: \ app2.

Спасибо за вашу помощь :).

EOB

3 ответы

0
#!/bin/bash

dir='/path/to/something/special'
dir='/path/to/other/thing'


if [[ $dir =~ "something" ]]; then
    echo "something dir"
fi

if [[ $dir =~ "other" ]]; then
    echo "other dir"
fi
2

Лучше всего иметь извлечённую рабочую копию хранилища на сервере в некотором пути и в , post-commitкак вы правильно упомянули, вобще svn updateна рабочую копию.

1

post-commit is indeed the one to use.

If we look at the example for svnnotify..

#!/bin/sh

REPOS="$1"
REV="$2"

/usr/local/bin/svnnotify                    \
    --repos-path    "$REPOS"                \
    --revision      "$REV"                  \
    --subject-cx                            \
    --with-diff                             \
    --handler       HTML::ColorDiff         \
    --to            <your e-mail address>   \
    --from          <from e-mail address>

Looks like $1 is the repo-path and $2 is the rev.. So you should be able to just do a regex against $1 to test if it's in one of the two paths you're interested in and take action accordingly (or, not)

Culled from: Subversion Post-Commit Hooks 101