Como você move um arquivo?

219

Estou usando o TortoiseSVN no repositório SourceForge SVN. Gostaria de mover um arquivo de uma pasta para outra, a fim de manter seu histórico de revisões. Isso é possível? Se sim, como você faz isso?

(Minha estratégia atual tem sido copiar o arquivo para a nova pasta, fazer check-in e excluir o arquivo da pasta atual.)

Cara
fonte

Respostas:

95

O Subversion possui suporte nativo para mover arquivos.

svn move SOURCE DESTINATION

Veja a ajuda online (svn help move) para mais informações.

Comodoro Jaeger
fonte
Ou outra maneira de dizê-lo: svn move <current path/filename> <destination path/filename>
Joe
313

Confira a seção 5.14.2. Movendo arquivos e pastas (ou consulte "mover" no Índice da ajuda) da ajuda do TortoiseSVN. Você faz um movimento com o botão direito do mouse. Ele também menciona que você precisa confirmar a partir da pasta pai para torná-la "uma" revisão. Isso funciona para fazer a alteração em uma cópia de trabalho.

(Observe que os itens SVN na imagem a seguir serão exibidos apenas se a pasta de destino já tiver sido adicionada ao repositório.)

menu de movimento da tartaruga

Você também pode fazer a movimentação através do Repo Browser (seção 5.23. O Repository Browser da ajuda).

crashmstr
fonte
Quando destaquei todos os meus arquivos, arrastados com o botão direito, o menu regular do Windows Explorer apareceu. Deixou-me selecionar "mover", mas não era uma opção SVN, por isso não tenho certeza de que alguma coisa aconteceu. Quando verifiquei se havia modificações, ele dizia que 300 arquivos foram excluídos e 300 sem versão. Parece que não funcionou corretamente. Eu tenho medo de cometê-lo sem saber se esta é a maneira que é suposto trabalho ou não
Joe Phillips
48
Eu só percebi que provavelmente não funcionou porque eu não tinha adicionado / cometeu o novo diretório ainda
Joe Phillips
Eu sei que isso é anos depois - mas o comentário de Joe é importante. Eu também lutei com isso - ignorei aquela pequena nota na resposta. A pasta de destino deve estar sob o controle SVN, caso contrário isso não funcionará. Felizmente, o SVN permite adicionar pastas vazias. Após colocar a pasta sob o controle SVN, o arrasto com o botão direito do mouse funcionará como descrito acima. Caso contrário, o menu genérico do Windows "Copiar aqui / mover aqui / cancelar" é apresentado (ou seja, faltam opções de SVN).
ripvlan
Isso foi perfeito. Eu tive alguns problemas ao mover mais de 1.500 arquivos de uma só vez. Movê-los um diretório por vez parecia livrar-se desse problema.
Michael Murphy
80

Com o TortoiseSVN, apenas movo o arquivo no disco.

Quando venho para confirmar minhas alterações, seleciono o arquivo que está faltando e o novo e selecione " Reparar Mover " no menu do botão direito:

insira a descrição da imagem aqui

Isso significa que posso deixar meu IDE mover arquivos e usá-lo nas ferramentas de refatoração sem perder o histórico.

Keith
fonte
3
Esta é a minha maneira preferida de mover os arquivos agora. Um aviso; só faz <20 arquivos por vez entre confirmações, caso contrário, pode levar muito tempo para encontrar os arquivos que se relacionam.
precisa saber é o seguinte
@DarrenMB está certo: estou prestes a migrar um projeto Android do Eclipse para o Android Studio. Todos os arquivos precisam ser movidos. Essa abordagem não é a que eu quero usar aqui.
Bondax
@Bondax sim, para migrações de projetos inteiros, é melhor fazer a mudança no SVN - isso deve ser algo que você faz ocasionalmente. Achei isso o melhor caminho para a maioria das mudanças de arquivos realizadas pela maioria dos desenvolvedores durante um projeto.
Keith
1
Eu não tenho Repair Mover quer, usando tartaruga SVN 1.9.4
Mark Patterson
@ Mark Patterson: Eu vejo a opção e também estou no 1.9.4 (TortoiseSVN 1.9.4, Build 27285 e Subversion 1.9.4, -release). Eu não acho que o problema é a versão relacionados ... Aqui é a documentação oficial deste recurso: tortoisesvn.net/repairmoves.html
Yosko
37

No TortoiseSVN, clique com o botão direito do mouse em algum lugar e vá em TortoiseSVN> Repo Browser para abrir o repositório.

Tudo o que você precisa fazer é arrastar e soltar o arquivo de uma pasta para o local desejado. Ele solicitará que você adicione uma mensagem de confirmação e a defina como "Arquivo / pasta movido remotamente"

RedWolves
fonte
22

Usando o TortoiseSVN, clique com o botão direito do mouse e arraste a pasta de um local para outro. Ao soltar o botão direito, você terá a opção "SVN Move Version File". No entanto, acredito que o SVN não faça nada "sofisticado" por lá, mas simplesmente exclui o arquivo no local anterior e o adiciona ao novo local.


fonte
18

Para o cliente TortoiseSVN:

  1. Selecione os arquivos que você deseja mover,
  2. CertoClique com botão e arraste os arquivos para a pasta para a qual deseja movê-los,
  3. Uma janela será exibida depois que você soltar o arraste e solte em uma pasta. Clique em "SVN Move item (s) com versão aqui" ,
  4. Depois de clicar no acima, a caixa de mensagem da janela de confirmação será exibida. Digite uma mensagem e envie.

Agora você está pronto.

Martin
fonte
8

Recorte o arquivo pelo menu de contexto do sistema operacional, como costuma fazer, e em vez de colar regularmente, clique com o botão direito do mouse para TortoiseSVN -> Pasteabrir o menu de contexto e escolha (certifique-se de confirmar a partir da raiz para incluir arquivos antigos e novos na confirmação).

BornToCode
fonte
4

Eu acho que no navegador svn em tortoisesvn você pode simplesmente arrastá-lo de um lugar para outro.

John Boker
fonte
1

Se não estiver errado a partir da versão 1.5, o SVN pode rastrear arquivos \ pastas movidos. No TortoiseSVN, o uso pode mover o arquivo via arrastar e soltar.

aku
fonte
1

Também pode ser chamado, "renomear" por tartaruga, mas svn move, é o comando no cliente svn barebones.

DevelopingChris
fonte
a resposta mais simples e precisa é essa! O uso de arquivos móveis do TortoiseSVN é feito com o botão direito do mouse> renomear. é isso aí.
RoeeK 29/10
1

Transferindo um arquivo usando o TortoiseSVN:

Passo: 1 Por favor, selecione os arquivos que você deseja mover. Clique com o botão direito do mouse e arraste os arquivos para a pasta para a qual você os moverá. Uma janela será exibida após seguir as instruções abaixo

Opção SVN

Etapa 2: Depois de clicar no botão acima, envie o arquivo como mencionado abaixo

Commit SVN

Anzar Ansari
fonte
0

Se você estiver movendo pastas pelo Navegador de Repositório, não há opção Mover no botão direito do mouse; a única maneira é arrastar e soltar.

Danijel
fonte