Você está na página 1de 30

TortoiseMerge

Uma ferramenta de diff/


unificao para Windows
Version 1.7

Stefan Kng
Lbbe Onken
Simon Large

TortoiseMerge: Uma ferramenta de diff/unificao para Windows:


Version 1.7
por Stefan Kng, Lbbe Onken, e Simon Large
Traduo: tradudor-crditos
Data de Publicao

ndice
Prefcio ...................................................................................................................................... vi
1. TortoiseMerge gratuito! .................................................................................................. vi
2. Agradecimentos ............................................................................................................... vi
1. Introduo ................................................................................................................................ 1
1.1. Viso Geral ................................................................................................................... 1
1.2. Histria do TortoiseMerge ................................................................................................ 2
2. Conceitos Bsicos ..................................................................................................................... 3
2.1. Visualizando e Unificando as Diferenas ............................................................................. 3
2.2. Editando Conflitos .......................................................................................................... 3
2.3. Aplicando Correes ....................................................................................................... 4
3. Usando TortoiseMerge ............................................................................................................... 5
3.1. Visualizando Modos ........................................................................................................ 5
3.1.1. Visualizando / Unificando ...................................................................................... 5
3.1.2. Aplicando Correes ............................................................................................. 7
3.2. Botes e Outros Controles ................................................................................................ 9
3.3. cones da Situao da Linha ............................................................................................ 10
3.4. Unificando / Editando Conflitos ....................................................................................... 11
3.5. Arquivos Abertos .......................................................................................................... 11
3.5.1. Visualizando / Unificando .................................................................................... 12
3.5.2. Aplicando Correes ........................................................................................... 12
3.6. Configuraes ............................................................................................................... 13
3.6.1. Pginas das Configuraes Principais ..................................................................... 13
3.6.2. Pginas de Configurao de Cores ......................................................................... 15
A. atalhos do teclado ................................................................................................................... 17
A.1. Atalhos do teclado ........................................................................................................ 17
B. Automatizando TortoiseMerge ................................................................................................... 19
B.1. Opes da Linha de Comando do TortoiseMerge ................................................................ 19
Glossrio ................................................................................................................................... 21

iii

Lista de Figuras
1.1.
2.1.
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
3.7.
3.8.

Conflito do Arquivo ................................................................................................................ 1


Conflito do Arquivo ................................................................................................................ 4
Uma Painel de Visualizao ..................................................................................................... 5
Dois Painis de Visualizao .................................................................................................... 6
Trs Painis de Visualizao ..................................................................................................... 7
Lista de Arquivo de Correo ................................................................................................... 8
A Barra de Ferramenta ............................................................................................................ 9
A Janela para Abrir Arquivos .................................................................................................. 12
A Princpal Pgina de Configuraes ......................................................................................... 13
A Pgina de Configurao de Cores ......................................................................................... 15

iv

Lista de Tabelas
B.1. Lista de opes disponveis na linha de comando ....................................................................... 19

Prefcio

Quando trabalhando em um projeto, mesmo em um projeto de cdigo aberto onde vrias pessoas revisam seu
cdigo, ou em um projeto comercial onde voc vende um componente com seu cdigo fonte, existiro pessoas
e clientes que encontraro problemas ou querem melhorias no seu projeto. Para fazer isso eles podem enviar as
correes e voc pode ento revisar e decidir o que gostaria de aplicar.
TortoiseMerge ajuda voc com estas tarefas:
Revisando correes
Aplicando correes
TortoiseMerge tambm ajuda voc a resolver conflitos que podem ocorrer se voc estiver trabalhando com um
sistema de controle de verso e outras pessoas esto trabalhando nos mesmos arquivos que voc.

1. TortoiseMerge gratuito!
TortoiseMerge gratuito. Voc no precisa pagar nada por ele, voc pode usar da maneira que quiser. Ele foi
desenvolvido sobre a licena GP (GPL).
TortoiseMerge um projeto de Cdigo Aberto. Isto significa que voc tem total acesso para ver o
cdigo deste programa. Voc pode v-lo no stio http://code.google.com/p/tortoisesvn/source/browse/ [http://
tortoisesvn.tigris.org/svn/tortoisesvn/]. A verso mais recente (a que est sendo trabalhada) est localizada em /
trunk/, e as verses liberadas esto localizadas em /tags/.
Doe!
Mesmo TortoiseSVN e TortoiseMerge sendo gratuitos, voc pode ajudar os desenvolvedores enviando
correes e desempenhar um papel ativo no desenvolvimento. Voc pode ajudar tambm ajudar nos
divertindo nas infindveis horas que gastamos na frente dos computadores.
While working on TortoiseSVN we love to listen to music. And since we spend many hours on the project
we need a lot of music. Therefore we have set up some wish-lists with our favourite music CDs and DVDs:
http://tortoisesvn.net/donate.html Please also have a look at the list of people who contributed to the project
by sending in patches or translations.

2. Agradecimentos
Stefan Kng
pelo trabalho duro com o TortoiseMerge
Lbbe Onken
pelos belos cones, logomarca, encontrar erros e cuidar da documentao
O estilo de projeto Tigris
pelos estilos da documentao de onde copiamos
Nossos Colaboradores
pelas correes, reporte de problemas e novas idias, e por ajudar aos outros respondendo perguntas na nossa
lista de discusso.
Nossos Contribuidores
por muitas horas de diverso com as msicas que nos enviaram

vi

Prefcio

vii

Captulo 1. Introduo
1.1. Viso Geral
TortoiseMerge uma aplicaao gratuita/cdigo aberto. Ele lhe permite ver as diferenas em arquivos textos,
unificar estas alteraes e at revisar e aplicar arquivos de diferenas unificados, tambm chamados correes.
Quando se trabalha com arquivos textos, por exemplo, cdigo fonte em sua linguagem de programao favorita,
ou arquivos html/xml de documentao ou do seu stio, voc muitas vezes precisar comparar diferentes verses
destes arquivos. Algumas vezes voc receber uma verso diferente de algum, outras vezes voc apenas quer ver
as mudanas que voc tem feito.
Se voc estiver trabalhando com um sistema de controle de verso (ex: Subversion) ento voc algumas vezes
encontrar conflitos quando atualizar sua cpia de trabalho. Isto acontece se algum faz uma alterao em partes do
arquivo que voc atualmente est trabalhando e alterou. Ento voc precisa resolver estes conflitos manualmente.
neste ponto que TortoiseMerge pode lhe ajudar.
O seguinte diagrama mostra a relao o relacionamento entre os arquivos envolvidos no conflitro:

Figura 1.1. Conflito do Arquivo


Um conflito pode acontecer se voc tentar aplicar uma correo desatualizada. Nestes casos, sem o TortoiseMerge,
voc poderia pedir a pessoa que lhe enviou a correo uma verso mais atualizada ou tentar aplicar a correo
manualmente.
Mas agora com o TortoiseMerge isto no mais necessrio - pelo menos no se voc estiver trabalhando com
um sistema de controle de verso como o Subversion. TortoiseMerge analisa o arquivo de correo pela reviso/
verso que a correo foi criado e automaticamente tenta aplicar a correo nesta verso especfica. Ento ele
aplica a correo e permite que voc revise as suas mudanas e as mudanas da correo. Ento voc pode decidir
quais alteraes deseja manter.

Introduo

1.2. Histria do TortoiseMerge


Durante o trabalho com o TortoiseSVN [http://tortoisesvn.net] descobrimos que sempre que os usurios nos
enviavam melhorias para o projeto ou apenas correes, ns gastavamos muito tempo s aplicando essas correes
e melhorias. E muitas vezes as correes eram enviadas de cdigo desatualizados e que no poderiam ser
aplicandos usando a ferramenta de correo na linha de comando http://unxutils.sourceforge.net/ porque ns
estvamos trabalhando nos arquivos e algumas vezes j havamos alterado os arquivos.
Esta foi tambm a principal razo pela qual TortoiseSVN originalmente no tem um TortoiseSVN Criar
Correo implementada: ns preferiamos que os usurios nos enviassem os arquivos inteiros pois assim ficava
mais fcil aplicar a correo.
Ento ns gastamos um tempo, procurando na internet por uma ferramenta visual que permitisse aplicar os arquivos
de correo, mas descobrimos que tal ferramenta no existia. Ento para encutar a histria: Ns decidimos que se
ningum poderia prover tal ferramenta ns deveramos fazer a nossa prpria. Foi quando TortoiseMerge nasceu.
J que TortoiseSVN j usava as bibliotecas do Subversion, da qual possuia uma boa ferramenta de diferenas
construida, era natual usarmos tal biblioteca ao invs da biblioteca GNU.

Captulo 2. Conceitos Bsicos


TortoiseMerge tem uma poro de diferentes utilidades:
Visualizando as diferenas entre dois arquivos e unificando as alteraes em um nico, ou removendo alteraes
indesejadas.
Editando conflitos entre alteraes locais e alteraes no repositrio do Subversion vindas de uma atualizao.
Aplicando arquivos de correes. Esta a razo pelo qual TortoiseMerge foi criado :)

2.1. Visualizando e Unificando as Diferenas


Neste modo voc est comparando dois arquivos. O arquivo no lado esquerdo considerado o arquivo original
(algumas vezes referenciado como Deles, e o arquivo do lado direito o arquivo modificado (algumas vezes
referenciado como Meu).
Vc pode fazer apenas simples alteraes na linha-base no arquivo do painel direito o qual inclui:
Revertendo linhas alteradas para o mostrado no painel esquerdo
Usando uma combinao de ambos os blocos, ou Deles antes Meu ou Meu antes Deles.
Voc pode tambm editar o arquivo no painel direito como se voc estivesse em um editor de texto. Assim as
linhas so marcadas usando o cone de um lpis. Por favor note que se voc quer fazer qualquer alterao de linha/
bloco-base descrita abaixo, melhor estas alteraes primeiro j que uma vez que comeou a editar o arquivo se
torna impossvel para o TortoiseMerge rastrear o relacionamento com o arquivo original.

2.2. Editando Conflitos


Isto algumas vezes se refere a unificao de trs arquivos, e neste caso mostra trs painis. Entretando existem
quatro arquivos envolvidos. O arquivo que no mostrado o arquivo base comum, o ltimo ancestral comum
de dois dos arquivos que esto em conflito. O relacionamento entre os trs arquivos explicado no diagrama que
segue:

Conceitos Bsicos

Figura 2.1. Conflito do Arquivo


O arquivo base representa a verso mais antiga do arquivo, de onde Voc e Eles comearam as modificaes. Meu
representa o arquivo base com todas as mudanas que voc fez, e Deles o arquivo com todas as alteraes que
algum fez no arquivo. O painel da esquerda mostra as modificaes Deles relativo ao arquivo base, e o painel
direito mostra as alteraes no Meu arquivo em relao ao arquivo base. O painel inferior o arquivo de sada
onde voc est tentando resolver os conflitos.
Na janela de resoluo do conflito, voc pode escolher usar blocos do Meu ou do Deles ou ambos. Mas neste caso,
as alteraes sero mostradas no painel inferior.

2.3. Aplicando Correes


Um arquivo de correo um arquivo de diferenas unificadas do Subversion, o qual contm a informao
necessria para aplicar as alteraes nos arquivos. A correo pode ter sido enviada por outro desenvolvedor ento
voc pode ver as alteraes feitas e possivelmente submeter elas para o repositrio. Ou o arquivo de correo pode
ter sido gerado internamente pelo TortoiseSVN quando comparando dois diretrios. Isto acontece quando voc
compara uma reviso do repositrio com a sua cpia de trabalho, ou se voc compara duas revises diferentes do
repositrio, ou se voc compara dois caminhos diferentes no repositrio.
Em cada caso TortoiseMerge vai mostrar uma pequena janela listando os arquivos incluidos na correo. Um duplo
clique em um desses arquivos buscar o arquivo em questo e aplicar as mudanas. O painel da esquerda mostra
o contedo do arquivo original e o painel da direita mostra o arquivo depois que as mudanas foram aplicadas.
Voc pode editar o arquivo no painel direito exatamente como voc faria em modo de comparao/edio.

Captulo 3. Usando TortoiseMerge


3.1. Visualizando Modos
TortoiseMerge tem trs principais modos de visualizao: um painel, dois painis e trs painis de visualizao.
Um/Dois painis de visualizao so usados para ver alteraes e o terceiro painel usado para resolver conflitos.

3.1.1. Visualizando / Unificando

Figura 3.1. Uma Painel de Visualizao

Usando TortoiseMerge

Figura 3.2. Dois Painis de Visualizao


A visualizao com dois painis tem algumas caractersticas que no esto disponveis na visualizao de um
painel:
As linhas modificadas so apresentadas em cores diferentes. Partes adicionadas so apresentadas com cores
claras, mas claro que voc pode configurar as cores que voc quer usar. Partes removidas so mostradas com
uma linha vertical marrom escura. Confira a imagem acima para entender como isso funciona.
Reorganizao de cdigio geralmente significa uma poro de modificaes com espaos em branco (espaos,
tabulaes, linhas novas) mas sem realmente alterao de cdigo. Por exemplo, voc dividiu uma linha extensa
em vrias linhas, ou voc algumas vezes compactou vrias linhas em uma s.
Cada uma dessas alteraes so marcadas com um smbolo branco em forma de crculo no lado esquerdo
do painel. Se voc ve esse crculo branco, voc sabe imediatamente que nenhuma modificao no cdigo
propriamente dito foi feita e voc no precisa verificar todo o bloco alterado.
A edio manual do arquivo no painl direito possvel em uma visualizao com dois painis. Cada alterao
marcada com um smbolo em forma de lpis.
Se voc quer comparar/unificar trs arquivos, TortoiseMerge vai mostrar para voc as diferenas em trs painis.
Esta visualizao tambm usado se voc precisar resolver conflitos entre os arquivos.

Usando TortoiseMerge

Figura 3.3. Trs Painis de Visualizao


O painel da esquerda mostra as diferenas entre o arquivo Deles e o arquivo Base, enquanto o painel direito mostra
para voc as diferenas entre o arquivo Meu e o arquivo Base. O painel inferior mostra a voc o resultado da
unificao dos arquivos Base, Meu e Deles com possveis conflitos.
Se voc colocar o mouse sobre o ttulo do painel, um balo ser mostrado com o nome do arquivo usado para
gerar as diferenas em cada painel.

3.1.2. Aplicando Correes


Depois que TortoiseMerge analisar o arquivo de correo ele ir mostrar a voc uma pequena janela com todos
os arquivos que possuem alteraes conforme o arquivo de correo.

Usando TortoiseMerge

Figura 3.4. Lista de Arquivo de Correo


Se o nome do arquivo mostrado em preto, ento o arquivo de correo pode ser aplicado sem problemas. Isto
significa que o arquivo no est desatualizado em relao correo. Entretanto, se o nome do arquivo aparecer
em vermelho, ento a correo no pode ser aplicada diretamente porque voc j tem alterado o arquivo.
Mas no se preocupe. Se voc est trabalhando com o Subversion voc pode recuperar uma reviso antiga do
arquivo e resolver o conflito. De fato, TortoiseMerge automaticamente tenta recuperar uma verso antiga do
arquivo e ento mostra a voc as diferenas entre os arquivos Base (a verso antiga do arquivo), Meu (o arquivo
que est atualmente na cpia de trabalho) e Deles (a verso antiga do arquivo com a correo aplicada). Ento
voc pode resolver possveis conflitos manualmente.
A janela do arquivo de correo tem um menu flutuante que permite a voc visualizar o resultado da correo
sobre o arquivo atual (aplicar sem salvar), para aplicar e salvar as alteraes para o arquivo selecionado, ou para
aplicar e salvar as alteraes para todos os arquivos da lista. Um duplo clique mostrar a visualizao.
Dependendo se TortoiseMerge pode aplicar a correo diretamente ou primeiro recuperar um verso antiga do
arquivo, ele mostrar a voc dois painis de visualizao (correo pode ser aplicada diretamente) ou trs painis
de visualizao (uma verso antiga do arquivo foi recuperada).

Usando TortoiseMerge

3.2. Botes e Outros Controles

Figura 3.5. A Barra de Ferramenta


Abaixo da barra de menu fica a barra de ferramentas. Isto prov fcil acesso para as ferramentas mais usadas,
que so
Abrir acessa a janela de abertura de arquivo. O que mais seria?
Salvar salva qualquer alterao feita.
Recarregar discarta qualquer alteraao feita no TortoiseMerge e recarrega o arquivo do disco.
Desfazer implementa um desfazer de vrios nveis, permitindo voltar qualquer alterao feita dentro do
TortoiseMerge.
Ant/Prox Diferena vai diretamente para o prximo ponto onde os arquivos esto diferentes. Desta forma no
necessrio passar por partes no alteradas do arquivo.
Quando voc usa o modo de 2-painis de diferenas, a barra de detalhes na parte inferior da janela vai mostrar
a voc as diferenas na linha para a primeira linha, independente do lugar apontado pelo mouse.
Ant/Prox Conflito vai diretamente para o prximo ponto onde os arquivos esto em conflito e que precisa ser
resolvido.
Usar Deles/Usar Meu seleciona se vai usar o bloco do painel esquerdo ou do painel direito. Veja a prxima
seo para mais informaes sobre editao de alteraes e conflitos.
Deles antes Meu/Meu antes Deles usado quando voc quer combinar as alteraes em um arquivo
conflitante. Veja a prxima seo para mais informaes sobre editao de alteraes e conflitos.
Marcar como Resolvido Quando voc resolveu todos os conflitos do arquivo e salvou as alteraes, voc
pode marcar o arquivo como resolvido dentro do TortoiseMerge, ao invs de voltar para o explorer e marcar
como resolvido l.
Mostrar Espaos em Branco alterna entre mostrar espaos e caracteres de tabulao como smbolos ento
voc pode distinguir alteraes de espaos.
Quebra de linhas extensas alterna a palavra no fim das visualizaes. Se estiver marcado, linhas extensas
que normalmente no esto visveis sero quebradas para a prxima linha, ex: uma linha extensa ser dividida
em vrias linhas.
Diferenas numa linha palavra por palavra alterna o modo usado para mostrar as diferenas na linha. No
modo palavra por palavra, quando um caracter alterado, a palavra inteira destacada. No modo caracter por
caracter, cada caracter alterado destacado.
Palavra por palavra o modo padro e na maioria dos casos a melhor forma. Por exemplo, se voc mudou
o nome de uma varivel, o nome inteiro destacado no modo palavra por palavra, enquanto no modo caracter
por caracter tende a ficar uma baguna de caracteres adicionados e excludos, o que no faz muito sentido.
Entretanto, em alguns contedos o modo palavra por palavra no resolve de forma clara, como um arquivo
hexadecimal por exemplo, e neste caso, caracter por caracter funciona melhor.
Comparar espaos em branco mostra todas as alteraes identadas e os espaos em branco adicionados/
removidos da linha (isto como o Subversion trata cada alterao).
Ignorar alteraes de espao em branco esconde as alteraes que so apenas de remoo ou incluso de
espao em branco, ex: alterar a identao ou substituir tabulao por espao. Adicionar espaos em branco onde
no havia nada, ou remover completamente espaos em branco tambm apresentado como uma alterao.

Usando TortoiseMerge

Ignorar todos os espaos em branco escode toda alterao de espao em branco.


Alterar Visualizao seleciona entre um painel e dois painis de visualizao. Desabilitado no modo 3-painis.
Alterar Visualizao Esquerda e Direita visualizando dois painis, troca a janela da esquerda pela direita.
Quando voc est comparando dois arquivos de diferentes estruturas, como duas revises diferentes do mesmo
arquivo, TortoiseSVN no sabe qual dever ficar no painel esquerdo como verso original/base. Se ao abrir
estiver trocado, voc pode trocar para visualizar mais facilmente.
Mostrar/Esconder Lista de Correes Quando TortoiseMerge possui uma lista de arquivos, este boto
permitir a voc esconder a lista (ento voc pode ver ambas as janelas), ou mostr-la (ento voc pode rever
a lista de arquivos).
Contraido contrai reas no modificadas para uma nica linha, deixando somente as reas alteradas e um
contexto mnimo. Voc pode expandir as regies contradas com um clique duplo na linha contrada, mas voc
no pode contrair novamente as linhas a menos que voc recarregue o arquivo.
Configuraes abre a janela de configuraes do TortoiseMerge.
Ajuda abre a ajuda do TortoiseMerge, claro.
No lado esquerdo da janela est a barra de localizao. Ela prov uma referncia visual rpida como onde as
alteraes foram feitas no arquivo. A barra possui trs colunas. A coluna da esquerda refere-se ao painel esquerdo,
a coluna direito refere-se ao painel esquerdo, e a coluna do meio refere-se ao painel inferior (se estiver presente).
Ao visualizar apenas um painel somente a coluna da esquerda usada. A barra de localizao pode tambm ser
usada com uma barra de rolagem para se mover em todos os painis simultaneamente.
If you double click on a word then every occurrence of that word will be highlighted throughout the document,
both in the main panes and the locator bar. Double click on the word again to remove the highlighting.
If you click in the left margin, or if you triple click within a line, that whole line will be selected.
Abaixo da janela inferior est a barra de situao. Ela mostra o nmero de linhas adicionadas ou removidas nos
arquivos Deles e Meu, e o nmero de conflitos no resolvidos restantes. Voc pode tambm ver qual formato de
fim de linha est sendo usado, qual codificao (ASCII, UTF-8, etc) est sendo usada pelo TortoiseMerge, e se
existe algum byte-order-mark (BOM) presente em arquivos UTF-8. O lado esquerdo da barra de situao usado
para mostrar dicas quando voc coloca o mouse sobre algum controle.

3.3. cones da Situao da Linha


Linhas alteradas so marcadas com um cone para indicar que tipo de alterao sofreu.

Uma linhas foi adicionada.

Uma linha foi removida.

Uma alterao foi desfeita usando a opo de reverter para o contedo original da linha.

Esta linha possui somente alteraes de espaos. Onde vrias linhas esto marcadas, o pargrafo deve ter sido
remanejado, causado alguma mistura nas linhas adjacentes.

10

Usando TortoiseMerge

Uma linha foi editada manualmente, usando o TortoiseMerge como editor de texto.

Esta linha est em conflito.

Esta linha est em conflito, mas o efeito est escondido por causa de configuraes de espao em branco e fimde-linha.

3.4. Unificando / Editando Conflitos


TortoiseMerge no somente mostra a voc as diferenas entre os arquivos como tambm permite a voc resolver
os conflitos ou aplicar as alteraes.
Se voc est visualizando dois painis, ento voc pode somente editar o arquivo do painel direito (Meu). Para
aplicar alteraes feitas no arquivo do painel esquerdo (Deles), clique-direito sobre a linha alterada e ento
escolha Menu do Contexto Usar o bloco de texto 'deles'. Ento as alteraes do arquivo do painel esquerdo
sero adicionadas para o arquivo do painel direito.
Algumas vezes voc quer usar ambos os blocos de texto, e o menu do contexto tambm oferece a voc Menu
do Contexto Usar ambos os blocos de texto (este primeiro) e Menu do Contexto Usar ambos os
blocos de texto (este depois).
Voc pode tambm editar o arquivo como voc faria em um editor de texto. Cada uma das linhas so marcadas
com um cone em forma de lpis. Por favor note que se voc quer fazer qualquer alterao nas linhas/blocos base
descritas acima, melhor fazer isso primeiro j que uma vez que voc comear a editar o arquivo voc mesmo se
torna impossvel para o TortoiseMerge manter a relao com o arquivo original.
Se voc est visualizando trs painis (algumas vezes chamado visualizao combinada) voc pode somente editar
o arquivo no painel inferior (Combinado). Como numa visualizao com dois painis, voc pode clique-direito
sobre as linhas conflitantes e ento selecionar Menu do Contexto Usar o bloco de texto 'deles' ou Menu
do Contexto Usar o bloco de texto 'meu'. Para complementar, se voc quer ambos os blocos, voc pode
selecionar Menu do Contexto Usar bloco de texto 'meu' antes 'deles' ou Menu do ContextoUsar bloco
de texto 'deles' antes 'meu'. De acordo com o comando que vocCombinado.
Algumas vezes um arquivo ser marcado como conflitante no Subversion, mesmo quando voc v-lo usando o
TortoiseMerge sem nenhum conflito. Isto acontece por causa das configuraes de espao em branco. Se voc
escolhe ignorar alteraes de fim-de-linha ou espao em branco, essas linhas sero marcadas usando o cone de
Conflito Ignorado. Para resolver esse conflito voc precisar escolher qual verso voc quer usar.
Algumas vezes o conflito muito difcil de resolver apenas escolhendo Deles e Meu e requer uma edio manual.
TortoiseMerge permite que voc faa todas as alteraes fceis primeiro e ento salve o arquivo, deixando somente
o que mais difcil para ser resolvido manualmente.

Importante
Note que se voc est usando TortoiseMerge num mesmo arquivo novamente, qualquer alterao
feita em sua cpia de trabalho, seja ela feita no TortoiseMerge seja em outro editor, ser discarda e
o arquivo vai aparecer como ele era quando a edio do conflito foi iniciada.

3.5. Arquivos Abertos


Quando voc iniciar o TortoiseMerge sem qualquer opo na linha de comando voc ter de abrir os arquivos
manualmente, usando Arquivo Abrir.

11

Usando TortoiseMerge

Figura 3.6. A Janela para Abrir Arquivos


A primeira coisa que voc precisa fazer decidir se voc apenas quer comparar/combinar arquivos, ou se voc
quer aplicar uma arquivo de correo. Dependendo da sua escolha, as caixas de edio e botes correspondentes
sero ativados.

3.5.1. Visualizando / Unificando


Se voc quer comparar/combinar arquivos voc tem que definir pelo menos dois de trs possveis caminhos
para Base, Meu e Deles. Se voc selecionar apenas dois arquivos, ento TortoiseMerge vai mostrar a voc as
diferenas entre os dois arquivos, cada um em um painel ou em um nico painel.
Se voc quer combinar trs arquivos, TortoiseMerge vai mostrar a voc as diferenas em trs painis. Est
visualizao geralmente usada se voc precisa resolver arquivos conflitantes. O arquivo de sada no possui
nome, no caso, e voc ter que usar o Arquivo Salvar como...

3.5.2. Aplicando Correes


Se voc quer aplicar um arquivo de correo voc precisa definir ambos os caminhos para o arquivo de correo
e para o diretrio onde o arquivo de correo dever ser aplicado.

Cuidado
Atualmente, apenas arquivos de correo no formato Unified Diff so suportados. E somente arquivos
que foram gerados em uma cpia de trabalho do Subversion. Outros formatos como arquivos de
correes gerados pelo CVS no so atualmente suportados!

12

Usando TortoiseMerge

3.6. Configuraes
3.6.1. Pginas das Configuraes Principais

Figura 3.7. A Princpal Pgina de Configuraes


Muitas das opes aqui so auto-explicativas, mas alguns pontos precisam ser explicados.
Cpia de Segurana do arquivo original renomeia o arquivo original na CT para nomearquivo.bak antes
de salvar o arquivo modificado.
Ignorar fim-de-linha oculta alteraes feitas apenas na forma usada para indicar fim de linha.
Ignorar alteraes na caixa da fonte esconde alteraes que so apenas na caixa da fonte. Isto pode ser prtico
em aplicaes como Visual Basic, no caso de alteraes de caixa em variveis sem qualquer aviso.

13

Usando TortoiseMerge

Cor de alteraes do contedo da linha usa o mesmo esquema como a barra de difenreas da linha para mostrar
os detalhes do contedo da linha alterado dentro do painel principal. Linhas que possuem muitas modificaes
no sero mostradas usando este mtodo pois o resultado seria confuso. Neste caso a linha ser mostrada como
substituida (a linha antiga apagada e a nova adicionada).
Comparar espaos em branco mostra todas as alteraes identadas e os espaos em branco da linha como
adicionados/removidos (isto como o Subversion trata cada alterao).
Ignorar alteraes de espao em branco esconde as alteraes que so apenas de remoo ou incluso de
espao em branco, ex: alterar a identao ou substituir tabulao por espao. Adicionar espaos em branco onde
no havia nada, ou remover completamente espaos em branco tambm uma alterao.
Ignorar todos os espaos em branco escode toda alteraao de espao em branco.

14

Usando TortoiseMerge

3.6.2. Pginas de Configurao de Cores

Figura 3.8. A Pgina de Configurao de Cores


Esta janela permite a voc selecionar a cor de fundo do cdigo usada para destacar as diferentes alteraes de linha.
Normal
Todas as linhas das quais no esto modificadas, ou onde as alteraes esto ocultas.
Adicionado
Linhas que foram adicionadas
Removidas
Linhas que foram removidas

15

Usando TortoiseMerge

Modificadas
Linhas das quais possuem relativamente pequenas mudanas, so mostradas com as diferenas do contudo
da linha. Esta cor usada para o no modificadas parte do contedo da linha. Partes alteradas sero mostradas
usando as cores de contedo de linha adicionado ou excludo descritos abaixo. Se no modificadas no est
habilitado, esta cor no ser usada e as alteraes da linha sero sempre apresentadas como substituidas.
Conflitantes
Onde a mesma linha foi alterada em ambos os arquivos.
Conflito resolvido
Onde a mesma linha foi alterada em ambos os arquivos, e voc precisa agora selecionar qual verso dever
ser usada.
Vazio
Onde as linhas foram adicionadas no painel oposto, e nenhuma linha existe neste painel.
Texto adiciona na linha
Quando as diferenas do contedo da linha so apresentados, o texto adicionado mostrado neste cor.
Texto removido da linha
Quando as diferenas na linha so apresentadas, textos removidos so mostrados nesta cor.
Espaos em branco
Caracteres usados para indicar Espaos em Branco so mostrados com cores diferentes da cor do texto normal.

16

Apndice A. atalhos do teclado


Lista de atalhos do teclado e comandos.

A.1. Atalhos do teclado


Ctrl-Q, Ctrl-W, Escape
Fechar o programa
Ctrl-C
Copiar o texto selecionado para a rea de transferncia
Ctrl-X, Shift-Del
Recortar o texto selecionado para a rea de transferncia
Ctrl-V, Shift-Insert
Colar o texto selecionado da rea de transferncia
Ctrl-Z, Alt-Backspace
Desfaz a ltima edio
Ctrl-F
Abrir a janela de Busca para procurar textos
Ctrl-O
Abrir arquivos para diferenas/unificao
Ctrl-S
Salvar as alteraes
Ctrl-Shift-S
Salvar como..
F7
Ir para a prxima diferena
Shift-F7
Ir para a diferena anterior
F8
Ir para o prximo conflito
Shift-F8
Ir para o conflito anterior
Ctrl-D
Anternar entre um painel com diferenas e dois painis com diferenas
Ctrl-R
Recarregar os arquivos e reverter todas as alteraes feitas
Ctrl-T
Alterna entre mostrar os espaos em branco ou no
Ctrl-L
Alterna entre contrair as sees no alteradas ou no
Ctrl-P
Alterna entre quebrar a linha ou no

17

atalhos do teclado

Ctrl-boto rolagem
Rolar a tela esquerda/diretia

18

Apndice B. Automatizando
TortoiseMerge
TortoiseMergepode ser executado com parmetros a partir da linha de comando evitando que voc mesmo precise
selecionar o arquivo atravs da janela Abrir. Isto tambm til se voc quer usar TortoiseMerge atravs de outra
aplicao.

B.1. Opes da Linha de Comando do TortoiseMerge


A maioria dos parmetros requer informaes adicionais como caminhos ou algum outro texto. Nestes casos,
concatena um ':' ao parmetro e coloque o texto/caminho depois do sinal. Exemplo:
/base:"c:\diretorio\meu arquivo base.txt"
Comando

Descrio

/?

Mostra uma janela com as opes mais importantes da linha de comando

/help

O mesmo que ?.

/base

Especifica o base arquivo usado na visualizao de diferenas com trs painis.


Este o ancestral comum dos arquivos que sero comparados, apesar de que este
arquivo no ser mostrado em uma janela separada. Para a visualizao com dois
painis, este o arquivo da esquerda.

/basename

O nome do arquivo base. mostrado no ttulo do painel ao invs do caminho do


arquivo. Para a visualizao com trs painis o nome mostrando em uma caixa
de ajuda no ttulo do painel.

/theirs

Especifica o theirs arquivo usado na visualizao em trs painis, mostrado no


painel esquerdo.

/theirsname

O nome do arquivo deles. mostrado no ttulo do painel ao invs do caminho do


arquivo.

/mine

Especifica o mine arquivo usado na visualizao com trs painis, mostrado no


painel direito. Para a visualizao de diferenas com dois painis, este o arquivo
da direita.

/minename

O nome do meu arquivo. mostrado no ttulo do painel ao invs do caminho do


arquivo.

/merged

Especifica o resultado merged arquivo usado na visualizao com trs painis. Este
o caminho do arquivo onde o resultado da combinao/conflito resolvido salvo.
Se ainda no foi definido, ento TortoiseMerge vai pergunta para o usurio onde
o resultado ser salvo.

/mergedname

O nome do arquivo combinado. mostrado no ttulo do painel ao invs do caminho


do arquivo.

/patchpath

O caminho onde o arquivo de correo ser aplicado. Se voc no definir este


caminho, ento TortoiseMerge vai tentar encontrar o caminho por conta prpria que
corresponda aos caminhos no arquivo de correo. mas isto pode muito longo.

/patchoriginal

O nome do arquivo original da correo. Usado no ttulo do painel.

/patchpatched

O nome do arquivo com as correes aplicadas. Usado no ttulo do painel.

/diff

O caminho do arquivo de correo/diferena para aplicar para o diretrio.

/oneway

Fora o TortoiseMerge a iniciar com a visualao de um caminho ao invs de usar


o que o usurio configurou.

/reversedpatch

Muda a visualizao da esquerda para a direita das diferenas de dois arquivos.

19

Automatizando TortoiseMerge

Comando

Descrio

/createunifieddiff

Cria um arquivo de diferenas (arquivo de correo) de dois arquivos


especificados com /origfile:"caminho_para_arquivo_original" e
/modifiedfile:"caminho_para_arquivo_modificado", O arquivo
final definido com /outfile:"caminho_para_arquivo_correes".
Se /outfile no est definido, a janela para salvar o arquivo mostrada para
o usurio escolher o local onde o arquivo de correo ser salvo. Nota: Se /
createunifieddiff est definido, todos os outros parmetros so ignorados.

/line

Especifica o nmero de uma linha para ir depois de carregar os arquivos.

/readonly

Prev o arquivo de ser editado. Isso significa que possibilidade de edio no


TortoiseMerge est desativada.

Tabela B.1. Lista de opes disponveis na linha de comando


Voc pode tambm fornecer apenas nomes de arquivos na linha de comando para compatibilidade com outros
programas de diferenas. Esta a forma simples de linha de comando

TortoiseMerge CaminhoArquivoBase CaminhoMeuArquivo [ CaminhoArquivoDeles ]


Se dois arquivos so informados eles vo ser comparados um com o outro. Se trs arquivos so informados,
o primeiro usado como arquivo BASE, e os outros dois so comparados com este e apresentados usando a
visualizao com trs painis.

20

Glossrio
Adicionar

Um comando do Subversion que usado para adicionar um arquivo ou


diretrio para a sua cpia de trabalho. Os novos itens so adicionados para o
repositrio quando voc submet-los.

Alternar

Assim como Atualizar para a reviso altera a verso de uma cpia de


trabalho apontando para um ponto diferente no histrico, assim tambm
Alternar altera o espao de uma cpia de trabalho que aponta para uma parte
diferente do repositrio. Isto particularmente til quando se est trabalhando
no tronco e na ramificao e apenas poucos arquivos so diferentes. Voc pode
alternar sua cpia de trabalho entre os dois e somente os arquivos diferentes
sero transferidos.

Apagar

Quando voc excluir um item controlado (e submeter a alterao) este item


no existir mais no repositrio depois da reviso submetida. Mas claro
que continuar a existir em revises anteriores no repositrio, logo voc pode
continuar acessando o arquivo. Se necessrio, voc pode copiar um item
excludo e recuperar o mesmo completamente com o histrico.

Atualizar

Este comando do Subversion baixa as ltimas alteraes do repositrio para a


sua cpia de trabalho, combinando qualquer alterao feita por outros usurios
com suas alteraes locais na cpia de trabalho.

Autoria

Este comando apenas para arquivos texto, e ele apresenta para cada lista a
reviso do repositrio a qual pertence a ltima alterao, e o autor que fez
a alterao. Nossa implementao de interface chamada TortoiseBlame e
tambm mostra a data/hora da submisso e a mensagem de log quando voc
passar o mouse sobre o nmero da reviso.

BDB

Berkeley DB. Uma base de dados bem testada para repositrios, que no pode
ser usada em uma rede compartilhada. Padro para repositrios anteriores a
verso 1.2.

Bloquear

Quando voc bloqueia um item controlado, voc marca o item no repositrio


como um arquivo no atualizvel, exceto para a cpia de trabalho que
bloqueiou o arquivo.

Combinar

O processo pelo qual as mudanas do repositrio so adicionadas na sua cpia


de trabalho sem perder qualquer alterao que voc tenha feita localmente.
Algumas vezes essas alteraes no podem ser combinar automaticamente e
a cpia de trabalho indicar que h conflito.
Combinar acontece automaticamente quando voc atualiza sua cpia de
trabalho. Voc pode tambm combinar mudanas especficas de outra
ramificao usando o comando Combinar do TortoiseSVN.

Conflito

Quando as alteraes do repositrio so combinadas com as alteraes locais,


algumas vezes estas alteraes ocorrem nas mesmas linhas. Neste caso
Subversion no pode decidir automaticamente qual verso usar e o arquivo
marcado como em conflito. Voc precisa editar este arquivo manualmente
e resolver o conflito antes que voc possa submeter qualquer alterao
adicional.

Cpia de Trabalho

Est a sua estrutura local isolada, e onde voc vai trabalhar sobre os
arquivos controlados, e isto normalmente ficar em seu disco local. Voc cria
uma cpia de trabalho executando um Obter de um repositrio, e voc envia
suas alteraes de volta para o repositrio executando um Submeter.

21

Glossrio

Copiar

Em um repositrio do Subversion voc pode criar uma cpia de de um


arquivo apenas ou de uma estrutura inteira. Estas cpias so feitas como
cpias levess> que funcionam mais ou menos como um atalho para o arquivo
original, e que consome quase nenhum espa

Correo

Se uma cpia de trabalho possui alteraes apenas em arquivos texto,


possvel usar o comando Diferenas do Subversion para gerar um arquivo
simples de resumo dessas alteraes no formato Unified Diff. Um arquivo
deste tipo oferecido como Correo, e ele pode ser enviado por e-mail
para algum (ou para uma lista de discusso) e ser aplicado em outra cpia de
trabalho. Algum sem acesso para submisso pode fazer alteraes e enviar
um arquivo de correo para algum com permisso de escrita submeter as
alteraes. Ou se voc no tem certeza sobre a alterao voc pode enviar o
arquivo de correo para outros revisarem.

Diff

Atalho para Mostrar Diferenas. Muito prtico quando voc quer ver
exatamente as alteraes que foram feitas.

Exportar

Este comando produz uma cpia de uma diretrio controlado, assim como
uma cpia de trabalho, mas sem os diretrios locais .svn.

FSFS

Um sistema de arquivo proprietrio do Subversion para repositrios. Pode ser


usado em uma rede compartilhada. O padro para a verso do repositrio 1.2
ou posterior.

GPO

Objeto da poltica do grupo.

Histrico

Mostra o histrico de revises de um arquivo ou diretrio. Tambm conhecido


como Log.

Importar

Comando do Subversion para importar um diretrio e sua subestrutura inteira


para o repositrio em uma nica reviso.

Limpar

Uma citao do livro do Subversion: Limpar recursivamente a cpia de


trabalho, removendo travas e encerrando operao no finalizadas. Se voc
sempre recebe o erro cpia de trabalho travada, execute este comando para
remove travas obsoletas e voltar a sua cpia de trabalho para o estado normal
novamente. Note que neste contexto, trava refere-se ao travamento do
sistema de arquivos, e no ao bloqueio no repositrio.

Log

Mostra o histrico de reviso de um arquivo ou diretrio. Tambm conhecido


como Histrico.

Obter

Um comando do Subversion que cria uma cpia local em uma diretrio vazio
baixando os arquivos controlados do repositrio.

Propriedade

Como complemento para versionamento de diretrios e arquivos, Subversion


permite adicionar metadados controlados - referenciado como propriedades
para cada diretrio ou arquivo controlado. Cada propriedade tem um nome
e um valor, assim como uma chave de registro. Subversion tem algumas
propriedades especiais que so usadas internamente, tal como svn:eolstyle. TortoiseSVN tem algumas tambm, tal como tsvn:logminsize.
Voc pode adicionar suas prprias propriedades com qualquer nome ou valor
que voc queira.

Propriedade
(revprop)

da

Reviso

Assim como os arquivo possuem propriedades, assim tambm para


cada reviso no repositrio. Algumas revprops especiais so adicionadas
automaticamente quando a reviso criada, chamadas: svn:date
svn:author svn:log que representam a data/hora, o autor e a mensagem
de log da submisso respectivamente. Estas propriedades podem ser editadas,

22

Glossrio

mas elas no so controladas, ento qualquer alterao permanente e no


pode ser desfeita.
Ramificao

Um termo frequentemente usado em sistemas de controle de verso descreve


o que acontece quando o desenvolvimento se ramifica num ponto em
particular e segue dois caminhos diferentes. Voc pode criar uma ramificao
desligada da linha principal de desenvolvimento, logo, pode desenvolver
novas funcionalidades sem desestabilizar a linha principal. Ou voc pode criar
uma ramificao da verso estvel para a qual voc apenas far correes
de erros, enquanto insere novas funcionalidades em uma verso instvel no
tronco. No Subversion uma ramificao criada como uma cpia leve.

Reposicionar

Se seu repositrio for movido, talvez porque voc precisou mov-lo para um
diretrio diferente no servidor, ou porque o nome do domnio do servidor foi
alterado, voc precisa realocar sua cpia de trabalho para a nova URL onde
o seu repositrio est localizado.
Nota: voc dever somente usar este comando se sua cpia de trabalho aponta
para o mesmo local no mesmo repositrio, mas o repositrio foi movido. Em
qualquer outra circustncia voc provavelmente dever usar Alternar ao
invs deste comando.

Repositrio

Um repositrio um lugar central onde os dados so guardados e mantidos.


Um repositrio pode ser um lugar onde vrias bases de dados ou arquivos so
localizados para distribuir pela rede, ou um repositrio pode ser um local que
diretamente acessado pelos usurios sem ter que atravessar uma rede.

Resolver

Quando os arquivos na cpia de trabalho so deixados em estado de conflito


logo depois de serem unificados, estes conflitos devem ser resolvidos por um
ser humano usando um editor (ou talvez o TortoiseMerge). Este processo
referenciado como Resolvendo Conflitos. Quando tudo foi resolvido voc
pode marcar os arquivos conflitantes como resolvidos, e ento ser permtido
submeter estes arquivos.

Reverter

Subversion mantm uma cpia local original de cada arquivo de como ele
era quando foi feita a ltima atualizao da cpia de trabalho. Se voc fez
alteraes e decidir que quer desfaz-las, voc pode usar o comando reverter
para voltar para a reviso original.

Reviso

Cada vez que voc submete um conjunto de alteraes, voc cria uma nova
reviso no repositrio. Cada reviso representa um estado da estrutura do
repositrio em um certo ponto de sua histria. Se voc quer voltar no tempo
voc pode examiar o repositrio como ele era na reviso N.
De outro ponto de vista, uma reviso pode referenciar um conjunto de
mudanas que foram feitas quando a reviso foi criada.

Reviso BASE

A reviso base atual de um arquivo ou diretrio na sua cpia de trabalho.


Est a reviso que o arquivo ou diretrio est, quando a ltima obteno,
atualizao ou submisso foi feita. A reviso BASE normalmente no igual
a LTIMA reviso.

Submeter

Este comando do Subversion usado para passar as alteraes da sua cpia de


trabalho de volta para o repositrio, criando uma nova reviso no repositrio.

SVN

Uma abreviao frequentemente usada para Subversion.


O nome do protocolo personalizado do Subversion usado pelo servidor de
respotrio svnserve.

ltima Reviso

A ltima reviso do arquivo ou diretrio no repositrio.

23

Você também pode gostar