Как я могу перечислить файлы в CVS без первоначальной проверки?
Как я могу перечислить файлы CVS без первоначальной проверки?
В subversion я могу просто сделать "svn ls http://svn.svn.com" в CVS, как я могу это сделать?
Например, у меня есть это CVS-соединение:
pserver:[email protected]:/cvsroot/evocms
Как я могу перечислить все файлы в нем?
ОБНОВЛЕНИЕ:
Я делаю это:
c:\>set CVSROOT=pserver:[email protected]:/cvsroot/evocms
c:\>cvs -list ---> doesn't work, prints out the help screen
Ответы
Ответ 1
Если это одноразовая операция, вам не нужно устанавливать переменную среды CVSROOT
. Просто используйте аргумент -d
для спецификации репозитория ad-hoc.
Если ваша версия CVS/CVSNT не слишком старая (точнее, вам понадобится CVS 1.12.8 или выше или CVSNT), то, как сказали другие, после входа в систему
cvs ls
должен работать нормально.
Если ваша версия CVS/CVSNT не поддерживает команду ls
, вы можете попробовать
cvs checkout -c
который только выведет список предопределенных modules.
Если ваша версия 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
. Это даже не действительный синтаксис командной строки CVS: -list
должен быть глобальным аргументом, а не командой, как следует непосредственно после cvs
, и никакой конкретной команды не указана. Но опять же, все многобуквенные аргументы (например, --help
) должны были бы начинаться с двойной тире, например. cvs --version
. Вы могли подумать о cvs list
, который был бы простым псевдонимом для cvs ls
?
Ответ 2
cvs -d $CVSROOT rls
надеюсь, что это поможет (cvs ver.1.12.13)
Ответ 3
Сначала вам нужно сделать login, например:
cvs -d: pserver: [email protected] .sourceforge.net:/cvsroot/evocms login
Затем, как говорили другие, используйте команду ls.
Для фона см. раздел обсуждение удаленных репозиториев
Ответ 4
Это то, что я использую. msolorzano - это мой логин и пароль, а "Deployer" - это модуль:
cvs -d :pserver:msolorzano:[email protected]:/cvsdata/data1 rlog -R Deployer
... по сути, вы можете проверять список файлов cvs "чистым способом", если вы выполняете команды в среде UNIX/Linux, например:
cvs -d :pserver:msolorzano:[email protected]:/cvsdata/data1 rlog Deployer | grep ',v' | sed 's/RCS file: //g' | sed s/,v//g
Ответ 5
есть аналогичная команда в cvs
Использование: cvs ls
cvs -list для отображения модулей, ls для отображения содержимого модулей.
EDIT: они правы, список команд и ls совпадают, я извиняюсь за это.
Ну, я действительно не вижу, как перечислить каталог cvs, не проверяя его вообще.
Доступ ли репо, к которому вы пытаетесь получить доступ, имеет доступ cvsweb?
Ответ 6
см. команды cvs
например:
cvs list
отобразит все модули на сервере CVS
Ответ 7
Все,
Вот полный способ сделать это:
- Запустите командную строку
- Скопируйте этот CVSROOT cvs -d (или, независимо от вашего соответствующего CVSROOT)
- Введите свой пароль и нажмите клавишу ввода при появлении запроса. Это может занять некоторое время, но после этого будет доступно новое приглашение.
- Введите cvs -d cvs -d CVSROOT ls
- BAM! Там ваше объявление
Имейте в виду, что если у вас нет CVSROOT, вы можете просто скопировать и вставить свой CVSROOT здесь.
Ответ 8
cvs -d [CVS_ROOT] rlog {module_name}