Не удается открыть .svn/text-base/file.svn-base?

Я использую TortoiseSVN. Я только что внес несколько изменений в свою рабочую копию, и теперь я пошел делать фиксацию некоторых файлов, но в одном файле с именем Search.aspx.cs он говорит

Commit failed (details follow):
Can't open file 
'C:\-----\trunk\.svn\text-base\Search.aspx.cs.svn-base': 
The system cannot find the file specified.

Я попытался выполнить обновление SVN и очистку SVN, и ничего не восстанавливает этот файл. Я даже не могу создать diff, потому что он дает аналогичную ошибку в отношении отсутствующих файлов. Как это исправить? Что я сделал, чтобы вызвать это?

Ответ 1

Это похоже на возможный ответ на вашу ситуацию?

(из http://www.uwplatt.edu/csse/tools/subversion/subversion-help.html)

"Не удалось добавить файл '(name here)': объект с тем же именем уже существует.

или

" Невозможно открыть файл "folder.svn\tmp\text-base\file.svn-base ': Система не может найти файл указано".

Оба означают, что два файла в одном и том же папка имеет то же имя, кроме капитализация; например "Readme.txt" и "README.TXT". Юникс и Subversion чувствительны к регистру, поэтому файлы считаются полностью не связан. Но в Windows не чувствителен к регистру, поэтому, когда он пытается обновить README.TXT поверх Readme.txt(скажем), он ломается.

Самый верный способ устранить проблему - это для входа в систему Unix (например, io.uwplatt.edu) и использовать примечания unix чтобы проверить там репозиторий. Вы может затем использовать команду svn mv для переименуйте один из файлов. Если вы находитесь в в середине попытки добавить файл в ваш репозиторий, вы можете попробовать использовать TortoiseSVN- > Переименовать..., чтобы переименовать существующий файл на что-то полностью разные, а затем обновления. Обратите внимание, что вам нужно использовать переименование TortoiseSVN команды; просто переименование файла в Проводник Windows не будет проблемы.

У меня была такая же ошибка, и с помощью браузера Tortoise SVN repo удалось подтвердить, что в репозитории с одним и тем же именем было два файла, но только буквы верхнего и нижнего регистра. Вы также можете устранить эту проблему с помощью браузера репо, удалив один из файлов (вы можете сделать diff сначала через браузер репо, чтобы убедиться, что у вас есть то, что вам нужно).

Ответ 2

Вы можете скопировать рабочий файл: C: -----\ствол\Search.aspx.cs

к отсутствующему: C: -----\trunk.svn\текст базы \Search.aspx.cs.svn базы

и он выполнит трюк.

Ответ 3

Привет, я встречаю аналогичную проблему сегодня.

не может найти файл .svn\pristine\24\24fd530d4bd82341fb514ab912c9e10adbc4ad89.svn-base И я использую простой способ решить эту проблему.

Сначала я удалю папку копирования этого проекта И тогда я смотрю, что этот файл не существует под этой папкой. Я просто скопирую svn-базу из другого файла и переименую его с помощью 24fd530d4bd82341fb514ab912c9e10adbc4ad89.svn-base. Затем выполните операцию очистки. После этого я встречаю другой файл missing.using таким же образом и, наконец, я исправить эту проблему. Надеюсь, это поможет вам.

Другими словами, решение создает новый файл svn-base с отсутствующим именем файла

Ответ 4

Проводка для тех, у кого есть одна и та же проблема, где она не связана с одним и тем же именем файла в другой заглавной букве:

Я не уверен, что вызывает его, но это исправление сработало для меня:

  • проверить этот раздел в новом временном расположении
  • резервное копирование (в случае неудачи) и удаление папки .svn в вашем основном расположении
  • замените папку .svn в вашем основном местоположении на одну из временного местоположения
  • совершить

Это сработало для меня. У меня изменился только один файл. Какая-то папка .svn стала поврежденной. Прежде чем делать это, создайте резервную копию своей работы.

Ответ 5

Для меня проблема была: чувствительна к регистру

svn repository commit под Linux: 2 файла с тем же именем, кроме капитализации svn-репозиторий, обновленный под Windows: Ошибка при проверке обновлений или checkout = > Система не может найти указанный файл.

Ответ 6

У меня была аналогичная проблема "(Не удается открыть файл" folder.svn\tmp\text-base\file.svn-base ": система не может найти указанный файл" ).

Не из-за проблемы с чувствительностью к регистру. Но поскольку путь к файлу слишком длинный. Поэтому я переименовал папку с более коротким именем и переместил ее прямо в C Drive и успешно прошел успешную проверку.

Поэтому, если это не чувствительность к регистру, пожалуйста, посмотрите также длину полного пути к файлу.

Ответ 7

У меня была эта проблема после случайного протирания пустых папок .svn/tmp (и всех других пустых папок на моем HD). Ни одно из вышеперечисленных решений, кроме восстановления пустой папки .svn/tmp, помогло (для всех папок .svn).

Ответ 8

Похоже, ваша рабочая копия повреждена - отсутствует базовый файл SVN для Search.aspx.cs.

Что я делаю в подобной ситуации, чтобы сделать отдельную проверку в другом каталоге, чтобы создать новую рабочую копию на базе, экспортировать измененную рабочую копию и скопировать экспорт поверх новой рабочей копии.

Ответ 9

Остальные изменения изменились?

Если они скопировали нарушивший файл, уничтожьте каталог, проверьте новую копию и добавьте файл назад

Ответ 10

Я только что зарегистрировался здесь, потому что мой TSVN просто вызвал ту же ошибку.

В моем случае помогла простая "очистка" от соответствующих каталогов.

Ответ 11

Решение (в случае поврежденного каталога SVN, очистки и т.д. doeesn't не работает)

  • Резервное копирование (каталог переименования)
  • Повторите покупку
  • Переименовать новый каталог
  • Переименуйте старый каталог обратно в старое имя
  • Повторите попытку (если необходимо небольшими порциями)
  • Всякий раз, когда возникает ошибка: скопируйте SVN файл в новый каталог с поврежденными источниками
  • Повторяйте, пока не будете счастливы;)

Ответ 12

Пакетное решение для этой awfull проблемы.

for /f "tokens=* delims=" %%i in ('dir /s /b /a:d *.svn') do ( 
   if not exist %%i\text-base ( 
       mkdir "%%i\text-base"
   ) else (
echo already exist "%%i\text-base" 
   ) 
)