Как вы получаете уведомления об обновлениях вашего репозитория?

StackOverflow https://stackoverflow.com/questions/2278972

Вопрос

Я работаю над несколькими репозиториями на работе и хотел бы получать информацию, если что-то изменится в репозиториях SVN.

Я написал небольшой BAT-скрипт (да, BAT иногда полезен), который продолжает выполнять svn log -r BASE:HEAD на моей рабочей копии.Он показывает все отправленные комментарии и даты изменений.Он работает очень хорошо, но неудобен для разных репозиториев.

Как вы отслеживаете изменения в своих репозиториях?Используете ли вы небольшую программу, которую создали для себя?Используете ли вы программное обеспечение, созданное кем-то другим?Меня интересуют все подходы к этой проблеме.

Я хотел бы получить уведомления и дополнительную информацию о коммите.Интегрированные функции IDE хороши, но работают только в том случае, если я запрашиваю информацию.
Я не хочу действовать, чтобы получить эту информацию.

Платформа:Windows, Subversion 1.5 и выше.

Это было полезно?

Решение

я использую CommitMonitor;это из одного из ЧерепахаSVN Разработчики.Вы можете легко добавить несколько URL-адресов SVN для мониторинга и указать интервал проверки коммитов.Если будут обнаружены какие-либо обновления, в углу экрана появятся небольшие всплывающие окна.

А также есть СВН-монитор, но это немного сложнее в использовании и настройке.Помимо сообщения о фиксации, он также может показать вам, какие файлы вы изменили, и напомнить вам о необходимости фиксации изменений.

Другие советы

Если у вас есть ЧерепахаSVN установлен, то вы можете использовать Уведомитель SVN.

У меня есть ВебСВН установил и подписался на RSS-каналы интересующих меня путей.

я использую PowerShell для обнаружения изменений в ветке SVN и их развертывания.Этот скрипт следует вызывать из Диспетчер задач и выполняется из корня SVN (или вы можете просто зациклиться и спать вечно):

function get-revision() {
    $rev = svn info 2>&1 | sls '^Last Changed Rev:' | out-string
    $rev = $rev -split ':'
    $rev[1].Trim()
}

function if-changed([string]$branch, [scriptblock]$script) {
    Write-Verbose "Checking for changes: $branch"
    pushd $branch
    $r = get-revision

    if ($r -gt $status[$branch]) {
        Write-Verbose "|- '$branch' changed, revision $r"
        & $script
    }
    else { Write-Verbose "|- '$branch' is up to date at revision $r" }
    $status[$branch] = $r
    popd
}

svn update
Write-Verbose "Getting the deploy status"
if (Test-Path status) { $status = Import-Clixml status } else { Write-Verbose "|- No status found"; $status=@{} }

if-changed trunk { "Deploying trunk..." }

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

svn info | grep Revision работает для меня.Это показывает, например:

Revision: 183

Если оно отличается от того, что, по моему мнению, должно быть, я исследую дальше.

я использую

svn status --show-updates

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

Вы могли бы использовать Сценарии ловушек Subversion для настройки уведомлений.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top