The subject should probably refer to printf(1) instead of printf(3).
Theodore Ts'o [off-list ref] wrote:
- echo -n "'$path' was deleted"
+ printf "'$path' was deleted"
Here is one space too much after printf.
- echo -n "'$path' is a symlink containing '"
+ printf "'$path' is a symlink containing '"
You should use printf "'%s' [..]" "$path" as you do in some other
places (in case $path contains conversion specifiers).
- echo -n "Hit return to start merge resolution tool ($merge_tool): "
+ printf "Hit return to start merge resolution tool ($merge_tool): "
Here it is much more unlikely that $merge_tool contains a conversion
specifier but anyway I'd prefer to use %s.