Як вивести різницю між двома конкретними версіями в Subversion?


120

Я використовую Subversion через інтерфейс командного рядка Linux.

Я хочу побачити різницю між версією 11390 та 8979 певного файлу, викликаного fSupplierModel.phpв моєму терміналі. Як я можу це зробити?


Додайте сюди, як застосувати його назад: stackoverflow.com/questions/10333712 / ...
Vadzim

Відповіді:


171

Дивіться svn diffв посібнику:

svn diff -r 8979:11390 http://svn.collab.net/repos/svn/trunk/fSupplierModel.php

3
Якщо ви хочете досить вивести, встановіть colordiff та додайте `| colordiff` до кінця вищевказаної команди, щоб передати все через неї.
Вільям Террелл

56

Щоб порівняти цілі редакції, просто:

svn diff -r 8979:11390


Якщо ви хочете порівняти останнє скоєне стан із вашими збереженими в даний час робочими файлами, ви можете використовувати ключові слова зручності:

svn diff -r PREV:HEAD

(Зверніть увагу, що після цього нічого не вказано, всі файли у зазначених версіях порівнюються.)


Ви можете порівняти конкретний файл, якщо після цього додати шлях до файлу:

svn diff -r 8979:HEAD /path/to/my/file.php


2
поклавши HEAD: PREV, здавалося, має більше сенсу для мене у різному виході, можливо, допоможе іншим
Fonix

@Fonix Ви перебуваєте в парадигмі "чим інша фіксація відрізняється від мого поточного стану"? Якщо так, я згоден. Я, як правило, думаю, що хронологічні зміни здійснюються, тому зміни, внесені в HEAD, були б новими / доданими змінами від PREV, що є парадигмою, про яку я зазвичай думаю. Є випадки та аргументи, які слід зробити для будь-якої парадигми.
ahnbizcad
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.