В журнале много раз четко написано «файловая система только для чтения». Вот почему вы не можете удалять файлы даже с правами root
.
попробуйте перенаправить stdin или stdout или оба.
например:
gitr log < /dev/null | cat
Это не xargs подсказывает вам, это меньше. И меньше вызывается не xargs, а git.
Каждый вызов git'а работает на одном репозитории за раз, так что если вы хотите работать на нескольких репозиториях, вам нужно будет сказать git'у, чтобы он не вызывал пейджер. Однако, возможно, вы захотите вызвать пейджер вручную.
Вот непроверенный код подтверждения концепции, который заставляет git не вызывать пейджер, а вызывать пейджер на выходе из всех вызовов git'а при интерактивном вызове. Ваш код входит во вспомогательную функцию run_git
.
gitr () {
if [ -t 1 ]; then
run_git \
-ccolor.branch=always "$@" -ccolor.grep=always -ccolor.showbranch=always -ccolor.status=always \
| ${GIT_PAGER:-less -r}
else
run_git "$@"
fi
}