source: trunk/Backends/Bazaar/Bazaar.pas

Last change on this file was 24, checked in by chronos, 2 weeks ago
  • Fixed: Test cases executed with FormTests form from Common package.
File size: 2.1 KB
Line 
1unit Bazaar;
2
3interface
4
5uses
6 Classes, SysUtils, Backend, VCS;
7
8type
9
10 { TBackendBazaar }
11
12 TBackendBazaar = class(TBackend)
13 constructor Create;
14 function IsWorkingCopy(Directory: string): Boolean; override;
15 end;
16
17 { TBazaar }
18
19 TBazaar = class(TWorkingCopy)
20 protected
21 procedure Execute(Parameters: array of string);
22 public
23 procedure Checkout; override;
24 procedure Update; override;
25 procedure CleanUp; override;
26 procedure Commit(Message: string); override;
27 procedure Move(Source, Dest: string); override;
28 procedure Merge; override;
29 procedure Add(FileName: string); override;
30 procedure Remove(FileName: string); override;
31 end;
32
33 { TRepositoryBazaar }
34
35 TRepositoryBazaar = class(TRepository)
36 protected
37 procedure Execute(Parameters: array of string);
38 public
39 procedure Init; override;
40 end;
41
42
43implementation
44
45{ TRepositoryBazaar }
46
47procedure TRepositoryBazaar.Execute(Parameters: array of string);
48begin
49 ExecuteProcess('/usr/bin/bzr', Parameters);
50end;
51
52procedure TRepositoryBazaar.Init;
53begin
54 Execute(['init', Path]);
55end;
56
57{ TBazaar }
58
59procedure TBazaar.Execute(Parameters: array of string);
60begin
61 ExecuteProcess('/usr/bin/bzr', Parameters);
62end;
63
64procedure TBazaar.Checkout;
65begin
66 Execute(['checkout', RepositoryURL, Path]);
67end;
68
69procedure TBazaar.Update;
70begin
71 Execute(['update']);
72end;
73
74procedure TBazaar.CleanUp;
75begin
76 inherited CleanUp;
77end;
78
79procedure TBazaar.Commit(Message: string);
80begin
81 Execute(['commit', '-m "' + Message + '"']);
82end;
83
84procedure TBazaar.Move(Source, Dest: string);
85begin
86 Execute(['move', Source, Dest]);
87end;
88
89procedure TBazaar.Merge;
90begin
91 Execute(['merge']);
92end;
93
94procedure TBazaar.Add(FileName: string);
95begin
96 Execute(['add', FileName]);
97end;
98
99procedure TBazaar.Remove(FileName: string);
100begin
101 Execute(['remove', FileName]);
102end;
103
104{ TBackendBazaar }
105
106constructor TBackendBazaar.Create;
107begin
108 Name := 'Bazaar';
109 HomePage := 'http://bazaar.canonical.com/';
110 WorkingCopyClass := TBazaar;
111end;
112
113function TBackendBazaar.IsWorkingCopy(Directory: string): Boolean;
114begin
115 Result := DirectoryExists(Directory + DirectorySeparator + '.bzr');
116end;
117
118end.
119
Note: See TracBrowser for help on using the repository browser.