2008-10-30 7 views
28

Замечено:
Может ли TortoiseSvn работать в Windows 2008 без отключения контроля учетных записей пользователей?TortoiseSvn и Windows Server 2008 учетная запись пользователя

Вот эта история: Я только что перенесла свой тестовый сервер в Windows 2008, и у меня возникли проблемы с TortoiseSvn. Я зарегистрировался как администратор, но когда я перехожу к обновлению некоторого кода из репозитория Subversion, я получаю сообщение: Ошибка Не удается установить файл 'C: \ dev \ trunk.svn \ entries' read-write : Доступ отрицается Так что я видел такие сообщения, и я знаю, чтобы запустить очистку. Но когда я бегу ыборку я получаю: Cleanup не удалось обработать следующие пути: C: \ DEV \ Ствол

Так дальнейшее исследование убеждает меня, что у меня есть проблемы с правами доступа. Запуск svn status из командной строки показывает мне, что каталоги заблокированы и запущены. svn cleanup не работает так же, как очистка черепахи. Но когда я запускаю командную строку в качестве администратора, я могу запустить svn cleanup без проблем, и я могу запустить svn up и обновить мои файлы.

UPDATE: Это проблема разрешений Windows UAC. Выключение UAC устраняет проблему. Но я хотел бы найти решение, которое не требует отключения UAC. Поскольку Tortoise является расширением оболочки Windows, я не знаю, как заставить его работать как администратор.

Любые предложения?

+0

Выполнение этого запуска, поскольку администратор просто приведет к тому, что запрос запрашиваемой операции потребует сообщения о высоте окна, и интерфейс не будет запущен вообще. См. Http://stackoverflow.com/a/4806112/692942 – Lankymart 2017-01-04 09:54:56

ответ

38

щелкните правой кнопкой мыши на вашей рабочей папке c: \ dev, выберите «свойства» в контекстном меню. В диалоговом окне свойств перейдите на вкладку безопасности. Вы заметите, что пользователь Admin не имеет полного доступа (пользователь там не указан). Добавьте пользователя Admin и дайте ему полные права доступа.

Да, пользователь Admin обычно имеет полные права доступа ко всем папкам, но только после приглашения UAC. Обычно приложения не предоставляют приглашение UAC, но вместо этого получают ошибку с доступом. Чтобы предоставить пользователю Admin полный доступ к этой папке без приглашения UAC, вы должны добавить этого пользователя вручную.

9

Примите участие и получите полный контроль над C: \ Dev \ Trunk.svn и детьми. Это должно решить вашу проблему.

Я бы посоветовал отключить UAC. Если вам нужно отключить его, вы можете сделать это через Панель управления \ Учетные записи пользователей \ Включить учетную запись пользователя.

+0

Я создал папки, поэтому я их уже владею. Превращение UAC Off действительно устранило проблему, но это не исправление, которое я искал. – 2008-10-31 15:24:53

+0

Собственно, разрешения по умолчанию немного сложнее. Другая учетная запись может создать файл в подпапке папки, принадлежащей вам, к которой у вас не будет доступа. – 2008-10-31 18:42:10

+0

Weird У меня была группа локальных администраторов с полным контролем, но все еще были ошибки в том, что база данных читается только при попытке обновления или переключения. Добавление моего пользователя на вкладку «Безопасность» было исправлено, хотя я локальный администратор. Спасибо за это. Что еще более важно, мне не пришлось жертвовать защитой UAC, чтобы сделать это. – Lankymart 2017-01-04 09:52:55

0

Я использую TortoiseSVN для Windows Vista SP1 с включенным UAC. У меня не было проблем. Поскольку Vista SP1 и Windows 2008 по сути являются одной и той же операционной системой, я думаю, что у вас может возникнуть другая проблема.

SVN много переименовывает временные файлы, и это не является особенно надежным, если есть нарушение обмена. Я обнаружил, что некоторые антивирусные продукты обнаружат, что SVN только что закрыл (временный) файл. Они сканируют его, и пока они сканируют его, SVN пытается переименовать его - нарушение обмена: бум. Поисковые индексы иногда вызывают такую ​​же проблему.

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

+0

Я мог видеть, как AV и индексирование могут быть проблемой, но у меня нет AV на этом сервере, и папки блокируются каждый раз, когда я пытаюсь обновить черепаху. Совместное использование проблем с услугой индексирования будет прерывистым. – 2008-10-31 14:54:35

-1

Пробовал ли вы переход к программным файлам \ TortoiseSVN \ bin в проводнике Windows и настройке «запустить администратора объявлений» на TortoiseProc.exe> ​​Свойства> Совместимость?

0

Мы только что обновили до SVN 1.9.3, но мы используем SVN на нашем сервере разработки для обновления наших сайтов тестирования непосредственно из репозитория путем проверки файлов веб-сайта. Мы обнаружили, что пользователи, которые не выполнили первоначальную проверку, не имеют разрешения на запуск обновления SVN. Теперь все эти пользователи являются частью группы администраторов, и это все равно не имеет значения, но то, что мы обнаружили, было очень странным, так это то, что вы можете добавить группу Everyone в выгруженную папку, а затем любой сможет выполнить SVN Обновить.

Я не понимаю, почему добавленная группа будет выполнена, а не кто-либо из группы «Администраторы».

Я гарантировал, что группа «Администраторы» имеет полный контроль и распространяется на все подкаталоги и файлы. Это не было важно.

Если у кого-то еще есть объяснение, это было бы очень полезно.