Я работаю с некоторыми сценариями bash для переменной PS1, чтобы контролировать цвета моей командной строки.Одна из вещей, которую я хочу сделать, это поставить "(svn)" после имени локальной папки, если я нахожусь в репозитории svn.То, как я пытаюсь сделать это, с помощью этой функции в моем .bashrc, который я вызываю, когда я устанавливаю PS1:
function __svn_branch {
local branch=$(svn info | grep URL:)
[ "$branch" != "" ] && echo "(svn)"
}
Это прекрасно работает, если я нахожусь в папке svn.Однако, если я захожу в папку, отличную от svn, это вызывает жалобу "svn: '.' is not a working copy"
, которая явно раздражает.Я не эксперт по bash-скриптингу, может кто-нибудь увидеть, как это остановить?
спасибо, макс.
Я подумал об альтернативном способе определения, нахожусь ли я в папке SVN,искать каталог .svn, но информация svn кажется чище как-то.Плюс мне просто любопытно, как остановить сообщение об ошибке или как-то спрятать его в моем скрипте bash.