File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -122,13 +122,15 @@ enum Change {
122122struct ChangeRecorder {
123123 previous_after_end : u32 ,
124124 changes : Vec < Change > ,
125+ total_number_of_lines : u32 ,
125126}
126127
127128impl ChangeRecorder {
128- fn new ( ) -> Self {
129+ fn new ( total_number_of_lines : u32 ) -> Self {
129130 ChangeRecorder {
130131 previous_after_end : 0 ,
131132 changes : vec ! [ ] ,
133+ total_number_of_lines,
132134 }
133135 }
134136}
@@ -155,7 +157,12 @@ impl Sink for ChangeRecorder {
155157 self . previous_after_end = after. end ;
156158 }
157159
158- fn finish ( self ) -> Self :: Out {
160+ fn finish ( mut self ) -> Self :: Out {
161+ if self . total_number_of_lines > self . previous_after_end {
162+ self . changes
163+ . push ( Change :: Unchanged ( self . previous_after_end ..self . total_number_of_lines ) ) ;
164+ }
165+
159166 self . changes
160167 }
161168}
@@ -587,7 +594,7 @@ fn blame_file(worktree_path: PathBuf, file_path: &BStr) -> Vec<BlameEntry> {
587594 let outcome = resource_cache. prepare_diff ( ) . unwrap ( ) ;
588595 let input = outcome. interned_input ( ) ;
589596
590- let change_recorder = ChangeRecorder :: new ( ) ;
597+ let change_recorder = ChangeRecorder :: new ( number_of_lines . try_into ( ) . unwrap ( ) ) ;
591598
592599 let changes = gix_diff:: blob:: diff ( gix_diff:: blob:: Algorithm :: Histogram , & input, change_recorder) ;
593600
You can’t perform that action at this time.
0 commit comments