Не удается открыть .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"
)
)