SVN Checkout sem URL na CLI

0

Então eu usei o cliente CLI pela primeira vez hoje, depois de ter usado exclusivamente o TortoiseSVN até agora (por alguns anos).

A única coisa que me incomoda é ter que fornecer o URL do repo para cada check-out. Existe alguma maneira de ter SVN procurá-lo e só checkout o atual diretório / sub-branch da árvore (ou seja, semelhante a como TortoiseSVN faz isso)?

Existe algum motivo para ter que fornecer a URL do repositório sempre que fizer o checkout? Não é necessário fornecê-lo para commits e svn info irá imprimi-lo de qualquer maneira. Então, por que o checkout exige que ele seja fornecido toda vez?

    
por BVN 19.10.2015 / 20:21

2 respostas

2

Você não precisa fazer o checkout todas as vezes. O comando Checkout é destinado a ser usado na primeira vez que você recuperar o projeto.

Em seguida, a única coisa que você precisa fazer é entrar na pasta raiz do projeto e digitar svn update .

    
por 19.10.2015 / 20:30
0

Quando estávamos usando o SVN aqui, eu tinha uma função svn() bastante complexa. Você poderia começar com:

svn() {
    local subcommand=$1
    shift
    case $subcommand in
        checkout|co) 
            local module=$1
            shift
            local url="http://example.com/svn/$module/trunk"
            command svn checkout "$url" ./"$module" "$@"
            ;;
        *)  command svn "$subcommand" "$@" ;;
    esac
}

Adicione isso ao seu ~/.bashrc e source ~/.bashrc . Então você apenas faria

svn co mymodule

em vez de

svn co http://example.com/svn/mymodule/trunk

Qualquer outro comando SVN é executado sem modificação.

    
por 19.10.2015 / 20:51