equal
deleted
inserted
replaced
535 // generaldelta. See the doc on `ENTRY_DELTA_BASE` in |
535 // generaldelta. See the doc on `ENTRY_DELTA_BASE` in |
536 // `mercurial/revlogutils/constants.py` and the code in |
536 // `mercurial/revlogutils/constants.py` and the code in |
537 // [_chaininfo] and in [index_deltachain]. |
537 // [_chaininfo] and in [index_deltachain]. |
538 let uses_generaldelta = self.revlog.index.uses_generaldelta(); |
538 let uses_generaldelta = self.revlog.index.uses_generaldelta(); |
539 while let Some(base_rev) = entry.base_rev_or_base_of_delta_chain { |
539 while let Some(base_rev) = entry.base_rev_or_base_of_delta_chain { |
540 let base_rev = if uses_generaldelta { |
540 entry = if uses_generaldelta { |
541 base_rev |
541 delta_chain.push(entry); |
|
542 self.revlog.get_entry_internal(base_rev)? |
542 } else { |
543 } else { |
543 entry.rev - 1 |
544 let base_rev = entry.rev - 1; |
|
545 delta_chain.push(entry); |
|
546 self.revlog.get_entry_internal(base_rev)? |
544 }; |
547 }; |
545 delta_chain.push(entry); |
|
546 entry = self.revlog.get_entry_internal(base_rev)?; |
|
547 } |
548 } |
548 |
549 |
549 let data = if delta_chain.is_empty() { |
550 let data = if delta_chain.is_empty() { |
550 entry.data_chunk()? |
551 entry.data_chunk()? |
551 } else { |
552 } else { |