|
1 | 1 | use super::CommitId;
|
2 | 2 | use crate::error::Result;
|
3 |
| -use git2::{Repository, Revwalk, Sort}; |
| 3 | +use git2::{Repository, Revwalk}; |
4 | 4 |
|
5 | 5 | ///
|
6 | 6 | pub enum Mode {
|
@@ -43,14 +43,14 @@ impl<'a> LogWalker<'a> {
|
43 | 43 | if self.revwalk.is_none() {
|
44 | 44 | let mut walk = self.repo.revwalk()?;
|
45 | 45 |
|
| 46 | + // note: setting a sorting sifnificantly slows down big revwalks |
| 47 | + |
46 | 48 | if matches!(self.mode, Mode::HeadOnly) {
|
47 | 49 | walk.push_head()?;
|
48 | 50 | } else {
|
49 | 51 | walk.push_glob("*")?;
|
50 | 52 | }
|
51 | 53 |
|
52 |
| - walk.set_sorting(Sort::TIME)?; |
53 |
| - |
54 | 54 | self.revwalk = Some(walk);
|
55 | 55 | }
|
56 | 56 |
|
@@ -185,11 +185,11 @@ mod tests {
|
185 | 185 | );
|
186 | 186 |
|
187 | 187 | let items = walk_all_commits(&repo);
|
188 |
| - assert_eq!(items, vec![c3, c2, c1]); |
| 188 | + assert_eq!(items, vec![c2, c3, c1]); |
189 | 189 |
|
190 | 190 | checkout_branch(&repo_path, &b1).unwrap();
|
191 | 191 |
|
192 | 192 | let items = walk_all_commits(&repo);
|
193 |
| - assert_eq!(items, vec![c3, c2, c1]); |
| 193 | + assert_eq!(items, vec![c2, c3, c1]); |
194 | 194 | }
|
195 | 195 | }
|
0 commit comments