Pergunta

Estou trabalhando em vários repositórios no trabalho e gostaria de ser informado, se algo mudar nos repositórios SVN.

Eu fiz um pequeno script de morcego (sim, o morcego é útil às vezes) que continua executando um svn log -r BASE:HEAD na minha cópia de trabalho. Ele mostra todos os comentários e datas de revisão de envio. Funciona muito bem, mas não é confortável para diferentes repositórios.

Como você acompanha as mudanças em seus repositórios? Você usa um pequeno programa que fez para si mesmo? Você usa o software que alguém fez? Estou interessado em todas as abordagens desse problema.

Eu gostaria de conseguir notificações e mais informações sobre o compromisso. As funções integradas do IDE são boas, mas funcionam apenas se eu solicitar as informações.
Não quero agir para obter essas informações.

Plataforma: Windows, Subversão 1.5 e superior.

Foi útil?

Solução

estou a usar CommitMonitor; é de um dos Tortoisesvn desenvolvedores. Você pode adicionar facilmente vários URLs de SVN para monitorar e especificar um intervalo para verificar se há compromissos. Se alguma atualização for encontrada, ele mostrará um pouco de janelas pop -up no canto da tela.

Há também Monitor SVN, mas isso é um pouco mais complicado de usar e configurar. Além de fazer uma mensagem sobre compromissos, ele também pode mostrar quais arquivos você modificou e lembrá -lo de cometer suas alterações.

Outras dicas

Se você tem Tortoisesvn instalado, então você pode usar Notificador svn.

Eu tenho Webvn Instalado e assine os feeds RSS dos caminhos em que estou interessado.

eu uso PowerShell Para detectar alterações em uma ramificação SVN e implantar. Este script deve ser chamado de Agendador de tarefas e executado a partir da raiz SVN (ou você pode simplesmente fazer um loop e dormir para sempre):

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..." }

Isso é muito mais fácil e portátil do que usar qualquer um dos aplicativos de terceiros acima mencionados.

svn info | grep Revision funciona para mim. Isso mostra, por exemplo:

Revision: 183

Se ele mudou do que acho que deveria, investigo mais.

eu uso

svn status --show-updates

Para mostrar quais arquivos mudei e também os arquivos que mudaram no repositório.

Você poderia usar Scripts de gancho da subversão para configurar notificações.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top