CVS Checkout без всех дополнительных папок - PullRequest
2 голосов
/ 04 февраля 2011

Я хочу извлечь конкретную папку из глубины модуля CVS в мое рабочее пространство Hudson / Jenkins. При удалении других параметров (таких как сокращение, ветвление и т. Д.) Команда CVS будет ...

cvs checkout -d workspace module\a\b\c\d\e\f

Это приводит к тому, что моя папка содержит дочернюю папку 'a' , которая содержит 'b' , и содержит ... ну, вы поняли. Все они пусты, пока не перейдете в папку 'f' .

Мне бы очень хотелось, чтобы myfolder содержал содержимое f . Поддерживает ли CVS эту функцию (без определения f как модуля)?

А для бонусной кармы ... Могу ли я заставить Дженкинса использовать эту опцию с .cvsrc или каким-то другим механизмом?

Ответы [ 3 ]

2 голосов
/ 09 февраля 2011

Я не понимаю поведение, которое вы описываете. Когда я перехожу в пустой каталог и делаю

cvs checkout -d fox modules/a/quick/brown/fox

Я только что получил новый каталог с именем fox, содержащий содержимое каталога, который я запросил. (Обратите внимание на косую черту.)

Однако, если я сделаю

cvs checkout modules/a/quick/brown/fox

тогда я получу то, что вы описываете.

Я использую последнюю сборку CVS для Windows в FSF, http://ftp.gnu.org/non-gnu/cvs/binary/feature/x86-woe/cvs-1-12-13a.zip.

1 голос
/ 04 февраля 2011

В папке CVSROOT находится файл с именем "modules". Вы можете отредактировать его и строку, подобную следующей:

###shortcut name                            actual path########     
f                                         /a/b/c/d/e/f

Верните этот файл обратно. Как только он появится, вы можете просто использовать

cvs checkout -d workspace f

Кроме того, в Hudson вы можете (в модуле (модулях)) просто поставить f, и он должен напрямую загружать только f вместо всей структуры. Когда это не так, вы можете переименовать его с помощью оболочки / команды.

0 голосов
/ 22 ноября 2011

Больше в целом:

Поднимитесь на 1 уровень выше, где вы проверили

cvs co -r "TAG"

...