CVS оформление висит с помощью муравья - PullRequest
1 голос
/ 03 января 2012

Я использую ant для извлечения папки из cvs:

<cvspass cvsroot=":ext:breddy@cvs.oatsystems.com:/usr/local/cvs" password="passwd"/>

<cvs cvsRSH="ssh" cvsRoot=":ext:breddy@cvs.oatsystems.com:/usr/local/cvs" package="atf/home" dest="." passfile=".cvspass">

вывод приходит вот так и зависает. Я ждал до получаса.

Buildfile: build.xml

test:

checkout:

Вот так и висит.

1 Ответ

1 голос
/ 04 января 2012

Задачи CVS Ant просто выполняют системные вызовы самой команды CVS, поэтому на самом деле нет никакого преимущества в использовании задач CVS, вместо того, чтобы просто вызывать CVS самостоятельно.

У меня не было ничего, кроме проблем с задачами CVS, поэтому я просто использую задачу <exec>, чтобы позаботиться о проверке CVS, фиксации и т. Д. В конце концов, вызов CVS через задачу <exec> не более неэффективен, не требует больше печатания и так же прост для понимания.


Ответ bhasker

Привет, спасибо за ответ. Но предоставление пароля в корне thr поддерживается только для pserver. Но я использую доп. Это дает следующую ошибку cvs checkout: спецификация пароля CVSROOT действительна только для cvs checkout: метод соединения pserver. [Оформление отменено] - bhasker

Я скачал исходный код Ant и посмотрел задачу cvspass на Java. Это очень интересно.

Пароли CVS хранятся в зашифрованном формате, но это не очень безопасный алгоритм. Это знают многие программисты, и существуют всевозможные программы, которые могут генерировать и взламывать пароль.

Задача <cvspass> состоит в том, чтобы взять пароль, который вы ему дали, используя этот алгоритм, а затем добавить его в файл .cvspass в вашем каталоге $ HOME. На самом деле, если вы работаете в Windows и используете CVSNT, это не сработает и даже может зависнуть. (Может в этом твоя проблема?).

У меня есть программа с именем scramble.pl , которая может взять пароль и затем его зашифровать. Возьмите этот результат и добавьте его в файл .cvspass, и вы будете имитировать, что делает задача <cvspass>. Формат .cvspass довольно прост:

\1 <cvsRoot> <encryptedPasswd>

CVSNT записывает эти записи в реестр Windows.

Вы можете добавить scramble.pl к вашему проекту. Запустите это через задачу <exec>, затем используйте задачу <echo>, чтобы добавить запись в файл .cvspass. Если вы работаете в Windows и используете CVSNT, вы можете использовать regedit для добавления в реестр, чтобы сделать это.

...