Як переглянути старішу версію файлу SVN?


156

У мене є файл SVN, в якому зараз відсутня певна логіка, і тому мені потрібно повернутися приблизно на 40 версій до того часу, коли в ньому була потрібна логіка. Окрім спроб переглянути розріз файлу в командному рядку ( дуже важко читати ), чи є якийсь спосіб я можу отримати копію цього файлу для перегляду, щоб я міг вивчити його для відновлення частин?

Відповіді:


237

Ви можете оновити старішу версію:

svn update -r 666 file

Або ви можете просто переглянути файл безпосередньо:

svn cat -r 666 file | less

13
svn cat -r 666 file | lessідеально, тому я можу прочитати це через vim!
Xeoncross

4
@sillyMunky Спробуйте svn cat | vim -. Якщо підсвічування синтаксису vim не автоматично починається, зробіть це :set syntax=java(або будь-якою мовою).
Джон Кугельман

1
Дуже дякую, Джон, насправді я перебуваю на debian, і я виявив, що є гарний маленький пакет підкреслення синтаксису, який називається "джерело-підсвітка", тому менше можна автоматично підкреслювати синтаксис підсвічування (насправді я зараз його псевдонімом для розрізнення).
sillyMunky

2
svn cat -r 666 файл> file_666.js, якщо ви хочете переглянути весь цей файл: p
Parijat Kalia

або якщо ви використовуєте bash vim +set\ ft=<FILETYPE> <( svn cat -r <REV> <FILE> )
h4unt3r

5

Також цікаво порівняти файл поточної робочої версії з тим самим файлом іншої редакції.

Ви можете зробити наступне:

$ svn diff -r34 file


1

Я вважаю, що найкращим способом перегляду версій є використання програми / програми, що полегшує вас. Мені подобається використовувати trac: http://trac.edgewall.org/wiki/TracSubversion

Він надає чудовий браузер svn та робить його дуже легко повернутись до своїх змін.

Це може бути трохи зайвим, щоб налаштувати це на одну конкретну редакцію, яку ви хочете перевірити, але це може бути корисно, якщо ви збираєтеся робити це багато в майбутньому.


1

Використовуючи останні версії Subclipse , ви можете переглядати їх, не використовуючи підказку cmd. У файлі просто клацніть правою кнопкою миші => Team => Переключитися на іншу гілку / тег / версію. Окрім поля ревізії, ви натискаєте select, і ви побачите всі версії цього файлу.


1

Щоб безпосередньо відповісти на питання, як "отримати копію цього файлу":

svn cat -r 666 file > file_r666

тоді ви можете переглядати новостворену програму file_r666з будь-яким переглядачем або програмою порівняння, наприклад

kompare file_r666 file

добре показує відмінності.

Я опублікував відповідь, оскільки команди прийнятих відповідей насправді не дають копії файлу і тому, svn cat -r 666 file | vimщо не працює з моєю системою ( Vim: Error reading input, exiting...)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.