Вы хотите сохранить весь лот в svn, кроме / avataurs / fu и avatars / ba (на самом деле все avatars / xxx)?
Вам необходимо изначально добавить оставшуюся структуру каталогов в svn.Используйте Tortoise, чтобы добавить корневой каталог, отмените проверку каталогов, которые вы не хотите добавлять, затем подтвердите.это решает первоначальную проблему - не фиксируя нарушающие подкаталоги, все хорошо.
Кроме того, следующая проблема заключается в том, что вы не хотите, чтобы кто-то еще «случайно» добавил вновь сгенерированные подкаталоги - в данном случае предварительноКрюк обязателен.Они действительно очень просты - вам нужно всего лишь написать быстрый пакетный файл или Perl-скрипт, который делает aregex для путей входящих файлов, и возвращает 1, если он есть, ".*/avatars/.*/.*"
(который все еще позволит добавлять новые файлы к этомукаталог).Хук также может возвращать текст, который будет отображаться пользователю, который добавил файлы.Я использую один, чтобы предотвратить возврат файлов с расширением в списке банов (например, .obj и т. Д.).
Если подкаталоги аватаров никогда не попадут в SVN, вы никогда не будете проверять их - очевидно -и ваша работа выполнена!
Вот копия моего файла ловушки pre-commit.cmd.Просто поместите его в свой каталог ловушек (в Windows), и все готово.
@echo off
svnlook changed -t %2 %1 > c:\temp\pre-commit.txt
findstr /G:"%1\hooks\ignore-matches.txt" c:\temp\pre-commit.txt > c:\temp\precommit-bad.txt
if %ERRORLEVEL% NEQ 0 exit 0
echo disallowed file extension >> c:\temp\precommit-bad.txt
type c:\temp\precommit-bad.txt 1>&2
exit 1
файл ignore-match.txt содержит такие строки:
^[^D].*\.obj$
что угодночто соответствует записи в файле ignore-match.txt означает, что фиксация отклонена, пользователь должен будет повторить попытку, на этот раз правильно.