Конец командной строки Subversion ничего не делает
Когда я запускаю:
svn commit -m "some message" myFile.txt
в оболочке DOS, он дает мне пустую строку в качестве результата. Там нет сообщения об ошибке и т.д. И файл не выполняется.
Что может быть причиной этого?
Ответы
Ответ 1
Если файл действительно был изменен (т.е. вы не просто забыли сохранить свои изменения), тогда вы должны проверить условия которые создают файл как изменено для Subversion:
- имеет дату последней модификации и/или размер файла изменился?
- if not: файл не изменяется
- если да: сравнить содержимое файла с файлом BASE
- остановка в первом байте, который отличается, отметьте файл как измененный
- если байт не отличается от BASE, отметьте файл как не измененный
Ответ 2
Вы сначала добавили myFile.txt?
Вы можете вносить изменения только в файлы, добавленные в svn.
Ответ 3
Скорее всего, изменений нет. Попробуйте svn status
Ответ 4
Сделайте "svn st myFile.txt". Если в первом столбце есть? в нем, тогда файл не находится под контролем источника, и вам нужно "svn добавить myFile.txt". Если первый столбец пуст, то никаких изменений в фиксации не происходит. Если в первом столбце есть что-то другое, тогда "svn help st" даст вам смысл других возможных флагов.
Ответ 5
В моем опыте файл .php
, над которым я работал, был софт-ссылкой оригинала в другом месте. Следовательно, несмотря на то, что исходный файл менялся, софт-ссылка оставалась неизменной. Я поменял исходный файл ссылкой и наоборот, и команды Commit
, Status
и Update
начали забирать изменения.
Вы можете различать исходный файл и мягкую копию в Linux по форме стрелки и расположению оригинала перед ним в следующем формате, когда вы делаете ls -la
:
myTestfile.xxx -> /var/www/html/myTestOriginalfile.xxx
Ответ 6
У меня была такая же проблема. В моем случае это была версия каталога переименована во внешний каталог во внешнем каталоге.
У меня было обходное решение этого через commit, выполняемый непосредственно в последнем внешнем каталоге.
Я до сих пор не знаю, что вызвало его и не смогло воспроизвести.