svn - linha de comando - Existe um script ou comando que confirmará todas as alterações?

1

Por "cada mudança", quero dizer o botão "Commit" do TortoiseSVN.
Ele remove os arquivos excluídos, adiciona novos arquivos e confirma as alterações.
Pelo menos estes são os que eu conheço, mas pode haver outros também. (Eu apenas pressiono "All" e empurro Commit em Tortoise).

O RabbitVCS está disponível para Linux, mas a versão da cli é commit == svn commit .
Existe um pequeno script ou algo que possa imitar o commit do Tortoise?

O ambiente é Linux com prompt bash. (SVN 1.7.5)

    
por Shiki 03.04.2013 / 02:15

2 respostas

0

Vá para a raiz do seu diretório de trabalho.

svn add . --force

(Isso percorre recursivamente seu diretório de trabalho e faz um svn add em cada arquivo encontrado que ainda não esteja sob controle de versão.)

Em seguida, faça isso:

svn rm $( svn status | sed -e '/^!/!d' -e 's/^!//' )

(Isto executa svn status . O comando status recursivamente fornece uma lista de tudo que foi alterado no diretório de trabalho. O comando sed estranho localiza todas as linhas que começam com "!" (que é como o svn status indica um arquivo excluído.))

Agora faça:

svn commit

Não que eu realmente recomende fazer isso. Seria preferível usar apenas "svn rm oldfile" em vez de "rm oldfile" enquanto você está fazendo suas modificações. O "svn add. --Force" também não é tão bom: ele vai verificar todos os arquivos temporários e arquivos de objeto gerados durante o teste. Seria melhor apenas "svn add newfile" quando você se preocupa em adicionar um novo arquivo.

Eu normalmente executo "svn status -u" antes de cada checkin para obter uma imagem clara do que mudou na minha cópia de trabalho.

Eu encontrei a resposta para a parte svn rm em: link , que por sua vez credita link .

    
por 03.04.2013 / 22:16
0

Eu uso & Programe este script em lote. Está funcionando bem.

CD "MyPath"

for /f "usebackq tokens=2*" %%i in ('svn status ^| findstr /R "^\!"') do (svn del "%%i %%j")

svn add * --depth=infinity --force 

svn commit . -m "My Message"
    
por 15.04.2014 / 16:22