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