| 194 | } |
| 195 | |
| 196 | pub fn fetch_activity( |
| 197 | &self, |
| 198 | repo_id: RepoId, |
| 199 | id: &ExternalId, |
| 200 | first: usize, |
| 201 | ) -> Result<Vec<activity::Change>> { |
| 202 | log::info!("fetching first {} change logs from Git for {}", first, id); |
| 203 | let index = self.fetch_activity_log(repo_id, id, IndexMode::ReadOnly)?; |
| 204 | let mut changes = vec![]; |
| 205 | |
| 206 | for reference in index.references().iter().take(first) { |
| 207 | let result = self.view(repo_id)?.change(&reference.id); |
| 208 | match result { |
| 209 | Ok(change) => changes.push(change), |
| 210 | Err(err) => log::warn!("failed to load change: {}", err), |
| 211 | } |
| 212 | } |
| 213 | |
| 214 | Ok(changes) |
| 215 | } |
| 216 | |
| 217 | pub fn fetch_activity_log( |
| 218 | &self, |