Итак, объясните, что именно вы хотите:
- Если все файлы
.cpp
файлов, вы хотите, чтобы проверить совершить комментарий. В противном случае вы хотите проигнорировать комментарий.
- Если некоторые файлы являются файлами
.cpp
, вы хотите проверить комментарий фиксации. В противном случае вы хотите проигнорировать комментарий.
- Вы хотите только
.cpp
файлов в вашем репозитории. Ничего больше. И вы хотите отклонить любые коммиты, содержащие не-C++-файл.
Независимо от того, что вы делаете, вам необходимо запустить команду svnlook changed
и посмотреть все файлы, которые были изменены. Помните, что для всех файлов есть только один комментарий коммита.
Я был бы удивлен, если вы сомневаетесь в причине причины № 3. C, конечно, требует Makefile на стороне Unix, и если вы используете IDE, которая позволяет вам указать сборку без Make-файлов, то есть файлы , которые необходимо сохранить.
Возможно, вы захотите проверить мои kitchen sink pre-commit hook. Этот крюк предварительной фиксации будет обрабатывать практически любую ситуацию, которую вы хотите. Он использует файл управления для конфигурации, поэтому вам не нужно изменять код.
Хотите, чтобы люди не работали над любыми файлами, отличными от C++?
# Remove all permission
[file You don't have permission to add these files to the repository]
match = .*
access = read-only
users = @ALL
# Allow only files ending in .cpp
[file You don't have permission to add these types of files to the repository]
file = **/*.cpp
access = read-write
users = @ALL
# Users must be able to add directories
[file You don't have permission to add these types of files to the repository]
match = /$
access = read-write
users = @ALL
# Probably want to allow the addition of Makefiles too
[file You don't have permission to add these types of files to the repository]
match = [mM]akefile$
access = read-write
users = @ALL
Хотите, чтобы данные о комментировании были действительны?
[revprop You must add a VALID comment to your commits]
property = svn:log
value = .{10,}
type = regex
Есть ли опечатка в вашем grep? 'grep [A-Za-z]'? grep '\ w +' было бы лучше, я думаю. – Barry
Команда grep отлично работает, ... (я имею в виду, что команда grep и find не работает для отслеживания файлов cpp), как отслеживать только файлы .cpp из svnlook – priya
Вы уверены, что каждая фиксация состоит только из файлов '.cpp' или нет. ? Что должен делать скрипт, если есть смесь? – mliebelt