TortoiseSVN отсутствует файл в обновлении


12

У нас иногда возникали проблемы с TortoiseSVN (я полагаю, что это Tortoise, а не наш SVN-репозиторий), когда файл будет возвращен в репозиторий (в репозитории вы можете просматривать файлы там), и он будет существовать для этого человека. кто их зафиксировал, но когда другой человек сделает обновление, эти файлы не будут добавлены в рабочую копию. Если я затем выберу «Копировать в рабочую копию ...» в обозревателе хранилища и попытаюсь выполнить фиксацию, файлы будут считаться новыми для меня, и мой клиент попытается добавить их, выдав ошибку. Обновление также приводит к некоторой ошибке (я не знаю, как воспроизвести это, поэтому я не знаю, что конкретно могло бы вызвать это, и я не помню точные ошибки). Затем я должен удалить файлы из хранилища и зафиксировать файлы как новые. После этого,

Доступ к хранилищу осуществляется по протоколу svn: // на сервере с версией 1.4.6. Он размещен на компьютере под управлением Windows Server 2003, работающем как служба Windows.

Хранилище выложено следующим образом:

[Хранилище] / код / ​​[проекты]
[хранилище] / код / ​​[сайт] / * какая-то страница здесь *
[хранилище] / Данные / [Разные файлы данных]
[Хранилище] / Ссылки / [DLLs / ссылка]

Это почти исключительно происходит с .aspx / .aspx.cs / .aspx.designer.cs, и обычно со всеми 3 одновременно. Как будто вся «страница» не будет добавлена ​​в мою папку. Это произошло с Visual Studio, открытой и работающей с решением, а также с не открытой Visual Studio.

Кто-нибудь видел это раньше, и знаете ли вы причину / решение?


1
Не могли бы вы опубликовать версию TortoiseSVN и информацию о том, как размещается ваш SVN (http: //, svn: //, local и т. Д.) И какими средствами (Apache, IIS, VisualSVN и т. Д.), Включая любые другие номера версий.
Ричард Слейтер

1
Также попробуйте воссоздать рабочие каталоги (просто создайте дополнительный), чтобы увидеть, что-то пошло не так, когда вы проверяли в первый раз.
перепроверять

1
В качестве первого шага обновите до последней версии TSVN (1.6.3 прямо сейчас). Я считаю, что в 1.6.x была ошибка, которая была исправлена ​​в версии 1.6.2.
Милен А. Радев

2
Мы сталкиваемся с той же проблемой с клиентом TortoiseSVN 1.7, подключенным к хранилищу Subversion 1.6. Есть ли где-нибудь подобное исправление?
JNappi

Ответы:


10

У меня тоже иногда возникала описанная проблема. В данный момент это случилось снова. Та же ситуация: было несколько файлов, которые были изменены / добавлены / удалены / перемещены на SVN-сервере от SVN-клиента A, а SVN-клиент B обновил свою рабочую копию (используя Tortoise SVN). После обновления некоторые файлы, добавленные из A, отсутствуют в рабочей копии B, но обозреватель хранилища показывает их в правильном месте на сервере SVN. Повторное обновление с помощью Tortoise всегда утверждает, что все в текущей версии. Также «svn up» в папке, где отсутствуют файлы, говорит, что все в текущей версии.

я использую

Черепаха SVN 1.6.6, сборка 17493 - 64 бит

Visual SVN 1.7 (интеграция SVN в Visual Studio 2008)

Изменить: Кажется, это известная проблема, вот решение: http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2379518


1
Для всех остальных: вот прямое решение: для каждой из проблемных рабочих копий используйте «Обновить до ревизии» и установите для глубины рабочей копии «Полностью рекурсивный».
coding_idiot

3

Вы можете проверить, является ли это черепаха или SVN с помощью инструментов командной строки. введите 'svn up' в корневой каталог WC.

Поскольку вы говорите, что используете 1.4.6, у вас нет проблем с разреженными каталогами. Есть ли игнорируемые файлы в настройках вашего клиента? Вы уверены, что ваш WC указывает на правильный URL-адрес в хранилище и не был переключен на другую ветку? (вы можете увидеть это в свойствах папки - есть вкладка Subversion)

Если вы делаете 'svn status' в вашем WC, вы должны увидеть список измененных файлов в каталоге сервера.


3

Я столкнулся с той же проблемой с SVN 1.6.2 и 1.6.3 (командная строка, Tortoise и Subclipse). так что, похоже, проблема связана с самой SVN. Существует обходной путь - попробуйте оформить заказ в том же каталоге - он просто добавляет отсутствующие файлы.


1

Я также сталкивался с этой ошибкой в ​​Tortoise SVN по крайней мере с 1.6.2 до того, что я использую в настоящее время 1.6.5. «Получить последнюю» не получит файлы из хранилища. Мне пришлось удалить затронутый каталог и получить последний в родительском каталоге, чтобы заново создать каталог и его содержимое.

gbjbaanb, это определенно не случай игнорируемых файлов или переключаемых веток.


1

Я не смог решить эту проблему, используя инструкции в ссылке Даниэля, но я согласен, что, по крайней мере, это является основной проблемой большинства реализаций SVN в Windows.

Чтобы исправить проблему с отсутствующей папкой, я предпринял следующие шаги:

  1. «Обновить до ревизии», выбрать номер коммита до того, как какой-либо файл в папке был изменен, добавлен или удален, и убедитесь, что вы выбрали «Полностью рекурсивный». (Это приведет к некоторой странной ошибке в черепахе. Это ожидается!)
  2. Выполните Очистку.
  3. Обновите папку еще раз, и вы должны получить всю папку!

Надеюсь, это поможет кому-то еще.


0

К сожалению, предыдущие ответы выше не сработали для меня. У меня была та же проблема: в папке, над которой я работал, было несколько незафиксированных объектов. Эта папка была обновлена ​​многими объектами другим пользователем. Я мог видеть объекты этого пользователя в репозитории, но каждый раз, когда я делал обновление, я никогда не получал объекты этого пользователя.

Исправление, которое работало, состоит в том, чтобы использовать TortoiseSVN Revert в папке.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.