Можно ли зафиксировать один файл в нескольких каталогах, которые используют один и тот же родительский каталог, используя subversion? - PullRequest
3 голосов
/ 23 октября 2010

Я хотел бы знать, как зафиксировать файл / папку в нескольких папках за один раз, используя инструмент подрывной деятельности. Я могу поместить файл в несколько папок, а затем сделать коммит, но я просто хочу разместить его в одной папке, и он должен создавать копии в необходимых папках. Возможно ли это?

Ответы [ 3 ]

2 голосов
/ 23 октября 2010

Нет, Subversion поддерживает только один основной репозиторий. Но вы можете обновить из многих мест. Зафиксируйте одно место, обновите из других мест, таких как каталог веб-сервера Если вы вносите изменения там, вы также можете зафиксировать оттуда.

0 голосов
/ 23 октября 2010

Если вы пытаетесь повторно использовать центральный файл, вы можете использовать свойство svn:externals.Зафиксируйте файл в каком-нибудь центральном месте в вашем дереве репозитория, а затем создайте для файла свойство svn: externals (или, возможно, лучше его родительский каталог).Таким образом, вы можете зафиксировать его из любого места (в том числе из тех мест, где его извлекает svn: externals) и использовать повторно.

0 голосов
/ 23 октября 2010

Что-то вроде Apache Ant или Maven поможет вам выполнить эту задачу.

Редактировать: может быть что-то подобное в хуке предварительной фиксации (создайте файл 'pre-commit' в вашем каталоге хранилища / hooks) (черновая версия):

#!/bin/bash

REPOS="$1"
TXN="$2"
SVNDIR=""
SVNLOOK="/usr/bin/svnlook"
NEWPATH="/path"

CHANGED=`$SVNLOOK changed -t "$TXN" "$REPOS" | $GREP "^[U|A]" | $AWK '{print $2}'`

for FILE in $CHANGED
do 
cp "$FILE" "$NEWPATH/$FILE" 
done

svn add -force "$SVNDIR" 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...