Ответ 1
Когда версия 1.7 будет выпущена, для этой цели svn diff
будет иметь переключатель --show-copies-as-adds
. Это хороший признак того, что версии версии 1.6 не обладают этой способностью.
У меня есть изменения в ветке, которые я объединил с trunk в моем рабочем каталоге. Svn stat показывает правильный список измененных файлов. Однако вывод "svn stat" включает в себя "+" в истории, запланированной для фиксации, для каждого файла, добавленного к ветке.
A + src\main\java\com.... java
Когда я запускаю "svn diff", добавленные файлы с "+" не включаются в выход патча.
Это кажется сломанным. Если файл помечен как добавленный, то все содержимое должно быть в формате diff. Я пробовал передать "-notice-ancestry". Не было никаких изменений в выходе diff. Самое близкое, что я могу найти к той же проблеме, - эти комментарии относительно скопированных/перемещенных файлов
Кто-нибудь знает, как заставить SVN включать эти файлы в выходной файл diff?
Я просто попробовал внешнюю программу diff, предложенную в этом questions ответе, но это не сработало для меня.
Когда версия 1.7 будет выпущена, для этой цели svn diff
будет иметь переключатель --show-copies-as-adds
. Это хороший признак того, что версии версии 1.6 не обладают этой способностью.
Символ + в выводе svn status указывает, что файл имеет "История запланирована с фиксацией". Это означает, что файл фактически не является новым файлом, а фактически прямым потомком какого-либо другого файла в репозитории Subversion.
Это означает, что в svn diff не должно быть вывода, так как файл фактически не изменился. Если вы хотите внести некоторые локальные изменения в файл, они появятся на выходе svn diff.
если вы "svn mv fileA fileB". рядом с файлом будет знак +. Я думаю, знак + означает, что фактическое содержимое файла не было изменено, поэтому оно не отображается в svn diff. В этом случае это просто имя файла изменилось.