checkoutmanager faz bzr / hg / git / checkouts SVN em vários lugares de acordo com um arquivo de configuração.
Comentários de Desenvolvedor
A vantagem: você tem um comando com o qual você pode atualizar todos os seus checkouts. E com o qual você pode pedir uma lista de alterações não confirmadas. E você pode reconstruir toda a estrutura de check-out em uma nova máquina apenas por copiar o arquivo de configuração (este foi realmente o propósito eu construí-lo para: Eu tive que mudar laptops quando eu mudei de emprego ...).
Atenção: Eu só testei no OSX e Linux, então não tenho garantias para Windows. Se houver mudanças necessárias, que provavelmente vai ser menor. Assim, congratulo-me com relatórios de bugs e patches.
uso genérico
O que eu normalmente faço todas as manhãs quando eu começar a trabalhar é checkoutmanager up. Este pega as versões mais recentes de todos os meus checkouts do servidor (s). Assim, um svn up para os meus checkouts subversão, uma hg puxar -u para mercurial e assim por diante.
De vez em quando, eu vou fazer um checkoutmanager st para mostrar se eu tenho alguns arquivos não confirmadas por aí em algum lugar. Muito útil se você já trabalhou em vários diretórios ao longo do dia: ele impede que você se esquecer de verificar em que uma correção de bug para uma semana inteira.
Um novo projeto significa que eu adicionar uma única linha para o meu arquivo de configuração e execução checkoutmanager co.
Checkoutmanager permite que você abra suas checkouts em vários diretórios. Não pode misturar os sistemas de controle de versão por diretório, no entanto. Como exemplo, eu tenho um diretório / ~ / buildout com meus grandes projetos de website svn verificados lá fora. E um diretório com os meus svn bibliotecas python trabalho. E a ~ / hg / dir com meus projetos mercurial. E eu fiz checkouts de vários diretórios de configuração no meu diretório home, como ~ / .emacs.d, ~ / .subversion e assim por diante. Funciona muito bem.
Comandos
Comandos disponíveis:
existe
& Nbsp; Imprimir se checkouts estão presentes ou ausentes
acima
& Nbsp; Grab versão mais recente do servidor.
st
& Nbsp; status de impressão de arquivos nos checkouts
co
& Nbsp; Grab checkouts ausente do servidor
desaparecido
& Nbsp; diretórios de impressão que estão faltando no arquivo de configuração
Diretório Saída de nomeação
Se você não especificar um nome de diretório de saída para o seu url check-out, ele só tem a última parte. Uma exceção: a subversão. É inteligente lá:
& Nbsp; * https: // xxx / yyy / produto / tronco torna-se "produto" em vez de "tronco".
& Nbsp; * https: // xxx / yyy / produto / branches / experiência torna-se "product_experiment" em vez de "experimento"
Se você quiser algo mais, basta especificar um nome de diretório (separadas por um espaço) no arquivo de configuração.
O arquivo de configuração
Arquivo de configuração de exemplo:
# Arquivo de configuração de exemplo. Diferentes secções por base localização e versão
# Sistema de controle. Dividir tudo em todo o lugar em múltiplos
# diretórios está bem.
[receitas]
Receitas # buildout eu trabalhar.
vcs = svn
basedir = ~ / svn / receitas
checkouts =
& Nbsp; svn: // svn / blablabla / trunk
& Nbsp; svn: // svn / outro tronco differentname /
& Nbsp; http: // host / yetanother / trunk
& Nbsp; https: // host / yetanother / branches / Reinout-fix
[dotfolders]
# Folders que acabam configfolders como pontilhadas na raiz.
vcs = bzr
basedir = ~
checkouts =
& Nbsp; lp: emacsconfig / trunk .emacs.d
& Nbsp; sftp: // somwhere / subversion / .subversion tronco
O que é novo nesta versão:
- Não utilizar o arquivo de configuração de exemplo como o arquivo de configuração de teste mais. Isto significa que há um arquivo de configuração de amostra muito mais bonitos e mais útil agora.
- (Obrigado Craig Blaszczyk para o seu pedido de recebimento que foi a base para isso!)
O que é novo na versão 1.12:
- Para bzr, o & quot; a & quot; comando usa o código de saída, em vez de a saída do comando agora. Isto é mais fiável e mais confortável. Corrigir por Jendrik Seipp, thanks!
O que é novo na versão 1.11:
- permitir que mais de um vcs em um diretório. Isso já era possível antes, mas agora conhecido você não precisa mais para listar todos os checkouts dos vcs concorrentes na opção ignorar. Além disso, os itens que são ignorados em uma seção são agora também ignorado em outras seções para o mesmo diretório. Corrige # 11. [Maurits]
O que é novo na versão 1.10:
- Usando --mine-única opção para Bzr faltando apenas mostrar aos nossos changesets saída ao executar checkoutmanager de & quot; & quot; comando para bzr.
- Copiando o arquivo de amostra .cfg se ele não existe, em vez de apenas sugerindo a cópia. Correções # 12.
- Adicionado comando escondido info. Deve ser útil apenas para a subversão se o seu programa svn é atualizado e seu sistema operacional requer que você dê acesso svn às suas credenciais armazenadas novamente, para cada repositório. [Maurits]
O que é novo na versão 1.9:
- Adicionado comando que atualiza seus checkouts subversão para o novo 1.7 atualizar layout do diretório .svn. [Maurits]
O que é novo na versão 1.8:
- Sem usar git empurrar --dry-run agora para detectar -yet-empurrado alterações efectuadas com checkoutmanager fora. Correções # 9 (relatado por Maurits van Rees).
O que é novo na versão 1.7:
- opção --configfile Adicionado. É útil quando você quiser usar checkoutmanager para gerenciar checkouts para algo mais do que seus projetos de desenvolvimento regulares. Na prática: Eu quero usá-lo para um 'sdistmaker' que trabalha com git .
O que é novo na versão 1.6:
- correção completa para # 7: checkoutmanager não pára em o primeiro erro, mas continua. E ele relata todos os erros depois. Isso ajuda quando apenas um de seus svn / hg / whatever servidores está em baixo:. O resto simplesmente continuar trabalhando
- correção parcial para # 7:. Svn up é executado com --non-interactive agora, para erros de erros de conflito são relatados em vez de praticamente em silêncio à espera de entrada interativo que nunca virá
O que é novo na versão 1.5:
- Usando exceto CommandError, e em vez de exceção CommandError como e para compatibilidade python2.4.
Requisitos :
- Python
Comentários não encontrado