Работа с SVN через TortoiseSVN. 7. Патчи (заплатки)
TortoiseSVN содержит функции экспорта изменения рабочей копии в файл и применения этих изменений к другой рабочей копии. Эти возможности используются, например, для организации pre-commit review.
Для создания патча выберите в меню TortoiseSVN пункт Create patch....
Появиться окно с выбором файлов, изменения из которых войдут в патч. Обычно, нужно выбрать все.
Затем появиться диалог с выбором имени и расположения файла патча и в конце отобразиться содержимое патча в специальном окне TortoiseSVN.
Патч агрегирует изменения всех файлов проекта. Пути к файлам формируются относительно каталога из которого он создаётся. Поэтому применять патч нужно к тому же каталогу. Чтобы избежать путаницы создавайте патчи с корня рабочей копии.
Просматривать патч можно через просмотрщик TortoiseSVN или применив патч к рабочей копии.
Патч является простым текстовым файлом — просматривается в любом текстовом редакторе. Но без применения патча к рабочей копии видно только ближайшие к изменениям строки. Пример текста патча:
Index: uFormMain.dfm
===================================================================
--- uFormMain.dfm (revision 2)
+++ uFormMain.dfm (working copy)
@@ -13,4 +13,13 @@
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
+ object Button1: TButton
+ Left = 288
+ Top = 160
+ Width = 75
+ Height = 25
+ Caption = 'Button1'
+ TabOrder = 0
+ OnClick = Button1Click
+ end
end
Index: uFormMain.pas
===================================================================
--- uFormMain.pas (revision 2)
+++ uFormMain.pas (working copy)
@@ -4,10 +4,12 @@
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
- Vcl.Controls, Vcl.Forms, Vcl.Dialogs;
+ Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
+ Button1: TButton;
+ procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
@@ -21,4 +23,9 @@
{$R *.dfm}
+procedure TForm1.Button1Click(Sender: TObject);
+begin
+ ShowMessage('Hello World!');
+end;
+
end.
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46