@@ -43,9 +43,12 @@ public void CanCompareASimpleTreeAgainstTheWorkDir()
43
43
{
44
44
SetUpSimpleDiffContext ( repo ) ;
45
45
46
- TreeChanges changes = repo . Diff . Compare ( repo . Head . Tip . Tree ,
46
+ var changes = repo . Diff . Compare < TreeChanges > ( repo . Head . Tip . Tree ,
47
47
DiffTargets . WorkingDirectory ) ;
48
+ Assert . Equal ( 1 , changes . Modified . Count ( ) ) ;
48
49
50
+ var patch = repo . Diff . Compare < Patch > ( repo . Head . Tip . Tree ,
51
+ DiffTargets . WorkingDirectory ) ;
49
52
var expected = new StringBuilder ( )
50
53
. Append ( "diff --git a/file.txt b/file.txt\n " )
51
54
. Append ( "index ce01362..4f125e3 100644\n " )
@@ -56,7 +59,7 @@ public void CanCompareASimpleTreeAgainstTheWorkDir()
56
59
. Append ( "+world\n " )
57
60
. Append ( "+!!!\n " ) ;
58
61
59
- Assert . Equal ( expected . ToString ( ) , changes . Patch ) ;
62
+ Assert . Equal ( expected . ToString ( ) , patch ) ;
60
63
}
61
64
}
62
65
@@ -67,7 +70,7 @@ public void CanCompareAMoreComplexTreeAgainstTheWorkdir()
67
70
{
68
71
Tree tree = repo . Head . Tip . Tree ;
69
72
70
- TreeChanges changes = repo . Diff . Compare ( tree , DiffTargets . WorkingDirectory ) ;
73
+ var changes = repo . Diff . Compare < TreeChanges > ( tree , DiffTargets . WorkingDirectory ) ;
71
74
Assert . NotNull ( changes ) ;
72
75
73
76
Assert . Equal ( 6 , changes . Count ( ) ) ;
@@ -103,9 +106,12 @@ public void CanCompareASimpleTreeAgainstTheWorkDirAndTheIndex()
103
106
{
104
107
SetUpSimpleDiffContext ( repo ) ;
105
108
106
- TreeChanges changes = repo . Diff . Compare ( repo . Head . Tip . Tree ,
109
+ var changes = repo . Diff . Compare < TreeChanges > ( repo . Head . Tip . Tree ,
107
110
DiffTargets . Index | DiffTargets . WorkingDirectory ) ;
111
+ Assert . Equal ( 1 , changes . Modified . Count ( ) ) ;
108
112
113
+ var patch = repo . Diff . Compare < Patch > ( repo . Head . Tip . Tree ,
114
+ DiffTargets . Index | DiffTargets . WorkingDirectory ) ;
109
115
var expected = new StringBuilder ( )
110
116
. Append ( "diff --git a/file.txt b/file.txt\n " )
111
117
. Append ( "index ce01362..4f125e3 100644\n " )
@@ -116,7 +122,7 @@ public void CanCompareASimpleTreeAgainstTheWorkDirAndTheIndex()
116
122
. Append ( "+world\n " )
117
123
. Append ( "+!!!\n " ) ;
118
124
119
- Assert . Equal ( expected . ToString ( ) , changes . Patch ) ;
125
+ Assert . Equal ( expected . ToString ( ) , patch ) ;
120
126
}
121
127
}
122
128
@@ -158,8 +164,13 @@ public void ShowcaseTheDifferenceBetweenTheTwoKindOfComparison()
158
164
FileStatus state = repo . Index . RetrieveStatus ( "file.txt" ) ;
159
165
Assert . Equal ( FileStatus . Removed | FileStatus . Untracked , state ) ;
160
166
167
+ var wrkDirToIdxToTree = repo . Diff . Compare < TreeChanges > ( repo . Head . Tip . Tree ,
168
+ DiffTargets . Index | DiffTargets . WorkingDirectory ) ;
169
+
170
+ Assert . Equal ( 1 , wrkDirToIdxToTree . Deleted . Count ( ) ) ;
171
+ Assert . Equal ( 0 , wrkDirToIdxToTree . Modified . Count ( ) ) ;
161
172
162
- TreeChanges wrkDirToIdxToTree = repo . Diff . Compare ( repo . Head . Tip . Tree ,
173
+ var patch = repo . Diff . Compare < Patch > ( repo . Head . Tip . Tree ,
163
174
DiffTargets . Index | DiffTargets . WorkingDirectory ) ;
164
175
var expected = new StringBuilder ( )
165
176
. Append ( "diff --git a/file.txt b/file.txt\n " )
@@ -170,9 +181,15 @@ public void ShowcaseTheDifferenceBetweenTheTwoKindOfComparison()
170
181
. Append ( "@@ -1 +0,0 @@\n " )
171
182
. Append ( "-hello\n " ) ;
172
183
173
- Assert . Equal ( expected . ToString ( ) , wrkDirToIdxToTree . Patch ) ;
184
+ Assert . Equal ( expected . ToString ( ) , patch ) ;
174
185
175
- TreeChanges wrkDirToTree = repo . Diff . Compare ( repo . Head . Tip . Tree ,
186
+ var wrkDirToTree = repo . Diff . Compare < TreeChanges > ( repo . Head . Tip . Tree ,
187
+ DiffTargets . WorkingDirectory ) ;
188
+
189
+ Assert . Equal ( 0 , wrkDirToTree . Deleted . Count ( ) ) ;
190
+ Assert . Equal ( 1 , wrkDirToTree . Modified . Count ( ) ) ;
191
+
192
+ patch = repo . Diff . Compare < Patch > ( repo . Head . Tip . Tree ,
176
193
DiffTargets . WorkingDirectory ) ;
177
194
expected = new StringBuilder ( )
178
195
. Append ( "diff --git a/file.txt b/file.txt\n " )
@@ -184,7 +201,7 @@ public void ShowcaseTheDifferenceBetweenTheTwoKindOfComparison()
184
201
. Append ( "+world\n " )
185
202
. Append ( "+!!!\n " ) ;
186
203
187
- Assert . Equal ( expected . ToString ( ) , wrkDirToTree . Patch ) ;
204
+ Assert . Equal ( expected . ToString ( ) , patch ) ;
188
205
}
189
206
}
190
207
@@ -207,9 +224,12 @@ public void CanCompareASimpleTreeAgainstTheIndex()
207
224
{
208
225
SetUpSimpleDiffContext ( repo ) ;
209
226
210
- TreeChanges changes = repo . Diff . Compare ( repo . Head . Tip . Tree ,
227
+ var changes = repo . Diff . Compare < TreeChanges > ( repo . Head . Tip . Tree ,
211
228
DiffTargets . Index ) ;
229
+ Assert . Equal ( 1 , changes . Modified . Count ( ) ) ;
212
230
231
+ var patch = repo . Diff . Compare < Patch > ( repo . Head . Tip . Tree ,
232
+ DiffTargets . Index ) ;
213
233
var expected = new StringBuilder ( )
214
234
. Append ( "diff --git a/file.txt b/file.txt\n " )
215
235
. Append ( "index ce01362..94954ab 100644\n " )
@@ -219,7 +239,7 @@ public void CanCompareASimpleTreeAgainstTheIndex()
219
239
. Append ( " hello\n " )
220
240
. Append ( "+world\n " ) ;
221
241
222
- Assert . Equal ( expected . ToString ( ) , changes . Patch ) ;
242
+ Assert . Equal ( expected . ToString ( ) , patch ) ;
223
243
}
224
244
}
225
245
@@ -254,7 +274,7 @@ public void CanCompareAMoreComplexTreeAgainstTheIndex()
254
274
{
255
275
Tree tree = repo . Head . Tip . Tree ;
256
276
257
- TreeChanges changes = repo . Diff . Compare ( tree , DiffTargets . Index ) ;
277
+ var changes = repo . Diff . Compare < TreeChanges > ( tree , DiffTargets . Index ) ;
258
278
Assert . NotNull ( changes ) ;
259
279
260
280
Assert . Equal ( 3 , changes . Count ( ) ) ;
@@ -281,7 +301,7 @@ public void CanCompareASubsetofTheTreeAgainstTheIndex()
281
301
{
282
302
Tree tree = repo . Head . Tip . Tree ;
283
303
284
- TreeChanges changes = repo . Diff . Compare ( tree , DiffTargets . Index ,
304
+ var changes = repo . Diff . Compare < TreeChanges > ( tree , DiffTargets . Index ,
285
305
new [ ] { "deleted_staged_file.txt" , "1/branch_file.txt" } ) ;
286
306
287
307
Assert . NotNull ( changes ) ;
@@ -305,11 +325,11 @@ public void CanCompareASubsetofTheTreeAgainstTheIndexWithLaxExplicitPathsValidat
305
325
{
306
326
Tree tree = repo . Head . Tip . Tree ;
307
327
308
- TreeChanges changes = repo . Diff . Compare ( tree , DiffTargets . Index ,
328
+ var changes = repo . Diff . Compare < TreeChanges > ( tree , DiffTargets . Index ,
309
329
new [ ] { "deleted_staged_file.txt" , "1/branch_file.txt" , "I-do/not-exist" } , new ExplicitPathsOptions { ShouldFailOnUnmatchedPath = false } ) ;
310
330
AssertCanCompareASubsetOfTheTreeAgainstTheIndex ( changes ) ;
311
331
312
- changes = repo . Diff . Compare ( tree , DiffTargets . Index ,
332
+ changes = repo . Diff . Compare < TreeChanges > ( tree , DiffTargets . Index ,
313
333
new [ ] { "deleted_staged_file.txt" , "1/branch_file.txt" , "I-do/not-exist" } ) ;
314
334
AssertCanCompareASubsetOfTheTreeAgainstTheIndex ( changes ) ;
315
335
}
@@ -322,7 +342,7 @@ public void ComparingASubsetofTheTreeAgainstTheIndexWithStrictExplicitPathsValid
322
342
{
323
343
Tree tree = repo . Head . Tip . Tree ;
324
344
325
- Assert . Throws < UnmatchedPathException > ( ( ) => repo . Diff . Compare ( tree , DiffTargets . Index ,
345
+ Assert . Throws < UnmatchedPathException > ( ( ) => repo . Diff . Compare < TreeChanges > ( tree , DiffTargets . Index ,
326
346
new [ ] { "deleted_staged_file.txt" , "1/branch_file.txt" , "I-do/not-exist" } , new ExplicitPathsOptions ( ) ) ) ;
327
347
}
328
348
}
@@ -359,11 +379,10 @@ public void CanCopeWithEndOfFileNewlineChanges()
359
379
File . AppendAllText ( fullpath , "\n " ) ;
360
380
repo . Index . Stage ( "file.txt" ) ;
361
381
362
- TreeChanges changes = repo . Diff . Compare ( repo . Head . Tip . Tree , DiffTargets . Index ) ;
382
+ var changes = repo . Diff . Compare < TreeChanges > ( repo . Head . Tip . Tree , DiffTargets . Index ) ;
363
383
Assert . Equal ( 1 , changes . Modified . Count ( ) ) ;
364
- Assert . Equal ( 1 , changes . LinesAdded ) ;
365
- Assert . Equal ( 1 , changes . LinesDeleted ) ;
366
384
385
+ var patch = repo . Diff . Compare < Patch > ( repo . Head . Tip . Tree , DiffTargets . Index ) ;
367
386
var expected = new StringBuilder ( )
368
387
. Append ( "diff --git a/file.txt b/file.txt\n " )
369
388
. Append ( "index 2e65efe..7898192 100644\n " )
@@ -374,7 +393,9 @@ public void CanCopeWithEndOfFileNewlineChanges()
374
393
. Append ( "\\ No newline at end of file\n " )
375
394
. Append ( "+a\n " ) ;
376
395
377
- Assert . Equal ( expected . ToString ( ) , changes . Patch ) ;
396
+ Assert . Equal ( expected . ToString ( ) , patch ) ;
397
+ Assert . Equal ( 1 , patch . LinesAdded ) ;
398
+ Assert . Equal ( 1 , patch . LinesDeleted ) ;
378
399
}
379
400
}
380
401
@@ -384,11 +405,11 @@ public void ComparingATreeInABareRepositoryAgainstTheWorkDirOrTheIndexThrows()
384
405
using ( var repo = new Repository ( BareTestRepoPath ) )
385
406
{
386
407
Assert . Throws < BareRepositoryException > (
387
- ( ) => repo . Diff . Compare ( repo . Head . Tip . Tree , DiffTargets . WorkingDirectory ) ) ;
408
+ ( ) => repo . Diff . Compare < TreeChanges > ( repo . Head . Tip . Tree , DiffTargets . WorkingDirectory ) ) ;
388
409
Assert . Throws < BareRepositoryException > (
389
- ( ) => repo . Diff . Compare ( repo . Head . Tip . Tree , DiffTargets . Index ) ) ;
410
+ ( ) => repo . Diff . Compare < TreeChanges > ( repo . Head . Tip . Tree , DiffTargets . Index ) ) ;
390
411
Assert . Throws < BareRepositoryException > (
391
- ( ) => repo . Diff . Compare ( repo . Head . Tip . Tree , DiffTargets . WorkingDirectory | DiffTargets . Index ) ) ;
412
+ ( ) => repo . Diff . Compare < TreeChanges > ( repo . Head . Tip . Tree , DiffTargets . WorkingDirectory | DiffTargets . Index ) ) ;
392
413
}
393
414
}
394
415
@@ -401,14 +422,13 @@ public void CanCompareANullTreeAgainstTheIndex()
401
422
{
402
423
SetUpSimpleDiffContext ( repo ) ;
403
424
404
- TreeChanges changes = repo . Diff . Compare ( null ,
425
+ var changes = repo . Diff . Compare < TreeChanges > ( null ,
405
426
DiffTargets . Index ) ;
406
427
407
428
Assert . Equal ( 1 , changes . Count ( ) ) ;
408
429
Assert . Equal ( 1 , changes . Added . Count ( ) ) ;
409
430
410
431
Assert . Equal ( "file.txt" , changes . Added . Single ( ) . Path ) ;
411
- Assert . Equal ( 2 , changes . Added . Single ( ) . LinesAdded ) ;
412
432
}
413
433
}
414
434
@@ -421,14 +441,13 @@ public void CanCompareANullTreeAgainstTheWorkdir()
421
441
{
422
442
SetUpSimpleDiffContext ( repo ) ;
423
443
424
- TreeChanges changes = repo . Diff . Compare ( null ,
444
+ var changes = repo . Diff . Compare < TreeChanges > ( null ,
425
445
DiffTargets . WorkingDirectory ) ;
426
446
427
447
Assert . Equal ( 1 , changes . Count ( ) ) ;
428
448
Assert . Equal ( 1 , changes . Added . Count ( ) ) ;
429
449
430
450
Assert . Equal ( "file.txt" , changes . Added . Single ( ) . Path ) ;
431
- Assert . Equal ( 3 , changes . Added . Single ( ) . LinesAdded ) ;
432
451
}
433
452
}
434
453
@@ -441,14 +460,13 @@ public void CanCompareANullTreeAgainstTheWorkdirAndTheIndex()
441
460
{
442
461
SetUpSimpleDiffContext ( repo ) ;
443
462
444
- TreeChanges changes = repo . Diff . Compare ( null ,
463
+ var changes = repo . Diff . Compare < TreeChanges > ( null ,
445
464
DiffTargets . WorkingDirectory | DiffTargets . Index ) ;
446
465
447
466
Assert . Equal ( 1 , changes . Count ( ) ) ;
448
467
Assert . Equal ( 1 , changes . Added . Count ( ) ) ;
449
468
450
469
Assert . Equal ( "file.txt" , changes . Added . Single ( ) . Path ) ;
451
- Assert . Equal ( 3 , changes . Added . Single ( ) . LinesAdded ) ;
452
470
}
453
471
}
454
472
}
0 commit comments