Fiz alterações em vários arquivos em um repositório SVN do Eclipse.
Em seguida, vou para o diretório do site na caixa do Linux, onde desejo atualizar essas alterações do repositório para o diretório lá.
Eu quero dizer "svn update project100" que irá atualizar os diretórios em "project100" com todos os meus arquivos adicionados e alterados, etc.
NO ENTANTO, não quero necessariamente atualizar as alterações que não fiz. Pensei que poderia dizer "svn status project100", mas quando faço isso obtenho uma lista totalmente diferente de alterações que serão feitas, nenhuma das minhas está na lista, o que é estranho.
Portanto, para ter certeza de que apenas minhas alterações serão atualizadas no diretório da web, sou forçado a navegar para todos os diretórios onde sei que há uma alteração que fiz e atualizar explicitamente apenas esses arquivos, por exemplo, "svn update newfile1.php" etc. o que é tedioso.
Alguém pode lançar alguma luz sobre o procedimento de trabalho padrão aqui, ou seja, como faço para obter uma lista precisa de todas as alterações que estão para ser feitas antes de executar o comando "svn update"? Achei que fosse o comando "status".
svn status -q -u
... Mostra apenas alterações de atualização e alterações locais que se referem a arquivos pertencentes ao repositório. Você não recebe pontos de interrogação (?) De arquivos não repositórios.Dependendo do que você deseja saber entre sua cópia de trabalho e o último repositório do servidor svn, sem atualizar sua cópia de trabalho local, aqui está o que você pode fazer:
se você quiser saber o que foi alterado no repositório do servidor svn, execute o comando:
se você quiser saber se o mesmo arquivo foi modificado em sua cópia de trabalho local e no repositório do servidor svn, execute o comando:
se você deseja obter a lista de arquivos alterados entre uma revisão específica e o HEAD, execute o comando:
se você deseja obter uma lista de arquivos alterados entre revisões específicas, execute o comando:
se você quiser ver o que será atualizado (sem realmente atualizar), execute o comando:
se você quiser saber qual conteúdo de um arquivo específico foi alterado no repositório do servidor svn em comparação com sua cópia de trabalho, execute o comando:
se você quiser saber quais conteúdos de todos os arquivos foram alterados no repositório do servidor svn em comparação com sua cópia de trabalho, execute o comando:
fonte
Você pode ver o que será atualizado (sem realmente atualizar) emitindo:
Mais detalhes aqui .
fonte
svn merge --dry-run --revision BASE:HEAD .
how do I ... without doing an update?
a:first, do an update, then ...
:) :) :)Isso é o que eu estava procurando. Verifiquei o Google primeiro, mas
svn help
acabou passando por mim :)fonte
O mesmo, mas mais curto :):
fonte
Você pode usar 'svn diff' para ver a diferença entre sua cópia de trabalho e o repositório.
fonte
svn update
Em teoria, você poderia fazer todas as alterações em um branch que criou para seu próprio uso. Você então estaria razoavelmente certo de que era o único a se comprometer com isso.
O desenvolvimento de recursos IMHO deve ser feito assim.
Em seguida, você pode atualizar esta máquina de destino a partir desta ramificação em vez do tronco.
fonte