Subversion: определение псевдонима местоположения - PullRequest
3 голосов
/ 28 октября 2009

У меня есть хранилище Subversion на коробке BSD с помощью svnserve, и я получаю к нему доступ через клиент BSD через:

svn co svn://my.domain.com/my/repo/dirs ...

это нормально, но я всегда получаю доступ, используя один и тот же домен, и мне часто приходится извлекать несколько разных каталогов, и перепечатывание домена является проблемой Двоичный файл svnserve вызывается как демон и с указанным корневым каталогом:

svnserve -d -r /svn/root

Я бы хотел настроить мой клиент Subversion, чтобы я мог напечатать что-то вроде:

svn co dir1/ dir2/subdir dir2/subdir2/

чтобы зарегистрироваться, проверить и все остальное, так как домен никогда не меняется. Также было бы неплохо иметь каталог по умолчанию для проверки файлов. Я посмотрел в книге, но ничего не нашел. Я мог бы сделать это через оболочку, но это похоже на средство, которое может иметь Subversion.

Разве я не прочитал книгу достаточно хорошо или это невозможно?

Ответы [ 2 ]

2 голосов
/ 29 октября 2009

Я уже давно смотрю на это, ожидая хорошего ответа. К сожалению, ни у кого не было. (Вы пробовали на superuser.com?)

Во всяком случае, одна идея, которая пришла мне в голову прошлой ночью, заключается в том, что вы можете использовать переменные среды. Это обернулось бы

svn co svn://my.domain.com/my/repo/prj1

в

svn co $MY_REPO/prj1
1 голос
/ 03 февраля 2014

URL-адреса Subversion могут быть длинными просто потому, что имя системы длинное, а структура каталогов может быть длинной. Клиент командной строки Subversion предоставляет мало услуг, кроме того, что абсолютно необходимо. В отличие от других систем управления версиями, таких как CVS, Subversion была написана, чтобы позволить настраиваемого клиента. Люди, которые написали Subversion, много раз заявляли, что они скорее не добавляют features в клиент командной строки, но вместо этого улучшают сам Subversion, и вы всегда можете либо использовать другой клиент, либо написать свой собственный.

Вы можете использовать переменные среды для сокращения URL, и это то, что я делаю. Я использую Bash, так что это в моем .bash_profile;

export repo="http://svn.vegicorp.net/repo"

Это позволяет мне использовать мои переменные окружения:

$ svn co $repo/trunk/project

Совершенно законно. В оболочках Unix оболочка сначала захватывает командную строку, интерполирует переменные и шаблоны, а затем передает ее в команду.

В свое время я также написал свой собственный скрипт оболочки svn , который запоминал репозитории и ветви и сокращал длинные команды, такие как diff:

$ mysvn branch foo
$ mysvn repo $repo
$ mysvn co project               # svn co $repo/branches/foo/project
$ mysvn bdiff trunk 4.1 project  # svn diff $repo/trunk/project $repo/branches/4.1/project

Я больше им не пользуюсь (я привык к Subversion и не против долгой печати), но это то, что вы могли бы легко сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...