@@ -22,6 +22,7 @@ pub struct WorktreeRoots {
22
22
pub new_root : Option < PathBuf > ,
23
23
}
24
24
25
+ /// Access
25
26
impl WorktreeRoots {
26
27
/// Return the root path for the given `kind`
27
28
pub fn by_kind ( & self , kind : ResourceKind ) -> Option < & Path > {
@@ -30,6 +31,11 @@ impl WorktreeRoots {
30
31
ResourceKind :: NewOrDestination => self . new_root . as_deref ( ) ,
31
32
}
32
33
}
34
+
35
+ /// Return `true` if all worktree roots are unset.
36
+ pub fn is_unset ( & self ) -> bool {
37
+ self . new_root . is_none ( ) && self . old_root . is_none ( )
38
+ }
33
39
}
34
40
35
41
/// Data as part of an [Outcome].
@@ -184,6 +190,8 @@ impl Pipeline {
184
190
/// Access
185
191
impl Pipeline {
186
192
/// Return all drivers that this instance was initialized with.
193
+ ///
194
+ /// They are sorted by [`name`](Driver::name) to support binary searches.
187
195
pub fn drivers ( & self ) -> & [ super :: Driver ] {
188
196
& self . drivers
189
197
}
@@ -445,7 +453,7 @@ impl Pipeline {
445
453
}
446
454
}
447
455
. map_err ( |err| {
448
- convert_to_diffable:: Error :: CreateTempfile {
456
+ convert_to_diffable:: Error :: StreamCopy {
449
457
source : err,
450
458
rela_path : rela_path. to_owned ( ) ,
451
459
}
@@ -533,6 +541,10 @@ impl Driver {
533
541
pub fn prepare_binary_to_text_cmd ( & self , path : & Path ) -> Option < std:: process:: Command > {
534
542
let command: & BStr = self . binary_to_text_command . as_ref ( ) ?. as_ref ( ) ;
535
543
let cmd = gix_command:: prepare ( gix_path:: from_bstr ( command) . into_owned ( ) )
544
+ // This program intentionally doesn't get the whole Git context.
545
+ // In fact, when checked it only saw the `GIT_EXEC_PATH` and `COLORTERM` environment variables, nothing more.
546
+ // We by default let it inherit the entire environment. On Windows, Git seems to add the env though.
547
+ . with_context ( Default :: default ( ) )
536
548
. with_shell ( )
537
549
. stdin ( Stdio :: null ( ) )
538
550
. stdout ( Stdio :: piped ( ) )
0 commit comments