cvs возвращает статус редакции рабочей копии - PullRequest
0 голосов
/ 14 февраля 2011

Я работаю над марионеточным манифестом для развертывания нашего кода из репозитория cvs.Пока у меня есть следующее:

define codedeploy::cvs ($module, $tag, $copydir) {

    file { "$copydir":
        owner => www-data,
        group => www-data,
        mode => 755,
        ensure => directory
    }

    #bypass cvs login, we'll just inject a ~/.cvspass file
        # to do

    #initial cvs checkout
    exec { "cvscheckout-$name":
        command => "cvs co -r $tag -d $name $module",
        creates => "$copydir/$name/CVS",
        require => [Package[cvs], File["$copydir"]],
        environment => "CVSROOT=:pserver:robots@codeserver:/cvs/repository",
        cwd => "$copydir"
    }

    #cvs update to tag
    exec { "cvsupdate-$name":
        command => "cvs up -r $tag",
        require => [Package[cvs], File["$copydir"], Exec["cvscheckout-$name"] ],
        environment => "CVSROOT=:pserver:robots@codeserver:/cvs/repository",
        cwd => "$copydir/$name",
        unless => #NEED TO FIGURE THIS PART OUT!
    }
}

Часть, которую я не знаю, это как я могу вернуть статус редакции рабочей копии, чтобы она не вызывала обновление cvs при каждом запуске куколки.Есть ли в cvs команда для возврата текущего тега или идентификатора ревизии всего рабочего дерева?Когда я делаю cvs diff, мне кажется, что он должен показывать все файлы под этим тегом, однако я не уверен, как можно просто вернуть идентификатор тега для моей рабочей копии после того, как я его проверил.

Спасибо!

1 Ответ

0 голосов
/ 10 апреля 2011

Я полагаю, что вы можете использовать cvs status, чтобы проверить, нужно ли вам проверять какие-либо изменения в.

Однако, какой вред просто запускать cvs up каждый раз?У меня есть рабочие места cron, которые делают одно и то же каждый час или каждый день, и я не думаю, что это большая проблема.Если ваша кодовая база огромна, я полагаю, это и есть причина:)

...