Еще один способ оболочки (показывающий, что всегда есть больше, чем один способ поиграться с этим материалом ...):
$ echo 1.2.3 | ( IFS=".$IFS" ; read a b c && echo $a.$b.$((c + 1)) )
1.2.4
Итак, мы можем сделать:
Если это одноразовая операция, вам не нужно установить переменную окружения CVSROOT
. Просто используйте аргумент -d
для спецификации специального репозитория.
Если ваша версия CVS / CVSNT не слишком старая (точнее, вам понадобится CVS 1.12.8 или выше, либо CVSNT ), то, как говорили другие, после входа в систему
cvs ls
должно работать нормально.
Если ваша версия CVS / CVSNT не поддерживает команду ls
, вы можете попробовать
cvs checkout -c
, который выведет только список предопределенных модулей .
Если ваша версия CVS / CVSNT достаточно старая, вам может повезти со следующим хаком (не работает с более свежими версиями CVSNT, если на сервере не включен режим совместимости):
Сначала проверьте корень репозитория в какое-то временное место, поэтому у нас есть необходимые метаданные:
cvs -d[your CVSROOT string] co -l -dTemp .
Затем смоделируйте обновление (с каталогами) этой папки:
cd Temp
cvs -n up -d
Это выдаст (почти) тот же результат, что и фактическая проверка без фактического получения файлы с сервера.
Если вы работаете в Windows и используете в качестве клиента довольно свежую версию CVSNT, то cvs ls
фактически автоматически вернется к этому механизму, когда обнаружит сервер, который не поддержка ls
.
О да, и AFAICT не существует такой вещи, как cvs -list
. Это' s даже недопустимый синтаксис командной строки CVS: -list
должен быть глобальным аргументом, а не командой, поскольку он следует непосредственно после cvs
, а фактическая команда не указана. Но опять же, все многобуквенные аргументы (такие как - help
) должны начинаться с двойного тире, например cvs --version
. Может быть, вы все думали о cvs list
, который был бы простым псевдонимом для cvs ls
?
в cvs
есть похожая команда. Использование: cvs ls
cvs -list для вывода списка модулей, ls для вывода списка содержимого модулей.
EDIT: Они правы, список команд и ls совпадают, извините за это.
ну, я действительно не понимаю, как вывести каталог cvs, не проверив его. Есть ли у репозитория, к которому вы пытаетесь получить доступ, доступ cvsweb?
Сначала вам нужно выполнить логин , например:
cvs -d: pserver: anonymous@evocms.cvs.sourceforge.net: / cvsroot / evocms login
Затем, как говорили другие, используйте команду ls .
Для справки см. обсуждение удаленных репозиториев
Все,
Вот полный способ сделать это:
. Имейте в виду, что если у вас не определен CVSROOT, вы можете просто скопировать и вставить сюда свой собственный CVSROOT.
cvs -d $CVSROOT rls
Надеюсь, это поможет (CVS Ver. 1.12.13)