Skip to main content

stdout_paths

Function stdout_paths 

Source
pub fn stdout_paths(args: &[&str]) -> Option<Vec<String>>
Expand description

A path list from diff --name-only, diff-tree --name-only or ls-files — commands whose output is meant to be split into individual paths, never just read as one blob.

By default git QUOTES any “unusual” byte in a path, non-ASCII included: é.json prints as "\303\251.json". Reading that line as a literal path looks up a file that does not exist — the caller then treats real, unstaged content as absent, which is how StagedOnly used to lose it. -z disables quoting entirely and NUL-terminates each entry instead, so there is no escaping left to get wrong. Inserted right after the subcommand (args[0]), which is always a valid position for it on every command this is used for.