Мы готовимся к переходу с SVN на GIT. Все наши проекты (каждая из которых имеет филиалы, теги и т. Д.) Находятся под одним хранилищем. Во время миграции мы хотели бы сделать некоторые проекты доступными только для чтения. Можно ли написать привязку фиксации SVN, которая проверяет, были ли файлы изменены по определенному пути?SVN: Можно ли предотвратить фиксацию по определенному пути?
Решение:
#!/bin/sh
REPOS="$1"
TXN="$2"
SVNLOOK=/opt/local/bin/svnlook
# Committing to migrated projects to GIT is not allowed
$SVNLOOK changed -t "$TXN" "$REPOS" | grep "\/some_path\/" && /bin/echo "This repository is read-only due to migration to GIT. Please commit to GIT repo instead!" 1>&2 && exit 1
# All checks passed, so allow the commit.
exit 0