Как я могу перечислить файлы в CVS без начального контроля?

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

$ echo 1.2.3 | ( IFS=".$IFS" ; read a b c && echo $a.$b.$((c + 1)) )
1.2.4

Итак, мы можем сделать:

23
задан Zoe 10 November 2017 в 20:31
поделиться

6 ответов

Если это одноразовая операция, вам не нужно установить переменную окружения 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 ?

33
ответ дан 29 November 2019 в 01:20
поделиться

в cvs

есть похожая команда. Использование: cvs ls
cvs -list для вывода списка модулей, ls для вывода списка содержимого модулей.

EDIT: Они правы, список команд и ls совпадают, извините за это.

ну, я действительно не понимаю, как вывести каталог cvs, не проверив его. Есть ли у репозитория, к которому вы пытаетесь получить доступ, доступ cvsweb?

2
ответ дан 29 November 2019 в 01:20
поделиться

Сначала вам нужно выполнить логин , например:

cvs -d: pserver: anonymous@evocms.cvs.sourceforge.net: / cvsroot / evocms login

Затем, как говорили другие, используйте команду ls .

Для справки см. обсуждение удаленных репозиториев

3
ответ дан 29 November 2019 в 01:20
поделиться

см., Например, команды cvs

;

cvs list

выведет список всех модулей на сервере CVS

0
ответ дан 29 November 2019 в 01:20
поделиться

Все,

Вот полный способ сделать это:

  1. Огонь вверх в командной строке
  2. Скопируйте этот логин cvs -d CVSROOT (или, независимо от того, какой у вас соответствующий CVSROOT)
  3. Введите свой пароль и нажмите Enter, когда будет предложено. Это может занять некоторое время, но после этого будет доступно новое приглашение.
  4. Введите cvs –d cvs -d CVSROOT ls
  5. БАМ! Вот ваш список

. Имейте в виду, что если у вас не определен CVSROOT, вы можете просто скопировать и вставить сюда свой собственный CVSROOT.

0
ответ дан 29 November 2019 в 01:20
поделиться
cvs -d $CVSROOT rls

Надеюсь, это поможет (CVS Ver. 1.12.13)

15
ответ дан 29 November 2019 в 01:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: