@@ -309,127 +309,80 @@ public void RemoveChildrenBranchFilters(string pattern)
309
309
310
310
public string BuildHistoriesFilter ( )
311
311
{
312
+ var includedRefs = new List < string > ( ) ;
312
313
var excludedBranches = new List < string > ( ) ;
313
314
var excludedRemotes = new List < string > ( ) ;
314
315
var excludedTags = new List < string > ( ) ;
315
- var includedBranches = new List < string > ( ) ;
316
- var includedRemotes = new List < string > ( ) ;
317
- var includedTags = new List < string > ( ) ;
318
316
foreach ( var filter in HistoriesFilters )
319
317
{
320
318
if ( filter . Type == FilterType . LocalBranch )
321
319
{
322
- var name = filter . Pattern . Substring ( 11 ) ;
323
- var b = $ "{ name . Substring ( 0 , name . Length - 1 ) } [{ name [ ^ 1 ] } ]";
324
-
325
320
if ( filter . Mode == FilterMode . Included )
326
- includedBranches . Add ( b ) ;
321
+ includedRefs . Add ( filter . Pattern ) ;
327
322
else if ( filter . Mode == FilterMode . Excluded )
328
- excludedBranches . Add ( b ) ;
323
+ excludedBranches . Add ( $ "--exclude= \" { filter . Pattern . Substring ( 11 ) } \" --decorate-refs-exclude= \" { filter . Pattern } \" " ) ;
329
324
}
330
325
else if ( filter . Type == FilterType . LocalBranchFolder )
331
326
{
332
327
if ( filter . Mode == FilterMode . Included )
333
- includedBranches . Add ( $ "{ filter . Pattern . Substring ( 11 ) } /*") ;
328
+ includedRefs . Add ( $ "--branches= { filter . Pattern . Substring ( 11 ) } /*") ;
334
329
else if ( filter . Mode == FilterMode . Excluded )
335
- excludedBranches . Add ( $ "{ filter . Pattern . Substring ( 11 ) } /*") ;
330
+ excludedBranches . Add ( $ "--exclude= \" { filter . Pattern . Substring ( 11 ) } /*\" --decorate-refs-exclude= \" { filter . Pattern } /* \" ") ;
336
331
}
337
332
else if ( filter . Type == FilterType . RemoteBranch )
338
333
{
339
- var name = filter . Pattern . Substring ( 13 ) ;
340
- var r = $ "{ name . Substring ( 0 , name . Length - 1 ) } [{ name [ ^ 1 ] } ]";
341
-
342
334
if ( filter . Mode == FilterMode . Included )
343
- includedRemotes . Add ( r ) ;
335
+ includedRefs . Add ( filter . Pattern ) ;
344
336
else if ( filter . Mode == FilterMode . Excluded )
345
- excludedRemotes . Add ( r ) ;
337
+ excludedRemotes . Add ( $ "--exclude= \" { filter . Pattern . Substring ( 13 ) } \" --decorate-refs-exclude= \" { filter . Pattern } \" " ) ;
346
338
}
347
339
else if ( filter . Type == FilterType . RemoteBranchFolder )
348
340
{
349
341
if ( filter . Mode == FilterMode . Included )
350
- includedRemotes . Add ( $ "{ filter . Pattern . Substring ( 13 ) } /*") ;
342
+ includedRefs . Add ( $ "--remotes= { filter . Pattern . Substring ( 13 ) } /*") ;
351
343
else if ( filter . Mode == FilterMode . Excluded )
352
- excludedRemotes . Add ( $ "{ filter . Pattern . Substring ( 13 ) } /*") ;
344
+ excludedRemotes . Add ( $ "--exclude= \" { filter . Pattern . Substring ( 13 ) } /*\" --decorate-refs-exclude= \" { filter . Pattern } /* \" ") ;
353
345
}
354
346
else if ( filter . Type == FilterType . Tag )
355
347
{
356
- var name = filter . Pattern ;
357
- var t = $ "{ name . Substring ( 0 , name . Length - 1 ) } [{ name [ ^ 1 ] } ]";
358
-
359
348
if ( filter . Mode == FilterMode . Included )
360
- includedTags . Add ( t ) ;
349
+ includedRefs . Add ( $ "refs/tags/ { filter . Pattern } " ) ;
361
350
else if ( filter . Mode == FilterMode . Excluded )
362
- excludedTags . Add ( t ) ;
351
+ excludedTags . Add ( $ "--exclude= \" { filter . Pattern } \" --decorate-refs-exclude= \" refs/tags/ { filter . Pattern } \" " ) ;
363
352
}
364
353
}
365
354
366
- bool hasIncluded = includedBranches . Count > 0 || includedRemotes . Count > 0 || includedTags . Count > 0 ;
367
- bool hasExcluded = excludedBranches . Count > 0 || excludedRemotes . Count > 0 || excludedTags . Count > 0 ;
368
-
369
355
var builder = new StringBuilder ( ) ;
370
- if ( hasIncluded )
356
+ if ( includedRefs . Count > 0 )
371
357
{
372
- foreach ( var b in includedBranches )
358
+ foreach ( var r in includedRefs )
373
359
{
374
- builder . Append ( "--branches=" ) ;
375
- builder . Append ( b ) ;
376
- builder . Append ( ' ' ) ;
377
- }
378
-
379
- foreach ( var r in includedRemotes )
380
- {
381
- builder . Append ( "--remotes=" ) ;
382
360
builder . Append ( r ) ;
383
361
builder . Append ( ' ' ) ;
384
362
}
385
-
386
- foreach ( var t in includedTags )
387
- {
388
- builder . Append ( "--tags=" ) ;
389
- builder . Append ( t ) ;
390
- builder . Append ( ' ' ) ;
391
- }
392
363
}
393
- else if ( hasExcluded )
364
+ else if ( excludedBranches . Count + excludedRemotes . Count + excludedTags . Count > 0 )
394
365
{
395
- if ( excludedBranches . Count > 0 )
366
+ foreach ( var b in excludedBranches )
396
367
{
397
- foreach ( var b in excludedBranches )
398
- {
399
- builder . Append ( "--exclude=" ) ;
400
- builder . Append ( b ) ;
401
- builder . Append ( " --decorate-refs-exclude=refs/heads/" ) ;
402
- builder . Append ( b ) ;
403
- builder . Append ( ' ' ) ;
404
- }
368
+ builder . Append ( b ) ;
369
+ builder . Append ( ' ' ) ;
405
370
}
406
371
407
372
builder . Append ( "--exclude=HEA[D] --branches " ) ;
408
373
409
- if ( excludedRemotes . Count > 0 )
374
+ foreach ( var r in excludedRemotes )
410
375
{
411
- foreach ( var r in excludedRemotes )
412
- {
413
- builder . Append ( "--exclude=" ) ;
414
- builder . Append ( r ) ;
415
- builder . Append ( " --decorate-refs-exclude=refs/remotes/" ) ;
416
- builder . Append ( r ) ;
417
- builder . Append ( ' ' ) ;
418
- }
376
+ builder . Append ( r ) ;
377
+ builder . Append ( ' ' ) ;
419
378
}
420
379
421
380
builder . Append ( "--exclude=origin/HEA[D] --remotes " ) ;
422
381
423
- if ( excludedTags . Count > 0 )
382
+ foreach ( var t in excludedTags )
424
383
{
425
- foreach ( var t in excludedTags )
426
- {
427
- builder . Append ( "--exclude=" ) ;
428
- builder . Append ( t ) ;
429
- builder . Append ( " --decorate-refs-exclude=refs/tags/" ) ;
430
- builder . Append ( t ) ;
431
- builder . Append ( ' ' ) ;
432
- }
384
+ builder . Append ( t ) ;
385
+ builder . Append ( ' ' ) ;
433
386
}
434
387
435
388
builder . Append ( "--tags " ) ;
0 commit comments