Статус " 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.
обновление: я переключаюсь время от времени с помощью standard 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
все Web / 's subdirs были'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), оставляя все файлы после сбоя "un-switched".
вот почему (если исходная проблема позже исправлена) последующий "svn-переключатель" снова в том же родительском каталоге действительно будет переключатель оставшиеся ООН-переключил файлов в новый путь РЕПО.
Это означает, что вы переключились с одной рабочей копии на другую, например, вы проверили рабочую копию, а затем поменяли ее на сравнение с веткой кода. Взгляните на SVN книга подробнее о том, как отменить это.
есть еще один способ, которым этот статус может быть достигнут-который, надеюсь, сэкономит кому-то некоторое время, отслеживая его.
я распаковал внешнюю библиотеку в свой корень SVN ,и оказалось, что сторонний автор случайно включил свой собственный.папка svn в одной из своих папок. Это, конечно, перезаписывает нашу собственную, правильную папку subversion и имеет тот же эффект , что и в другом месте на этой странице-папка, похоже, неожиданно переключилась на другую отделение.
это обычно вызвано прерыванием при переключении ветвей.
переключитесь на другую ветку, а затем переключитесь обратно на ветку, которую вы действительно хотите.
svn switch some_other_branch_url
svn switch desired_branch_url
для меня это происходит, когда команда" svn switch " прерывается и для ее решения с помощью TortoriseSVN я нажимаю правой кнопкой мыши на файл и выбираю переключиться обратно на parent
простое решение, чтобы избавиться от "S", Когда вы вопрос
svn status
- это просто перейти к dir, который отмечен " S " и удалить скрытый .каталог СВН:
rm-rf .svn
после этого источники отображаются с пометкой '?- и вы легко могли бы добавить их свежими:--2-->
svn добавить путь / к / ресурсу
Я предлагаю вам прочитать его официальную помощь, попробуйте:
svn st --help
или
svn st --help | grep S
'S' the item has a Switched URL relative to the parent