Как я могу перечислить все модули в репозитории CVS?
Есть ли команда, которая возвращает список имен модулей, содержащихся в репозитории CVS?
Будучи новичком в CVS, я полагаю, что должно быть что-то вроде
cvs -d /usr/local/cvs listmodules
Что мне следует заменить listmodules
на получение списка всех модулей в репозитории CVS?
Чтобы ответить на комментарий Dewfy, cvs --help-commands
возвращает следующее:
add Add a new file/directory to the repository
admin Administration front end for rcs
annotate Show last revision where each line was modified
checkout Checkout sources for editing
commit Check files into the repository
diff Show differences between revisions
edit Get ready to edit a watched file
editors See who is editing a watched file
export Export sources from CVS, similar to checkout
history Show repository access history
import Import sources into CVS, using vendor branches
init Create a CVS repository if it doesn't exist
kserver Kerberos server mode
log Print out history information for files
login Prompt for password for authenticating server
logout Removes entry in .cvspass for remote repository
pserver Password server mode
rannotate Show last revision where each line of module was modified
rdiff Create 'patch' format diffs between releases
release Indicate that a Module is no longer in use
remove Remove an entry from the repository
rlog Print out history information for a module
rtag Add a symbolic tag to a module
server Server mode
status Display status information on checked out files
tag Add a symbolic tag to checked out version of files
unedit Undo an edit command
update Bring work tree in sync with repository
version Show current CVS version(s)
watch Set watches
watchers See who is watching a file
Версия CVS 1.11.22.
Ответы
Ответ 1
Как уже описано в этом ответе, есть три способа сделать это. Какая из них соответствует вашей ситуации, зависит, во-первых, от того, какие версии CVS вы используете как на клиенте, так и на сервере, а во-вторых, на вашем определении "модулей".
-
Если вы ссылаетесь на модули, поскольку они были первоначально задуманы авторами CVS, то есть как записи в файле CVSROOT/modules
, тогда cvs co -c
или cvs co -s
даст вам это, единственное различие между два из которых состоят в том, что последний будет сортировать вывод по "статусу". Вы можете прочитать о файле модулей здесь: http://cvsbook.red-bean.com/cvsbook.html#modules
-
Если вы используете хотя бы CVS 1.12.8 или CVSNT, и ваша идея модулей больше соответствует фактическим каталогам внутри репозитория, тогда cvs ls
должен быть тем, что вы хотите.
-
Наконец, если вы действительно после списка удаленных каталогов, но на вашем сервере установлена более старая версия CVS, тогда есть трюк, когда вы сначала выполняете "фальшивую" проверку, а затем моделируете рекурсивное обновление:
cvs -d [CVSROOT] co -l.
cvs -n up -d
Ответ 2
Использовать следующее:
cvs -d /usr/local/cvs ls
В соответствии с этим http://www.cvsnt.org/manual/html/ls.html есть синонимы: dir, list, rls
И, конечно же, не прощайте, чтобы просмотреть все доступные команды:
cvs --help-commands
Ответ 3
Вы можете запустить
cvs ls
чтобы отобразить дерево в CVS >= 1.11 (см. cvs -version) или запустите
cvs checkout CVSROOT/modules
чтобы увидеть файл конфигурации модуля.