«Файлы не были изменены или добавлены с момента последнего коммита.TortoiseSVN ничего не может сделать здесь ... » - PullRequest
8 голосов
/ 01 апреля 2011

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

Ответы [ 4 ]

5 голосов
/ 02 апреля 2011

Из FAQ :

Если вы изменили файл, но TortoiseSVN не распознает, что файл был изменен, сначала проверьте, действительно ли файл отличается от того, что имеется в вашей рабочей копии.

Если вы точно знаете, что в файле есть изменения, и он по-прежнему не отображается как измененный в диалоге фиксации, убедитесь, что

  • дата последнего изменения файла изменилась (некоторые инструменты, такие как шестнадцатеричные редакторы, любят сбрасывать это время)
  • если установлено свойство svn: eol-style и изменения касаются только новых строк, файл не будет отображаться как измененный, поскольку для Subversion он не изменился

Subversion определяет, был ли файл изменен, используя следующий подход:

  1. изменилась ли дата «последней модификации» и / или размер файла?
  2. если нет: файл не изменен
  3. если да: сравнить содержимое файла с файлом BASE
  4. остановка на первом отличающемся байте, отметьте файл как измененный
  5. если ни один байт не отличается от BASE, пометьте файл как неизмененный
4 голосов
/ 16 апреля 2013

На всякий случай, если кто-нибудь еще найдет свой путь сюда.Я только что столкнулся с той же проблемой с хранилищем, которое работало нормально в течение некоторого времени.Файлы показывали, что они содержали изменения, но SVN Commit .. дал сообщение, что не было никаких коммитов, чтобы сделать.

Это было вызвано подпапкой, которую я скопировал в свой репозиторий.Подпапка была создана в более старой версии черепахи.Как только я выбрал опцию «Черепаха», чтобы обновить ее до последней версии, SVN Commit сработал, как и ожидалось.

0 голосов
/ 16 августа 2015

У меня была похожая, но не идентичная проблема.Я знаю, что этот поток 4 года назад, но для записи на случай, если кто-то еще ищет.(Я на черепахе SVN версии 1.8.x).

Мои измененные файлы не будут зафиксированы - тот же симптом, что и в этом потоке.Я щелкнул правой кнопкой мыши по проекту и выбрал «Очистить».После этого я мог зафиксировать свои измененные файлы.

0 голосов
/ 05 ноября 2013

Откройте ваш проект-> Щелкните правой кнопкой мыши
Нажмите на это Отключение, затем выполните обычную работу, как поделиться проектом, используя SVN, и передайте его.

...