Статус " S " в Subversion
в какой-то момент все файлы в моей рабочей копии были отмечены символом "S", как показано ниже:
$ svn st
M S AclController.php
S InstallationController.php
S CustomerController.php
S RedirController.php
S IndexController.php
S LoginController.php
S OrderController.php
S ProductController.php
S SelfInstallController.php
S SelfcareController.php
интересно, что это происходит только в этой конкретной рабочей копии - когда я проверяю проект в новый каталог, он не показывает метки "S".
Как избавиться от этого раздражающего символа "S"? Это значительно снижает четкость состояния WC.
обновление: я переключаюсь время от времени, используя стандартный svn switch
синтаксис. Этого никогда не было вызывая этот символ "S", чтобы появиться до недавнего времени. Для переключения использовалась команда:
svn switch svn+ssh://xxxxxx/subversion/xxxxxxx/releases/1.0.16 .
есть ли способ, которым я могу очистить флаг "S"?
13 ответов:
Если вы вызовете "svn info" В самом каталоге и на (одном из) файлов внутри вы получите два разных URL-адреса.
вы получаете статус 'S', Если url-адрес файла/каталога не соответствует URL-адресу родителя, за которым следует имя файла.
можете ли вы разместить url-адрес родительского и одного из дочерних узлов? (анонимизация URL, где это уместно)
у меня было'S' состояние при переключении с магистрали (r100) на какую-либо ветку (r50). Я получил ошибку :
svn: Failed to add file 'web/.htaccess': an unversioned file of the same name already exists
все веб/с подкаталоги были 'S' отметить.
причина: я удалил .htaccess для svn: игнорировать его (r100), а затем создал его снова (неверсированный и игнорируемый). Ветка (r50) все еще имела web/.htaccess в репо.
решение :
mv web/.htaccess ../../ svn switch back to trunk svn switch to branch again
все нормально.
У меня была эта проблема с каталогом, который я успешно передал SVN. Решение для меня было стереть его локально, а затем обновить. Я не видел никаких различий, но ... svn файл был исправлен по любой причине (не более S).
просто замечание: я получил тот же символ S, Когда я проверил удаленный каталог из то же самое место в репозитории, но с использованием другого URL, т. е. использование различных протоколов для проверки, таких как ' svn checkout svn+ssh://user@scm.gforge...'против' svn checkout --username user https://scm.gforge....'. Я решил это, проверив его снова, используя тот же URL-адрес, который я использовал для первой проверки.
в случае, если кто-то приходит поздно, ища ответ (который правильно указан выше), я считаю, что вероятной причиной этой ситуации является "переключатель svn" в Родительском каталоге, который терпит неудачу (как и в случае локального незафиксированного файла с тем же именем и без опции --force), оставляя все файлы после сбоя "отключенным".
вот почему (предполагая, что исходная проблема позже исправлена) последующий "переключатель svn" снова в том же родительском каталоге действительно будет переключатель оставшиеся ООН-переключил файлов в новый путь РЕПО.
Это означает, что вы переключились с одной рабочей копии на другую, например, вы проверили рабочую копию, а затем поменяли ее на сравнение с веткой кода. Взгляните на SVN book подробнее о том, как отменить это.
есть еще один способ, которым этот статус может быть достигнут - который, надеюсь, сэкономит кому-то некоторое время, отслеживая его.
я распаковал внешнюю библиотеку в свой корень SVN, и оказалось, что сторонний автор случайно включил свой собственный .папка svn в одной из своих папок. Это, конечно, перезаписывает нашу собственную, правильную папку subversion и имеет тот же эффект, как описано в другом месте на этой странице - папка, похоже, неожиданно переключилась на другую отделение.
это обычно вызвано прерыванием при переключении ветвей.
переключитесь на другую ветку, а затем вернитесь к ветке, которую вы действительно хотите.
svn switch some_other_branch_url
svn switch desired_branch_url
для меня это происходит, когда команда" svn switch " прерывается и для ее решения с помощью TortoriseSVN я нажимаю правой кнопкой мыши на файл и выбираю вернуться к родительскому