@@ -45,7 +45,7 @@ pub(crate) mod convert_to_diffable {
45
45
& mut buf,
46
46
) ?;
47
47
assert ! ( out. driver_index. is_none( ) , "there was no driver" ) ;
48
- assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer ) ) ;
48
+ assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer { is_derived : false } ) ) ;
49
49
assert_eq ! ( buf. as_bstr( ) , a_content, "there is no transformations configured" ) ;
50
50
51
51
let link_name = "link" ;
@@ -62,7 +62,7 @@ pub(crate) mod convert_to_diffable {
62
62
) ?;
63
63
64
64
assert ! ( out. driver_index. is_none( ) ) ;
65
- assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer ) ) ;
65
+ assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer { is_derived : false } ) ) ;
66
66
assert_eq ! (
67
67
buf. as_bstr( ) ,
68
68
a_name,
@@ -86,7 +86,7 @@ pub(crate) mod convert_to_diffable {
86
86
) ?;
87
87
88
88
assert ! ( out. driver_index. is_none( ) , "there was no driver" ) ;
89
- assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer ) ) ;
89
+ assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer { is_derived : false } ) ) ;
90
90
assert_eq ! ( buf. as_bstr( ) , b_content, "there is no transformations configured" ) ;
91
91
}
92
92
@@ -203,7 +203,7 @@ pub(crate) mod convert_to_diffable {
203
203
assert ! ( out. driver_index. is_none( ) ) ;
204
204
assert_eq ! (
205
205
out. data,
206
- Some ( pipeline:: Data :: Buffer ) ,
206
+ Some ( pipeline:: Data :: Buffer { is_derived : false } ) ,
207
207
"links are always read and never considered large"
208
208
) ;
209
209
assert_eq ! ( buf. as_bstr( ) , large_content) ;
@@ -340,7 +340,7 @@ pub(crate) mod convert_to_diffable {
340
340
& mut buf,
341
341
) ?;
342
342
assert ! ( out. driver_index. is_none( ) , "there was no driver" ) ;
343
- assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer ) ) ;
343
+ assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer { is_derived : false } ) ) ;
344
344
assert_eq ! (
345
345
buf. as_bstr( ) ,
346
346
a_content,
@@ -361,7 +361,7 @@ pub(crate) mod convert_to_diffable {
361
361
& mut buf,
362
362
) ?;
363
363
assert ! ( out. driver_index. is_none( ) , "there was no driver" ) ;
364
- assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer ) ) ;
364
+ assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer { is_derived : false } ) ) ;
365
365
assert_eq ! (
366
366
buf. as_bstr( ) ,
367
367
"a\n b" ,
@@ -386,7 +386,7 @@ pub(crate) mod convert_to_diffable {
386
386
) ?;
387
387
388
388
assert ! ( out. driver_index. is_none( ) ) ;
389
- assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer ) ) ;
389
+ assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer { is_derived : false } ) ) ;
390
390
assert_eq ! (
391
391
buf. as_bstr( ) ,
392
392
link_content,
@@ -411,7 +411,7 @@ pub(crate) mod convert_to_diffable {
411
411
) ?;
412
412
413
413
assert ! ( out. driver_index. is_none( ) , "there was no driver" ) ;
414
- assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer ) ) ;
414
+ assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer { is_derived : false } ) ) ;
415
415
assert_eq ! ( buf. as_bstr( ) , "b-content\r \n " , "LF to CRLF by worktree filtering" ) ;
416
416
417
417
let mut db = ObjectDb :: default ( ) ;
@@ -429,7 +429,7 @@ pub(crate) mod convert_to_diffable {
429
429
) ?;
430
430
431
431
assert ! ( out. driver_index. is_none( ) , "there was no driver" ) ;
432
- assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer ) ) ;
432
+ assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer { is_derived : false } ) ) ;
433
433
assert_eq ! ( buf. as_bstr( ) , "b\n " , "no filtering was performed at all" ) ;
434
434
435
435
Ok ( ( ) )
@@ -524,11 +524,11 @@ pub(crate) mod convert_to_diffable {
524
524
) ?;
525
525
526
526
assert_eq ! ( out. driver_index, Some ( 0 ) ) ;
527
- assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer ) ) ;
527
+ assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer { is_derived : true } ) ) ;
528
528
assert_eq ! (
529
529
buf. as_bstr( ) ,
530
530
"\0 b" ,
531
- "if binary-text-conversion is set, we don't care if it outputs zero bytes, let everything pass"
531
+ "if binary-text-conversion is set, we don't care if it outputs null- bytes, let everything pass"
532
532
) ;
533
533
534
534
Ok ( ( ) )
@@ -613,7 +613,12 @@ pub(crate) mod convert_to_diffable {
613
613
& mut buf,
614
614
) ?;
615
615
assert_eq ! ( out. driver_index, Some ( 0 ) ) ;
616
- assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer ) ) ;
616
+ assert_eq ! (
617
+ out. data,
618
+ Some ( pipeline:: Data :: Buffer {
619
+ is_derived: !matches!( mode, pipeline:: Mode :: ToGit )
620
+ } )
621
+ ) ;
617
622
assert_eq ! ( buf. as_bstr( ) , "to-text\n a\n " , "filter was applied" ) ;
618
623
}
619
624
@@ -630,7 +635,7 @@ pub(crate) mod convert_to_diffable {
630
635
& mut buf,
631
636
) ?;
632
637
assert_eq ! ( out. driver_index, Some ( 0 ) ) ;
633
- assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer ) ) ;
638
+ assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer { is_derived : false } ) ) ;
634
639
assert_eq ! ( buf. as_bstr( ) , "a\n " , "unconditionally use git according to mode" ) ;
635
640
636
641
let id = db. insert ( "a\n " ) ;
@@ -648,7 +653,7 @@ pub(crate) mod convert_to_diffable {
648
653
& mut buf,
649
654
) ?;
650
655
assert_eq ! ( out. driver_index, Some ( 0 ) ) ;
651
- assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer ) ) ;
656
+ assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer { is_derived : true } ) ) ;
652
657
assert_eq ! ( buf. as_bstr( ) , "to-text\n a\n " , "filter was applied" ) ;
653
658
}
654
659
@@ -665,7 +670,7 @@ pub(crate) mod convert_to_diffable {
665
670
& mut buf,
666
671
) ?;
667
672
assert_eq ! ( out. driver_index, Some ( 0 ) ) ;
668
- assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer ) ) ;
673
+ assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer { is_derived : false } ) ) ;
669
674
assert_eq ! (
670
675
buf. as_bstr( ) ,
671
676
"a\n " ,
@@ -723,7 +728,7 @@ pub(crate) mod convert_to_diffable {
723
728
& mut buf,
724
729
) ?;
725
730
assert_eq ! ( out. driver_index, Some ( 4 ) , "despite missing, we get driver information" ) ;
726
- assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer ) ) ;
731
+ assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer { is_derived : false } ) ) ;
727
732
assert_eq ! (
728
733
buf. as_bstr( ) ,
729
734
"link-target" ,
@@ -796,7 +801,12 @@ pub(crate) mod convert_to_diffable {
796
801
& mut buf,
797
802
) ?;
798
803
assert_eq ! ( out. driver_index, Some ( 2 ) ) ;
799
- assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer ) ) ;
804
+ assert_eq ! (
805
+ out. data,
806
+ Some ( pipeline:: Data :: Buffer {
807
+ is_derived: !matches!( mode, pipeline:: Mode :: ToGit )
808
+ } )
809
+ ) ;
800
810
assert_eq ! (
801
811
buf. as_bstr( ) ,
802
812
"to-text\n c\n " ,
@@ -819,7 +829,7 @@ pub(crate) mod convert_to_diffable {
819
829
& mut buf,
820
830
) ?;
821
831
assert_eq ! ( out. driver_index, Some ( 2 ) ) ;
822
- assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer ) ) ;
832
+ assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer { is_derived : true } ) ) ;
823
833
assert_eq ! (
824
834
buf. as_bstr( ) ,
825
835
"to-text\n c\n " ,
@@ -895,7 +905,12 @@ pub(crate) mod convert_to_diffable {
895
905
& mut buf,
896
906
) ?;
897
907
assert_eq ! ( out. driver_index, Some ( 3 ) ) ;
898
- assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer ) ) ;
908
+ assert_eq ! (
909
+ out. data,
910
+ Some ( pipeline:: Data :: Buffer {
911
+ is_derived: !matches!( mode, pipeline:: Mode :: ToGit )
912
+ } )
913
+ ) ;
899
914
assert_eq ! (
900
915
buf. as_bstr( ) ,
901
916
"to-text\n d\n " ,
@@ -915,7 +930,7 @@ pub(crate) mod convert_to_diffable {
915
930
& mut buf,
916
931
) ?;
917
932
assert_eq ! ( out. driver_index, Some ( 3 ) ) ;
918
- assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer ) ) ;
933
+ assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer { is_derived : true } ) ) ;
919
934
assert_eq ! (
920
935
buf. as_bstr( ) ,
921
936
"to-text\n d-in-db" ,
@@ -937,7 +952,7 @@ pub(crate) mod convert_to_diffable {
937
952
& mut buf,
938
953
) ?;
939
954
assert_eq ! ( out. driver_index, None ) ;
940
- assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer ) ) ;
955
+ assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer { is_derived : false } ) ) ;
941
956
assert_eq ! (
942
957
buf. as_bstr( ) ,
943
958
"e\n " ,
@@ -958,7 +973,7 @@ pub(crate) mod convert_to_diffable {
958
973
& mut buf,
959
974
) ?;
960
975
assert_eq ! ( out. driver_index, None ) ;
961
- assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer ) ) ;
976
+ assert_eq ! ( out. data, Some ( pipeline:: Data :: Buffer { is_derived : false } ) ) ;
962
977
assert_eq ! (
963
978
buf. as_bstr( ) ,
964
979
"e-in-db" ,
0 commit comments