Команда svn status
может помочь с этим.
Например, предположим, что у меня есть каталог foo
, а в хранилище есть подкаталоги bar
и baz
.И предположим, что я перехожу baz
в bar
, не сказав SVN.Затем я получаю:
$ svn status foo/
? foo/bar/baz
! foo/baz
?
для foo/bar/baz
указывает, что он существует в локальной версии, но не в хранилище - точнее, что он существует в каталоге foo/bar
наВаша локальная копия, но информация о SVN в foo/bar/.svn
не имеет записи об этом.Аналогичным образом, !
для foo/baz
указывает, что он существует в хранилище (или, точнее, в информации в foo/.svn
), но фактический файл / каталог в вашей локальной копии отсутствует.
Между тем, если проблема заключается в пропаже самой папки .svn
, которая будет отображаться так:
$ svn status foo/
~ foo/quux
Это означает, что foo/.svn
говорит о том, что должно быть foo/quux
,и foo/quux
существует, но нет foo/quux/.svn
.
Наконец, если проблема в том, что в каталоге есть .svn
, который указывает куда-то, кроме подкаталога его родителя - скажем, выВы сделали svn switch
для этого каталога - тогда вы получите следующее:
$ svn status foo/
S foo/quuux
Если вы используете Windows и используете TortoiseSVN, вы можете получить ту же информацию, щелкнув правой кнопкой мыши вкаталог верхнего уровня и выбрав «TortoiseSVN -> Проверить наличие изменений» во всплывающем меню.Вещи, которые были переключены (т. Е. Неправильный каталог .svn
), будут отображаться как "нормальные (ий)" в своем статусе.