Struct jj_lib::gitignore::GitIgnoreFile
source · pub struct GitIgnoreFile { /* private fields */ }
Expand description
Models the effective contents of multiple .gitignore files.
Implementations§
source§impl GitIgnoreFile
impl GitIgnoreFile
pub fn empty() -> Arc<GitIgnoreFile>
sourcepub fn chain(
self: &Arc<GitIgnoreFile>,
prefix: &str,
input: &[u8]
) -> Result<Arc<GitIgnoreFile>, GitIgnoreError>
pub fn chain( self: &Arc<GitIgnoreFile>, prefix: &str, input: &[u8] ) -> Result<Arc<GitIgnoreFile>, GitIgnoreError>
Concatenates new .gitignore
content at the prefix
directory.
The prefix
should be a slash-separated path relative to the workspace
root.
sourcepub fn chain_with_file(
self: &Arc<GitIgnoreFile>,
prefix: &str,
file: PathBuf
) -> Result<Arc<GitIgnoreFile>, GitIgnoreError>
pub fn chain_with_file( self: &Arc<GitIgnoreFile>, prefix: &str, file: PathBuf ) -> Result<Arc<GitIgnoreFile>, GitIgnoreError>
Concatenates new .gitignore
file at the prefix
directory.
The prefix
should be a slash-separated path relative to the workspace
root.
sourcepub fn matches(&self, path: &str) -> bool
pub fn matches(&self, path: &str) -> bool
Returns whether specified path (not just file!) should be ignored. This method does not directly define which files should not be tracked in the repository. Instead, it performs a simple matching against the last applicable .gitignore line. The effective set of paths ignored in the repository should take into account that all (untracked) files within a ignored directory should be ignored unconditionally. The code in this file does not take that into account.