2013-05-29 2 views
0

Я не могу удалить неправильно созданный тег из папки моих тегов. Я попытался переключить свою рабочую копию в/tags, а затем просто удалить нужную папку в каталоге тегов. Но это делает значок svn-папки красным, и когда я пытаюсь зафиксировать изменения, которые я делаю, это не позволит мне.Как удалить тег из черепахи SVN

Вкратце, как я могу удалить папку из/тегов, чтобы при других проверках на этот путь они больше не будут их видеть?

+0

«Это не позволит мне» - это должно сработать. Какая ошибка? Я не знаю, Черепаха хорошо, но если у вас есть клиент командной строки, вы можете просто сделать 'svn rm <полный URL-адрес для тега>' – Rup

+0

В нем говорится: Commit failed, Commit заблокирован с помощью фиксации до фиксации (код выхода 1) , с выходом: у вас недостаточно прав для этой транзакции. Я думал, что это происходит потому, что коммиты на тегах не допускаются. – qutab

+0

Справа: это означает, что тот, кто настроил ваш сервер, написал скрипт, чтобы заблокировать это. Вы должны поговорить с ними. (Или попробуйте выполнить команду командной строки, если вы можете: это может не вызвать крючок, но я не уверен в этом на 100%.) – Rup

ответ

4

Из вашего описания крюк после фиксации должен быть временно переименован. После того, как вы завершили свое удаление, крючок можно переименовать обратно в исходное имя.

+0

Это правильно. Превосходно для вашего администратора для настройки этого, теги должны быть неизменными. Существует много способов настроить этот крючок, но, скорее всего, он использует svnperms или какой-то такой соус - вы должны задуматься над тем, чтобы сделать учетную запись службы, которая успешно попадает через этот крючок, чтобы вы могли сделать это обслуживание в будущем. Таким образом, вам не придется гадать со сценариями. – thekbb

1

Предложение от @BradBruce, безусловно, будет работать, но после того, как я увидел этот вопрос, я искал его для лучшего способа и нашел его в этом вопросе SO: SVN pre-commit hook for avoiding changes to tags subdirectories, особенно полезен, потому что вы находитесь в Windows. Пользователь @mcdon предоставляет a hook script that makes tags immutable, поскольку ваш администратор, похоже, сделал это, но также предоставляет крючок (помилование перегрузки там), который позволяет одному назначенному пользователю игнорировать безопасность - именно то, что вы просите! (Вы увидите в верхней части сценария, который вы только должны установить переменную администратора для пользователя, который вы хотите назначить.)

+0

Аккуратно, хотя мы знаем только, что его клиентом является Windows не обязательно его сервер. – Rup

+0

Хорошая точка, @rup; спасибо за это. –

1

сообщение об ошибке вы получаете:

Commit failed, Commit blocked by pre-commit hook(exit code 1), 
with output: you don't have enough permissions for this transaction. 

Ключевая фраза _blocked pre-commit hook. Это препятствует удалению тега. Чтобы удалить тег, вам нужно найти администратора, а также удалить тег или дать вам разрешение на удаление тега.

Смежные вопросы