edit in pijul-repository/src/lib.rs at line 1
replacement in pijul-repository/src/lib.rs at line 3
[5.27]→[7.21516:21540](∅→∅),
[7.21516]→[7.21516:21540](∅→∅) − use std::path::PathBuf;
+ use std::path::{Path, PathBuf};
replacement in pijul-repository/src/lib.rs at line 49
[7.22284]→[7.22284:22375](∅→∅) − fn find_root_(cur: Option<PathBuf>, dot_dir: &str) -> Result<PathBuf, anyhow::Error> {
+ fn find_root_(cur: Option<&Path>, dot_dir: &str) -> Result<PathBuf, anyhow::Error> {
replacement in pijul-repository/src/lib.rs at line 51
[7.22422]→[7.22422:22438](∅→∅) replacement in pijul-repository/src/lib.rs at line 72
− pub fn find_root(cur: Option<PathBuf>) -> Result<Self, anyhow::Error> {
+ pub fn find_root(cur: Option<&Path>) -> Result<Self, anyhow::Error> {
replacement in pijul-repository/src/lib.rs at line 77
[7.163]→[7.23076:23106](∅→∅),
[7.1279]→[7.23076:23106](∅→∅),
[7.23076]→[7.23076:23106](∅→∅) replacement in pijul-repository/src/lib.rs at line 81
[7.23219]→[7.23219:23466](∅→∅) − let mut pristine_dir = cur.clone();
− pristine_dir.push(PRISTINE_DIR);
− let mut changes_dir = cur.clone();
− changes_dir.push(CHANGES_DIR);
− let mut working_copy_dir = cur.clone();
− working_copy_dir.pop();
+ let pristine_dir = cur.join(PRISTINE_DIR);
+ let changes_dir = cur.join(CHANGES_DIR);
+ let working_copy_dir = cur.parent().unwrap();
replacement in pijul-repository/src/lib.rs at line 104
[7.24220]→[7.24220:24256](∅→∅) − path: working_copy_dir,
+ path: working_copy_dir.to_path_buf(),
replacement in pijul-repository/src/lib.rs at line 110
− path: Option<std::path::PathBuf>,
replacement in pijul-repository/src/lib.rs at line 117
[7.24427]→[7.24427:24444](∅→∅) replacement in pijul-repository/src/lib.rs at line 119
[7.24461]→[7.24461:24488](∅→∅) + Cow::Owned(current_dir()?)
replacement in pijul-repository/src/lib.rs at line 121
[7.24499]→[7.65:231](∅→∅) − let pristine_dir = {
− let mut base = cur.clone();
− base.push(DOT_DIR);
− base.push(PRISTINE_DIR);
− base
− };
+
+ let pristine_dir = cur.join(DOT_DIR).join(PRISTINE_DIR);
+
replacement in pijul-repository/src/lib.rs at line 126
[7.24728]→[7.477:526](∅→∅) − init_dot_ignore(cur.clone(), kind)?;
+ init_dot_ignore(&cur, kind)?;
replacement in pijul-repository/src/lib.rs at line 128
[7.107]→[7.275:463](∅→∅),
[7.526]→[7.275:463](∅→∅),
[7.275]→[7.275:463](∅→∅) − let changes_dir = {
− let mut base = cur.clone();
− base.push(DOT_DIR);
− base.push(CHANGES_DIR);
− base
− };
+
+ let changes_dir = cur.join(DOT_DIR).join(CHANGES_DIR);
replacement in pijul-repository/src/lib.rs at line 142
[7.25208]→[7.25208:25235](∅→∅) + path: cur.into_owned(),
replacement in pijul-repository/src/lib.rs at line 159
− fn init_default_config(path: &std::path::Path, remote: Option<&str>) -> Result<(), anyhow::Error> {
+ fn init_default_config(path: &Path, remote: Option<&str>) -> Result<(), anyhow::Error> {
replacement in pijul-repository/src/lib.rs at line 175
− fn init_dot_ignore(base_path: std::path::PathBuf, kind: Option<&str>) -> Result<(), anyhow::Error> {
+ fn init_dot_ignore(base_path: &Path, kind: Option<&str>) -> Result<(), anyhow::Error> {
replacement in pijul-repository/src/lib.rs at line 177
− let dot_ignore_path = {
− let mut base = base_path.clone();
− base.push(".ignore");
− base
− };
+ let dot_ignore_path = base_path.join(".ignore");
replacement in pijul/src/commands/unrecord.rs at line 35
[7.1080]→[7.13337:13400](∅→∅),
[7.5722]→[7.13337:13400](∅→∅) − let mut repo = Repository::find_root(self.repo_path)?;
+ let mut repo = Repository::find_root(self.repo_path.as_deref())?;
replacement in pijul/src/commands/tag.rs at line 96
− let mut repo = Repository::find_root(repo_path)?;
+ let mut repo = Repository::find_root(repo_path.as_deref())?;
replacement in pijul/src/commands/tag.rs at line 143
− let repo = Repository::find_root(repo_path)?;
+ let repo = Repository::find_root(repo_path.as_deref())?;
replacement in pijul/src/commands/tag.rs at line 168
[7.5659]→[7.5659:5721](∅→∅) − let repo = Repository::find_root(repo_path)?;
+ let repo = Repository::find_root(repo_path.as_deref())?;
replacement in pijul/src/commands/tag.rs at line 206
− let repo = Repository::find_root(repo_path)?;
+ let repo = Repository::find_root(repo_path.as_deref())?;
replacement in pijul/src/commands/tag.rs at line 237
[7.268]→[7.26544:26611](∅→∅) − let repo = Repository::find_root(self.repo_path)?;
+ let repo = Repository::find_root(self.repo_path.as_deref())?;
replacement in pijul/src/commands/reset.rs at line 56
[7.98218]→[7.13851:13910](∅→∅) − let repo = Repository::find_root(self.repo_path)?;
+ let repo = Repository::find_root(self.repo_path.as_deref())?;
replacement in pijul/src/commands/record.rs at line 73
[7.536]→[7.13911:13978](∅→∅),
[7.1422]→[7.13911:13978](∅→∅),
[7.102832]→[7.13911:13978](∅→∅) − let repo = Repository::find_root(self.repo_path.clone())?;
+ let repo = Repository::find_root(self.repo_path.as_deref())?;
replacement in pijul/src/commands/pushpull.rs at line 184
[7.1475]→[7.14593:14652](∅→∅),
[7.6472]→[7.14593:14652](∅→∅) − let repo = Repository::find_root(self.repo_path)?;
+ let repo = Repository::find_root(self.repo_path.as_deref())?;
replacement in pijul/src/commands/pushpull.rs at line 501
[7.1981]→[7.20068:20135](∅→∅) − let repo = Repository::find_root(self.repo_path.clone())?;
+ let repo = Repository::find_root(self.repo_path.as_deref())?;
replacement in pijul/src/commands/pushpull.rs at line 693
[7.117585]→[7.21787:21858](∅→∅) − let mut repo = Repository::find_root(self.repo_path.clone())?;
+ let mut repo = Repository::find_root(self.repo_path.as_deref())?;
replacement in pijul/src/commands/protocol.rs at line 55
[7.1528]→[7.15774:15837](∅→∅),
[7.6860]→[7.15774:15837](∅→∅) − let mut repo = Repository::find_root(self.repo_path)?;
+ let mut repo = Repository::find_root(self.repo_path.as_deref())?;
edit in pijul/src/commands/mod.rs at line 2
edit in pijul/src/commands/mod.rs at line 74
replacement in pijul/src/commands/log.rs at line 60
− let repo = Repository::find_root(cmd.repo_path.clone())?;
+ let repo = Repository::find_root(cmd.repo_path.as_deref())?;
replacement in pijul/src/commands/init.rs at line 25
[7.1824]→[7.686:763](∅→∅) − let repo = Repository::init(self.path, self.kind.as_deref(), None)?;
+ let repo = Repository::init(self.path.as_deref(), self.kind.as_deref(), None)?;
replacement in pijul/src/commands/fork.rs at line 28
[7.1926]→[7.23679:23738](∅→∅),
[7.14628]→[7.23679:23738](∅→∅) − let repo = Repository::find_root(self.repo_path)?;
+ let repo = Repository::find_root(self.repo_path.as_deref())?;
replacement in pijul/src/commands/file_operations.rs at line 97
[7.2036]→[7.23807:23866](∅→∅),
[7.14968]→[7.23807:23866](∅→∅) − let repo = Repository::find_root(self.repo_path)?;
+ let repo = Repository::find_root(self.repo_path.as_deref())?;
replacement in pijul/src/commands/diff.rs at line 42
[7.2199]→[7.24003:24070](∅→∅),
[7.15461]→[7.24003:24070](∅→∅) − let repo = Repository::find_root(self.repo_path.clone())?;
+ let repo = Repository::find_root(self.repo_path.as_deref())?;
replacement in pijul/src/commands/dependents.rs at line 20
− let repo = Repository::find_root(self.repo_path.clone())?;
+ let repo = Repository::find_root(self.repo_path.as_deref())?;
replacement in pijul/src/commands/debug.rs at line 22
[7.2252]→[7.24133:24192](∅→∅),
[7.15597]→[7.24133:24192](∅→∅) − let repo = Repository::find_root(self.repo_path)?;
+ let repo = Repository::find_root(self.repo_path.as_deref())?;
replacement in pijul/src/commands/credit.rs at line 30
[7.179239]→[7.24247:24306](∅→∅) − let repo = Repository::find_root(self.repo_path)?;
+ let repo = Repository::find_root(self.repo_path.as_deref())?;
replacement in pijul/src/commands/clone.rs at line 85
− let mut repo = Repository::init(Some(path), None, Some(&remote_normalised))?;
+ let mut repo = Repository::init(Some(&path), None, Some(&remote_normalised))?;
replacement in pijul/src/commands/channel.rs at line 53
[7.187735]→[7.24512:24579](∅→∅) − let repo = Repository::find_root(self.repo_path)?;
+ let repo = Repository::find_root(self.repo_path.as_deref())?;
replacement in pijul/src/commands/channel.rs at line 67
[7.188244]→[7.24580:24647](∅→∅) − let repo = Repository::find_root(self.repo_path)?;
+ let repo = Repository::find_root(self.repo_path.as_deref())?;
replacement in pijul/src/commands/channel.rs at line 89
[7.188456]→[7.24648:24715](∅→∅) − let repo = Repository::find_root(self.repo_path)?;
+ let repo = Repository::find_root(self.repo_path.as_deref())?;
replacement in pijul/src/commands/channel.rs at line 112
[7.391]→[7.24716:24783](∅→∅),
[7.155]→[7.24716:24783](∅→∅) − let repo = Repository::find_root(self.repo_path)?;
+ let repo = Repository::find_root(self.repo_path.as_deref())?;
replacement in pijul/src/commands/change.rs at line 21
[7.2495]→[7.24784:24851](∅→∅),
[7.16397]→[7.24784:24851](∅→∅) − let repo = Repository::find_root(self.repo_path.clone())?;
+ let repo = Repository::find_root(self.repo_path.as_deref())?;
replacement in pijul/src/commands/archive.rs at line 100
[7.8987]→[7.24875:24949](∅→∅) − if let Ok(repo) = Repository::find_root(self.repo_path.clone()) {
+ if let Ok(repo) = Repository::find_root(self.repo_path.as_deref()) {
replacement in pijul/src/commands/apply.rs at line 27
[7.2548]→[7.24950:25009](∅→∅),
[7.16631]→[7.24950:25009](∅→∅) − let repo = Repository::find_root(self.repo_path)?;
+ let repo = Repository::find_root(self.repo_path.as_deref())?;