rust/hg-core/src/operations/list_tracked_files.rs
changeset 47960 cfb6e6699b25
parent 47959 21d25e9ee58e
child 47964 796206e74b10
equal deleted inserted replaced
47959:21d25e9ee58e 47960:cfb6e6699b25
     8 use crate::dirstate::parsers::parse_dirstate_entries;
     8 use crate::dirstate::parsers::parse_dirstate_entries;
     9 use crate::dirstate_tree::on_disk::{for_each_tracked_path, read_docket};
     9 use crate::dirstate_tree::on_disk::{for_each_tracked_path, read_docket};
    10 use crate::errors::HgError;
    10 use crate::errors::HgError;
    11 use crate::repo::Repo;
    11 use crate::repo::Repo;
    12 use crate::revlog::manifest::Manifest;
    12 use crate::revlog::manifest::Manifest;
    13 use crate::revlog::node::Node;
       
    14 use crate::revlog::revlog::RevlogError;
    13 use crate::revlog::revlog::RevlogError;
    15 use crate::utils::hg_path::HgPath;
    14 use crate::utils::hg_path::HgPath;
    16 use crate::DirstateError;
    15 use crate::DirstateError;
    17 use rayon::prelude::*;
    16 use rayon::prelude::*;
    18 
    17 
    69 pub fn list_rev_tracked_files(
    68 pub fn list_rev_tracked_files(
    70     repo: &Repo,
    69     repo: &Repo,
    71     revset: &str,
    70     revset: &str,
    72 ) -> Result<FilesForRev, RevlogError> {
    71 ) -> Result<FilesForRev, RevlogError> {
    73     let rev = crate::revset::resolve_single(revset, repo)?;
    72     let rev = crate::revset::resolve_single(revset, repo)?;
    74     let changelog = repo.changelog()?;
    73     Ok(FilesForRev(repo.manifest(rev)?))
    75     let manifest = repo.manifestlog()?;
       
    76     let changelog_entry = changelog.get_rev(rev)?;
       
    77     let manifest_node =
       
    78         Node::from_hex_for_repo(&changelog_entry.manifest_node()?)?;
       
    79     let manifest_entry = manifest.get_node(manifest_node.into())?;
       
    80     Ok(FilesForRev(manifest_entry))
       
    81 }
    74 }
    82 
    75 
    83 pub struct FilesForRev(Manifest);
    76 pub struct FilesForRev(Manifest);
    84 
    77 
    85 impl FilesForRev {
    78 impl FilesForRev {