|
1 <!DOCTYPE html> |
|
2 <html><head> |
|
3 <title>eric7.Plugins.VcsPlugins.vcsGit.GitDiffParser</title> |
|
4 <meta charset="UTF-8"> |
|
5 <style> |
|
6 body { |
|
7 background: #EDECE6; |
|
8 margin: 0em 1em 10em 1em; |
|
9 color: black; |
|
10 } |
|
11 |
|
12 h1 { color: white; background: #85774A; } |
|
13 h2 { color: white; background: #85774A; } |
|
14 h3 { color: white; background: #9D936E; } |
|
15 h4 { color: white; background: #9D936E; } |
|
16 |
|
17 a { color: #BA6D36; } |
|
18 |
|
19 </style> |
|
20 </head> |
|
21 <body> |
|
22 <a NAME="top" ID="top"></a> |
|
23 <h1>eric7.Plugins.VcsPlugins.vcsGit.GitDiffParser</h1> |
|
24 |
|
25 <p> |
|
26 Module implementing a class to store and parse diff output. |
|
27 </p> |
|
28 <h3>Global Attributes</h3> |
|
29 |
|
30 <table> |
|
31 <tr><td>None</td></tr> |
|
32 </table> |
|
33 <h3>Classes</h3> |
|
34 |
|
35 <table> |
|
36 |
|
37 <tr> |
|
38 <td><a href="#GitDiffParser">GitDiffParser</a></td> |
|
39 <td>Class implementing a class to store and parse diff output.</td> |
|
40 </tr> |
|
41 </table> |
|
42 <h3>Functions</h3> |
|
43 |
|
44 <table> |
|
45 <tr><td>None</td></tr> |
|
46 </table> |
|
47 <hr /> |
|
48 <hr /> |
|
49 <a NAME="GitDiffParser" ID="GitDiffParser"></a> |
|
50 <h2>GitDiffParser</h2> |
|
51 |
|
52 <p> |
|
53 Class implementing a class to store and parse diff output. |
|
54 </p> |
|
55 <h3>Derived from</h3> |
|
56 None |
|
57 <h3>Class Attributes</h3> |
|
58 |
|
59 <table> |
|
60 <tr><td>HunkHeaderRegexp</td></tr> |
|
61 </table> |
|
62 <h3>Class Methods</h3> |
|
63 |
|
64 <table> |
|
65 <tr><td>None</td></tr> |
|
66 </table> |
|
67 <h3>Methods</h3> |
|
68 |
|
69 <table> |
|
70 |
|
71 <tr> |
|
72 <td><a href="#GitDiffParser.__init__">GitDiffParser</a></td> |
|
73 <td>Constructor</td> |
|
74 </tr> |
|
75 <tr> |
|
76 <td><a href="#GitDiffParser.__generateHunkHeader">__generateHunkHeader</a></td> |
|
77 <td>Private method to generate a hunk header line.</td> |
|
78 </tr> |
|
79 <tr> |
|
80 <td><a href="#GitDiffParser.__generateRange">__generateRange</a></td> |
|
81 <td>Private method to generate a hunk header range.</td> |
|
82 </tr> |
|
83 <tr> |
|
84 <td><a href="#GitDiffParser.__initHunk">__initHunk</a></td> |
|
85 <td>Private method to initialize a hunk data structure.</td> |
|
86 </tr> |
|
87 <tr> |
|
88 <td><a href="#GitDiffParser.__parseDiff">__parseDiff</a></td> |
|
89 <td>Private method to parse the diff output.</td> |
|
90 </tr> |
|
91 <tr> |
|
92 <td><a href="#GitDiffParser.__parseRange">__parseRange</a></td> |
|
93 <td>Private method to parse the hunk header range part.</td> |
|
94 </tr> |
|
95 <tr> |
|
96 <td><a href="#GitDiffParser.createHunkPatch">createHunkPatch</a></td> |
|
97 <td>Public method to create a hunk based patch.</td> |
|
98 </tr> |
|
99 <tr> |
|
100 <td><a href="#GitDiffParser.createLinesPatch">createLinesPatch</a></td> |
|
101 <td>Public method to create a selected lines based patch.</td> |
|
102 </tr> |
|
103 <tr> |
|
104 <td><a href="#GitDiffParser.headerLength">headerLength</a></td> |
|
105 <td>Public method to get the header length.</td> |
|
106 </tr> |
|
107 </table> |
|
108 <h3>Static Methods</h3> |
|
109 |
|
110 <table> |
|
111 <tr><td>None</td></tr> |
|
112 </table> |
|
113 |
|
114 <a NAME="GitDiffParser.__init__" ID="GitDiffParser.__init__"></a> |
|
115 <h4>GitDiffParser (Constructor)</h4> |
|
116 <b>GitDiffParser</b>(<i>diff</i>) |
|
117 |
|
118 <p> |
|
119 Constructor |
|
120 </p> |
|
121 <dl> |
|
122 |
|
123 <dt><i>diff</i></dt> |
|
124 <dd> |
|
125 output of the diff command (list of string) |
|
126 </dd> |
|
127 </dl> |
|
128 <a NAME="GitDiffParser.__generateHunkHeader" ID="GitDiffParser.__generateHunkHeader"></a> |
|
129 <h4>GitDiffParser.__generateHunkHeader</h4> |
|
130 <b>__generateHunkHeader</b>(<i>oldStart, oldCount, newStart, newCount, heading=os.linesep</i>) |
|
131 |
|
132 <p> |
|
133 Private method to generate a hunk header line. |
|
134 </p> |
|
135 <dl> |
|
136 |
|
137 <dt><i>oldStart</i></dt> |
|
138 <dd> |
|
139 start line of the old part (integer) |
|
140 </dd> |
|
141 <dt><i>oldCount</i></dt> |
|
142 <dd> |
|
143 line count of the old part (integer) |
|
144 </dd> |
|
145 <dt><i>newStart</i></dt> |
|
146 <dd> |
|
147 start line of the new part (integer) |
|
148 </dd> |
|
149 <dt><i>newCount</i></dt> |
|
150 <dd> |
|
151 line count of the new part (integer) |
|
152 </dd> |
|
153 <dt><i>heading</i></dt> |
|
154 <dd> |
|
155 hunk heading (string) |
|
156 </dd> |
|
157 </dl> |
|
158 <dl> |
|
159 <dt>Return:</dt> |
|
160 <dd> |
|
161 hunk header (string) |
|
162 </dd> |
|
163 </dl> |
|
164 <a NAME="GitDiffParser.__generateRange" ID="GitDiffParser.__generateRange"></a> |
|
165 <h4>GitDiffParser.__generateRange</h4> |
|
166 <b>__generateRange</b>(<i>start, count</i>) |
|
167 |
|
168 <p> |
|
169 Private method to generate a hunk header range. |
|
170 </p> |
|
171 <dl> |
|
172 |
|
173 <dt><i>start</i></dt> |
|
174 <dd> |
|
175 start line (integer) |
|
176 </dd> |
|
177 <dt><i>count</i></dt> |
|
178 <dd> |
|
179 line count (integer) |
|
180 </dd> |
|
181 </dl> |
|
182 <dl> |
|
183 <dt>Return:</dt> |
|
184 <dd> |
|
185 hunk header range (string) |
|
186 </dd> |
|
187 </dl> |
|
188 <a NAME="GitDiffParser.__initHunk" ID="GitDiffParser.__initHunk"></a> |
|
189 <h4>GitDiffParser.__initHunk</h4> |
|
190 <b>__initHunk</b>(<i></i>) |
|
191 |
|
192 <p> |
|
193 Private method to initialize a hunk data structure. |
|
194 </p> |
|
195 <dl> |
|
196 <dt>Return:</dt> |
|
197 <dd> |
|
198 hunk data structure (dictionary) |
|
199 </dd> |
|
200 </dl> |
|
201 <a NAME="GitDiffParser.__parseDiff" ID="GitDiffParser.__parseDiff"></a> |
|
202 <h4>GitDiffParser.__parseDiff</h4> |
|
203 <b>__parseDiff</b>(<i></i>) |
|
204 |
|
205 <p> |
|
206 Private method to parse the diff output. |
|
207 </p> |
|
208 <dl> |
|
209 |
|
210 <dt>Raises <b>AssertionError</b>:</dt> |
|
211 <dd> |
|
212 raised when a malformed hunk header is |
|
213 encountered |
|
214 </dd> |
|
215 </dl> |
|
216 <a NAME="GitDiffParser.__parseRange" ID="GitDiffParser.__parseRange"></a> |
|
217 <h4>GitDiffParser.__parseRange</h4> |
|
218 <b>__parseRange</b>(<i>headerRange</i>) |
|
219 |
|
220 <p> |
|
221 Private method to parse the hunk header range part. |
|
222 </p> |
|
223 <dl> |
|
224 |
|
225 <dt><i>headerRange</i></dt> |
|
226 <dd> |
|
227 hunk header range (string) |
|
228 </dd> |
|
229 </dl> |
|
230 <dl> |
|
231 <dt>Return:</dt> |
|
232 <dd> |
|
233 tuple of hunk start and hunk length (integer, integer) |
|
234 </dd> |
|
235 </dl> |
|
236 <a NAME="GitDiffParser.createHunkPatch" ID="GitDiffParser.createHunkPatch"></a> |
|
237 <h4>GitDiffParser.createHunkPatch</h4> |
|
238 <b>createHunkPatch</b>(<i>lineIndex</i>) |
|
239 |
|
240 <p> |
|
241 Public method to create a hunk based patch. |
|
242 </p> |
|
243 <dl> |
|
244 |
|
245 <dt><i>lineIndex</i></dt> |
|
246 <dd> |
|
247 line number of the hunk (integer) |
|
248 </dd> |
|
249 </dl> |
|
250 <dl> |
|
251 <dt>Return:</dt> |
|
252 <dd> |
|
253 diff lines of the patch (string) |
|
254 </dd> |
|
255 </dl> |
|
256 <a NAME="GitDiffParser.createLinesPatch" ID="GitDiffParser.createLinesPatch"></a> |
|
257 <h4>GitDiffParser.createLinesPatch</h4> |
|
258 <b>createLinesPatch</b>(<i>startIndex, endIndex, reverse=False</i>) |
|
259 |
|
260 <p> |
|
261 Public method to create a selected lines based patch. |
|
262 </p> |
|
263 <dl> |
|
264 |
|
265 <dt><i>startIndex</i></dt> |
|
266 <dd> |
|
267 start line number (integer) |
|
268 </dd> |
|
269 <dt><i>endIndex</i></dt> |
|
270 <dd> |
|
271 end line number (integer) |
|
272 </dd> |
|
273 <dt><i>reverse</i></dt> |
|
274 <dd> |
|
275 flag indicating a reverse patch (boolean) |
|
276 </dd> |
|
277 </dl> |
|
278 <dl> |
|
279 <dt>Return:</dt> |
|
280 <dd> |
|
281 diff lines of the patch (string) |
|
282 </dd> |
|
283 </dl> |
|
284 <a NAME="GitDiffParser.headerLength" ID="GitDiffParser.headerLength"></a> |
|
285 <h4>GitDiffParser.headerLength</h4> |
|
286 <b>headerLength</b>(<i></i>) |
|
287 |
|
288 <p> |
|
289 Public method to get the header length. |
|
290 </p> |
|
291 <dl> |
|
292 <dt>Return:</dt> |
|
293 <dd> |
|
294 length of the header (integer) |
|
295 </dd> |
|
296 </dl> |
|
297 <div align="right"><a href="#top">Up</a></div> |
|
298 <hr /> |
|
299 </body></html> |