30
TortoiseMerge Uma ferramenta de diff/ unificação para Windows Version 1.7 Stefan Küng Lübbe Onken Simon Large

TortoiseMerge 1.7.11 Pt BR

Embed Size (px)

DESCRIPTION

Manual do TortoiseMerge (SVN).

Citation preview

  • TortoiseMergeUma ferramenta de diff/unificao para Windows

    Version 1.7

    Stefan KngLbbe OnkenSimon Large

  • TortoiseMerge: Uma ferramenta de diff/unificao para Windows:Version 1.7por Stefan Kng, Lbbe Onken, e Simon LargeTraduo: tradudor-crditos

    Data de Publicao

  • iii

    ndicePrefcio ...................................................................................................................................... vi

    1. TortoiseMerge gratuito! .................................................................................................. vi2. Agradecimentos ............................................................................................................... vi

    1. Introduo ................................................................................................................................ 11.1. Viso Geral ................................................................................................................... 11.2. Histria do TortoiseMerge ................................................................................................ 2

    2. Conceitos Bsicos ..................................................................................................................... 32.1. Visualizando e Unificando as Diferenas ............................................................................. 32.2. Editando Conflitos .......................................................................................................... 32.3. Aplicando Correes ....................................................................................................... 4

    3. Usando TortoiseMerge ............................................................................................................... 53.1. Visualizando Modos ........................................................................................................ 5

    3.1.1. Visualizando / Unificando ...................................................................................... 53.1.2. Aplicando Correes ............................................................................................. 7

    3.2. Botes e Outros Controles ................................................................................................ 93.3. cones da Situao da Linha ............................................................................................ 103.4. Unificando / Editando Conflitos ....................................................................................... 113.5. Arquivos Abertos .......................................................................................................... 11

    3.5.1. Visualizando / Unificando .................................................................................... 123.5.2. Aplicando Correes ........................................................................................... 12

    3.6. Configuraes ............................................................................................................... 133.6.1. Pginas das Configuraes Principais ..................................................................... 133.6.2. Pginas de Configurao de Cores ......................................................................... 15

    A. atalhos do teclado ................................................................................................................... 17A.1. Atalhos do teclado ........................................................................................................ 17

    B. Automatizando TortoiseMerge ................................................................................................... 19B.1. Opes da Linha de Comando do TortoiseMerge ................................................................ 19

    Glossrio ................................................................................................................................... 21

  • iv

    Lista de Figuras1.1. Conflito do Arquivo ................................................................................................................ 12.1. Conflito do Arquivo ................................................................................................................ 43.1. Uma Painel de Visualizao ..................................................................................................... 53.2. Dois Painis de Visualizao .................................................................................................... 63.3. Trs Painis de Visualizao ..................................................................................................... 73.4. Lista de Arquivo de Correo ................................................................................................... 83.5. A Barra de Ferramenta ............................................................................................................ 93.6. A Janela para Abrir Arquivos .................................................................................................. 123.7. A Princpal Pgina de Configuraes ......................................................................................... 133.8. A Pgina de Configurao de Cores ......................................................................................... 15

  • vLista de TabelasB.1. Lista de opes disponveis na linha de comando ....................................................................... 19

  • vi

    Prefcio

    Quando trabalhando em um projeto, mesmo em um projeto de cdigo aberto onde vrias pessoas revisam seucdigo, ou em um projeto comercial onde voc vende um componente com seu cdigo fonte, existiro pessoase clientes que encontraro problemas ou querem melhorias no seu projeto. Para fazer isso eles podem enviar ascorrees 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 umsistema 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 foidesenvolvido sobre a licena GP (GPL).

    TortoiseMerge um projeto de Cdigo Aberto. Isto significa que voc tem total acesso para ver ocdigo 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 enviandocorrees e desempenhar um papel ativo no desenvolvimento. Voc pode ajudar tambm ajudar nosdivertindo 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 projectwe 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 projectby sending in patches or translations.

    2. AgradecimentosStefan Kng

    pelo trabalho duro com o TortoiseMerge

    Lbbe Onkenpelos belos cones, logomarca, encontrar erros e cuidar da documentao

    O estilo de projeto Tigrispelos estilos da documentao de onde copiamos

    Nossos Colaboradorespelas correes, reporte de problemas e novas idias, e por ajudar aos outros respondendo perguntas na nossalista de discusso.

    Nossos Contribuidorespor muitas horas de diverso com as msicas que nos enviaram

  • Prefcio

    vii

  • 1Captulo 1. Introduo1.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 versesdestes arquivos. Algumas vezes voc receber uma verso diferente de algum, outras vezes voc apenas quer veras mudanas que voc tem feito.

    Se voc estiver trabalhando com um sistema de controle de verso (ex: Subversion) ento voc algumas vezesencontrar conflitos quando atualizar sua cpia de trabalho. Isto acontece se algum faz uma alterao em partes doarquivo 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 correomanualmente.

    Mas agora com o TortoiseMerge isto no mais necessrio - pelo menos no se voc estiver trabalhando comum 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 eleaplica a correo e permite que voc revise as suas mudanas e as mudanas da correo. Ento voc pode decidirquais alteraes deseja manter.

  • Introduo

    2

    1.2. Histria do TortoiseMergeDurante o trabalho com o TortoiseSVN [http://tortoisesvn.net] descobrimos que sempre que os usurios nosenviavam melhorias para o projeto ou apenas correes, ns gastavamos muito tempo s aplicando essas correese melhorias. E muitas vezes as correes eram enviadas de cdigo desatualizados e que no poderiam seraplicandos usando a ferramenta de correo na linha de comando http://unxutils.sourceforge.net/ porque nsestvamos 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 CriarCorreo implementada: ns preferiamos que os usurios nos enviassem os arquivos inteiros pois assim ficavamais fcil aplicar a correo.

    Ento ns gastamos um tempo, procurando na internet por uma ferramenta visual que permitisse aplicar os arquivosde correo, mas descobrimos que tal ferramenta no existia. Ento para encutar a histria: Ns decidimos que seningum 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 diferenasconstruida, era natual usarmos tal biblioteca ao invs da biblioteca GNU.

  • 3Captulo 2. Conceitos BsicosTortoiseMerge tem uma poro de diferentes utilidades:

    Visualizando as diferenas entre dois arquivos e unificando as alteraes em um nico, ou removendo alteraesindesejadas.

    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 DiferenasNeste 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 vezesreferenciado 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 aslinhas 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 setorna impossvel para o TortoiseMerge rastrear o relacionamento com o arquivo original.

    2.2. Editando ConflitosIsto algumas vezes se refere a unificao de trs arquivos, e neste caso mostra trs painis. Entretando existemquatro arquivos envolvidos. O arquivo que no mostrado o arquivo base comum, o ltimo ancestral comumde dois dos arquivos que esto em conflito. O relacionamento entre os trs arquivos explicado no diagrama quesegue:

  • Conceitos Bsicos

    4

    Figura 2.1. Conflito do Arquivo

    O arquivo base representa a verso mais antiga do arquivo, de onde Voc e Eles comearam as modificaes. Meurepresenta o arquivo base com todas as mudanas que voc fez, e Deles o arquivo com todas as alteraes quealgum fez no arquivo. O painel da esquerda mostra as modificaes Deles relativo ao arquivo base, e o paineldireito mostra as alteraes no Meu arquivo em relao ao arquivo base. O painel inferior o arquivo de sadaonde 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 CorreesUm arquivo de correo um arquivo de diferenas unificadas do Subversion, o qual contm a informaonecessria para aplicar as alteraes nos arquivos. A correo pode ter sido enviada por outro desenvolvedor entovoc pode ver as alteraes feitas e possivelmente submeter elas para o repositrio. Ou o arquivo de correo podeter sido gerado internamente pelo TortoiseSVN quando comparando dois diretrios. Isto acontece quando voccompara uma reviso do repositrio com a sua cpia de trabalho, ou se voc compara duas revises diferentes dorepositrio, 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 duploclique em um desses arquivos buscar o arquivo em questo e aplicar as mudanas. O painel da esquerda mostrao 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.

  • 5Captulo 3. Usando TortoiseMerge3.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

    6

    Figura 3.2. Dois Painis de Visualizao

    A visualizao com dois painis tem algumas caractersticas que no esto disponveis na visualizao de umpainel:

    As linhas modificadas so apresentadas em cores diferentes. Partes adicionadas so apresentadas com coresclaras, mas claro que voc pode configurar as cores que voc quer usar. Partes removidas so mostradas comuma 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 extensaem 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 esquerdodo painel. Se voc ve esse crculo branco, voc sabe imediatamente que nenhuma modificao no cdigopropriamente 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

    7

    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 mostrapara voc as diferenas entre o arquivo Meu e o arquivo Base. O painel inferior mostra a voc o resultado daunificao 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 paragerar 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 todosos arquivos que possuem alteraes conforme o arquivo de correo.

  • Usando TortoiseMerge

    8

    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. Istosignifica que o arquivo no est desatualizado em relao correo. Entretanto, se o nome do arquivo aparecerem 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 doarquivo e resolver o conflito. De fato, TortoiseMerge automaticamente tenta recuperar uma verso antiga doarquivo e ento mostra a voc as diferenas entre os arquivos Base (a verso antiga do arquivo), Meu (o arquivoque est atualmente na cpia de trabalho) e Deles (a verso antiga do arquivo com a correo aplicada). Entovoc pode resolver possveis conflitos manualmente.

    A janela do arquivo de correo tem um menu flutuante que permite a voc visualizar o resultado da correosobre o arquivo atual (aplicar sem salvar), para aplicar e salvar as alteraes para o arquivo selecionado, ou paraaplicar 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 doarquivo, ele mostrar a voc dois painis de visualizao (correo pode ser aplicada diretamente) ou trs painisde visualizao (uma verso antiga do arquivo foi recuperada).

  • Usando TortoiseMerge

    9

    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 doTortoiseMerge.

    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 mostrara 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 serresolvido.

    Usar Deles/Usar Meu seleciona se vai usar o bloco do painel esquerdo ou do painel direito. Veja a prximaseo para mais informaes sobre editao de alteraes e conflitos.

    Deles antes Meu/Meu antes Deles usado quando voc quer combinar as alteraes em um arquivoconflitante. 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, vocpode marcar o arquivo como resolvido dentro do TortoiseMerge, ao invs de voltar para o explorer e marcarcomo resolvido l.

    Mostrar Espaos em Branco alterna entre mostrar espaos e caracteres de tabulao como smbolos entovoc pode distinguir alteraes de espaos.

    Quebra de linhas extensas alterna a palavra no fim das visualizaes. Se estiver marcado, linhas extensasque normalmente no esto visveis sero quebradas para a prxima linha, ex: uma linha extensa ser divididaem vrias linhas.

    Diferenas numa linha palavra por palavra alterna o modo usado para mostrar as diferenas na linha. Nomodo palavra por palavra, quando um caracter alterado, a palavra inteira destacada. No modo caracter porcaracter, cada caracter alterado destacado.

    Palavra por palavra o modo padro e na maioria dos casos a melhor forma. Por exemplo, se voc mudouo nome de uma varivel, o nome inteiro destacado no modo palavra por palavra, enquanto no modo caracterpor 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 arquivohexadecimal 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 deespao em branco, ex: alterar a identao ou substituir tabulao por espao. Adicionar espaos em branco ondeno havia nada, ou remover completamente espaos em branco tambm apresentado como uma alterao.

  • Usando TortoiseMerge

    10

    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 mesmoarquivo, TortoiseSVN no sabe qual dever ficar no painel esquerdo como verso original/base. Se ao abrirestiver trocado, voc pode trocar para visualizar mais facilmente.

    Mostrar/Esconder Lista de Correes Quando TortoiseMerge possui uma lista de arquivos, este botopermitir a voc esconder a lista (ento voc pode ver ambas as janelas), ou mostr-la (ento voc pode revera lista de arquivos).

    Contraido contrai reas no modificadas para uma nica linha, deixando somente as reas alteradas e umcontexto mnimo. Voc pode expandir as regies contradas com um clique duplo na linha contrada, mas vocno 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 asalteraes 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 serusada 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 nosarquivos Deles e Meu, e o nmero de conflitos no resolvidos restantes. Voc pode tambm ver qual formato defim de linha est sendo usado, qual codificao (ASCII, UTF-8, etc) est sendo usada pelo TortoiseMerge, e seexiste algum byte-order-mark (BOM) presente em arquivos UTF-8. O lado esquerdo da barra de situao usadopara mostrar dicas quando voc coloca o mouse sobre algum controle.

    3.3. cones da Situao da LinhaLinhas 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 sidoremanejado, causado alguma mistura nas linhas adjacentes.

  • Usando TortoiseMerge

    11

    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 fim-de-linha.

    3.4. Unificando / Editando ConflitosTortoiseMerge no somente mostra a voc as diferenas entre os arquivos como tambm permite a voc resolveros conflitos ou aplicar as alteraes.

    Se voc est visualizando dois painis, ento voc pode somente editar o arquivo do painel direito (Meu). Paraaplicar alteraes feitas no arquivo do painel esquerdo (Deles), clique-direito sobre a linha alterada e entoescolha Menu do Contexto Usar o bloco de texto 'deles'. Ento as alteraes do arquivo do painel esquerdosero 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 Menudo Contexto Usar ambos os blocos de texto (este primeiro) e Menu do Contexto Usar ambos osblocos de texto (este depois).Voc pode tambm editar o arquivo como voc faria em um editor de texto. Cada uma das linhas so marcadascom um cone em forma de lpis. Por favor note que se voc quer fazer qualquer alterao nas linhas/blocos basedescritas acima, melhor fazer isso primeiro j que uma vez que voc comear a editar o arquivo voc mesmo setorna 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 editaro arquivo no painel inferior (Combinado). Como numa visualizao com dois painis, voc pode clique-direitosobre as linhas conflitantes e ento selecionar Menu do Contexto Usar o bloco de texto 'deles' ou Menudo Contexto Usar o bloco de texto 'meu'. Para complementar, se voc quer ambos os blocos, voc podeselecionar Menu do Contexto Usar bloco de texto 'meu' antes 'deles' ou Menu do ContextoUsar blocode 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 oTortoiseMerge sem nenhum conflito. Isto acontece por causa das configuraes de espao em branco. Se vocescolhe ignorar alteraes de fim-de-linha ou espao em branco, essas linhas sero marcadas usando o cone deConflito 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 somenteo que mais difcil para ser resolvido manualmente.

    Importante

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

    3.5. Arquivos AbertosQuando voc iniciar o TortoiseMerge sem qualquer opo na linha de comando voc ter de abrir os arquivosmanualmente, usando Arquivo Abrir.

  • Usando TortoiseMerge

    12

    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 vocquer aplicar uma arquivo de correo. Dependendo da sua escolha, as caixas de edio e botes correspondentessero ativados.

    3.5.1. Visualizando / Unificando

    Se voc quer comparar/combinar arquivos voc tem que definir pelo menos dois de trs possveis caminhospara Base, Meu e Deles. Se voc selecionar apenas dois arquivos, ento TortoiseMerge vai mostrar a voc asdiferenas 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. Estvisualizao geralmente usada se voc precisa resolver arquivos conflitantes. O arquivo de sada no possuinome, 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 correoe 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 arquivosque foram gerados em uma cpia de trabalho do Subversion. Outros formatos como arquivos decorrees gerados pelo CVS no so atualmente suportados!

  • Usando TortoiseMerge

    13

    3.6. Configuraes3.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 antesde 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 prticoem aplicaes como Visual Basic, no caso de alteraes de caixa em variveis sem qualquer aviso.

  • Usando TortoiseMerge

    14

    Cor de alteraes do contedo da linha usa o mesmo esquema como a barra de difenreas da linha para mostraros detalhes do contedo da linha alterado dentro do painel principal. Linhas que possuem muitas modificaesno sero mostradas usando este mtodo pois o resultado seria confuso. Neste caso a linha ser mostrada comosubstituida (a linha antiga apagada e a nova adicionada).

    Comparar espaos em branco mostra todas as alteraes identadas e os espaos em branco da linha comoadicionados/removidos (isto como o Subversion trata cada alterao).

    Ignorar alteraes de espao em branco esconde as alteraes que so apenas de remoo ou incluso deespao em branco, ex: alterar a identao ou substituir tabulao por espao. Adicionar espaos em branco ondeno havia nada, ou remover completamente espaos em branco tambm uma alterao.

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

  • Usando TortoiseMerge

    15

    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.

    NormalTodas as linhas das quais no esto modificadas, ou onde as alteraes esto ocultas.

    AdicionadoLinhas que foram adicionadas

    RemovidasLinhas que foram removidas

  • Usando TortoiseMerge

    16

    ModificadasLinhas das quais possuem relativamente pequenas mudanas, so mostradas com as diferenas do contudoda linha. Esta cor usada para o no modificadas parte do contedo da linha. Partes alteradas sero mostradasusando as cores de contedo de linha adicionado ou excludo descritos abaixo. Se no modificadas no esthabilitado, esta cor no ser usada e as alteraes da linha sero sempre apresentadas como substituidas.

    ConflitantesOnde a mesma linha foi alterada em ambos os arquivos.

    Conflito resolvidoOnde a mesma linha foi alterada em ambos os arquivos, e voc precisa agora selecionar qual verso deverser usada.

    VazioOnde as linhas foram adicionadas no painel oposto, e nenhuma linha existe neste painel.

    Texto adiciona na linhaQuando as diferenas do contedo da linha so apresentados, o texto adicionado mostrado neste cor.

    Texto removido da linhaQuando as diferenas na linha so apresentadas, textos removidos so mostrados nesta cor.

    Espaos em brancoCaracteres usados para indicar Espaos em Branco so mostrados com cores diferentes da cor do texto normal.

  • 17

    Apndice A. atalhos do tecladoLista de atalhos do teclado e comandos.

    A.1. Atalhos do tecladoCtrl-Q, Ctrl-W, Escape

    Fechar o programa

    Ctrl-CCopiar o texto selecionado para a rea de transferncia

    Ctrl-X, Shift-DelRecortar o texto selecionado para a rea de transferncia

    Ctrl-V, Shift-InsertColar o texto selecionado da rea de transferncia

    Ctrl-Z, Alt-BackspaceDesfaz a ltima edio

    Ctrl-FAbrir a janela de Busca para procurar textos

    Ctrl-OAbrir arquivos para diferenas/unificao

    Ctrl-SSalvar as alteraes

    Ctrl-Shift-SSalvar como..

    F7Ir para a prxima diferena

    Shift-F7Ir para a diferena anterior

    F8Ir para o prximo conflito

    Shift-F8Ir para o conflito anterior

    Ctrl-DAnternar entre um painel com diferenas e dois painis com diferenas

    Ctrl-RRecarregar os arquivos e reverter todas as alteraes feitas

    Ctrl-TAlterna entre mostrar os espaos em branco ou no

    Ctrl-LAlterna entre contrair as sees no alteradas ou no

    Ctrl-PAlterna entre quebrar a linha ou no

  • atalhos do teclado

    18

    Ctrl-boto rolagemRolar a tela esquerda/diretia

  • 19

    Apndice B. AutomatizandoTortoiseMerge

    TortoiseMergepode ser executado com parmetros a partir da linha de comando evitando que voc mesmo preciseselecionar o arquivo atravs da janela Abrir. Isto tambm til se voc quer usar TortoiseMerge atravs de outraaplicao.

    B.1. Opes da Linha de Comando do TortoiseMergeA 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 estearquivo no ser mostrado em uma janela separada. Para a visualizao com doispainis, este o arquivo da esquerda.

    /basename O nome do arquivo base. mostrado no ttulo do painel ao invs do caminho doarquivo. Para a visualizao com trs painis o nome mostrando em uma caixade ajuda no ttulo do painel.

    /theirs Especifica o theirs arquivo usado na visualizao em trs painis, mostrado nopainel esquerdo.

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

    /mine Especifica o mine arquivo usado na visualizao com trs painis, mostrado nopainel direito. Para a visualizao de diferenas com dois painis, este o arquivoda direita.

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

    /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 ondeo resultado ser salvo.

    /mergedname O nome do arquivo combinado. mostrado no ttulo do painel ao invs do caminhodo arquivo.

    /patchpath O caminho onde o arquivo de correo ser aplicado. Se voc no definir estecaminho, ento TortoiseMerge vai tentar encontrar o caminho por conta prpria quecorresponda 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.

  • Automatizando TortoiseMerge

    20

    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 arquivofinal definido com /outfile:"caminho_para_arquivo_correes".Se /outfile no est definido, a janela para salvar o arquivo mostrada parao 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 outrosprogramas 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 avisualizao com trs painis.

  • 21

    GlossrioAdicionar Um comando do Subversion que usado para adicionar um arquivo ou

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

    Alternar Assim como Atualizar para a reviso altera a verso de uma cpia detrabalho apontando para um ponto diferente no histrico, assim tambmAlternar altera o espao de uma cpia de trabalho que aponta para uma partediferente do repositrio. Isto particularmente til quando se est trabalhandono tronco e na ramificao e apenas poucos arquivos so diferentes. Voc podealternar sua cpia de trabalho entre os dois e somente os arquivos diferentessero transferidos.

    Apagar Quando voc excluir um item controlado (e submeter a alterao) este itemno existir mais no repositrio depois da reviso submetida. Mas claroque continuar a existir em revises anteriores no repositrio, logo voc podecontinuar acessando o arquivo. Se necessrio, voc pode copiar um itemexcludo e recuperar o mesmo completamente com o histrico.

    Atualizar Este comando do Subversion baixa as ltimas alteraes do repositrio para asua cpia de trabalho, combinando qualquer alterao feita por outros usurioscom suas alteraes locais na cpia de trabalho.

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

    BDB Berkeley DB. Uma base de dados bem testada para repositrios, que no podeser usada em uma rede compartilhada. Padro para repositrios anteriores averso 1.2.

    Bloquear Quando voc bloqueia um item controlado, voc marca o item no repositriocomo um arquivo no atualizvel, exceto para a cpia de trabalho quebloqueiou o arquivo.

    Combinar O processo pelo qual as mudanas do repositrio so adicionadas na sua cpiade trabalho sem perder qualquer alterao que voc tenha feita localmente.Algumas vezes essas alteraes no podem ser combinar automaticamente ea cpia de trabalho indicar que h conflito.

    Combinar acontece automaticamente quando voc atualiza sua cpia detrabalho. Voc pode tambm combinar mudanas especficas de outraramificao 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 casoSubversion no pode decidir automaticamente qual verso usar e o arquivo marcado como em conflito. Voc precisa editar este arquivo manualmentee resolver o conflito antes que voc possa submeter qualquer alteraoadicional.

    Cpia de Trabalho Est a sua estrutura local isolada, e onde voc vai trabalhar sobre osarquivos controlados, e isto normalmente ficar em seu disco local. Voc criauma cpia de trabalho executando um Obter de um repositrio, e voc enviasuas alteraes de volta para o repositrio executando um Submeter.

  • Glossrio

    22

    Copiar Em um repositrio do Subversion voc pode criar uma cpia de de umarquivo apenas ou de uma estrutura inteira. Estas cpias so feitas comocpias levess> que funcionam mais ou menos como um atalho para o arquivooriginal, 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 arquivosimples de resumo dessas alteraes no formato Unified Diff. Um arquivodeste tipo oferecido como Correo, e ele pode ser enviado por e-mailpara algum (ou para uma lista de discusso) e ser aplicado em outra cpia detrabalho. Algum sem acesso para submisso pode fazer alteraes e enviarum arquivo de correo para algum com permisso de escrita submeter asalteraes. Ou se voc no tem certeza sobre a alterao voc pode enviar oarquivo de correo para outros revisarem.

    Diff Atalho para Mostrar Diferenas. Muito prtico quando voc quer verexatamente as alteraes que foram feitas.

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

    FSFS Um sistema de arquivo proprietrio do Subversion para repositrios. Pode serusado em uma rede compartilhada. O padro para a verso do repositrio 1.2ou 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 inteirapara o repositrio em uma nica reviso.

    Limpar Uma citao do livro do Subversion: Limpar recursivamente a cpia detrabalho, removendo travas e encerrando operao no finalizadas. Se vocsempre recebe o erro cpia de trabalho travada, execute este comando pararemove travas obsoletas e voltar a sua cpia de trabalho para o estado normalnovamente. Note que neste contexto, trava refere-se ao travamento dosistema de arquivos, e no ao bloqueio no repositrio.

    Log Mostra o histrico de reviso de um arquivo ou diretrio. Tambm conhecidocomo Histrico.

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

    Propriedade Como complemento para versionamento de diretrios e arquivos, Subversionpermite adicionar metadados controlados - referenciado como propriedadespara cada diretrio ou arquivo controlado. Cada propriedade tem um nomee um valor, assim como uma chave de registro. Subversion tem algumaspropriedades especiais que so usadas internamente, tal como svn:eol-style. TortoiseSVN tem algumas tambm, tal como tsvn:logminsize.Voc pode adicionar suas prprias propriedades com qualquer nome ou valorque voc queira.

    Propriedade da Reviso(revprop)

    Assim como os arquivo possuem propriedades, assim tambm paracada reviso no repositrio. Algumas revprops especiais so adicionadasautomaticamente quando a reviso criada, chamadas: svn:datesvn:author svn:log que representam a data/hora, o autor e a mensagemde log da submisso respectivamente. Estas propriedades podem ser editadas,

  • Glossrio

    23

    mas elas no so controladas, ento qualquer alterao permanente e nopode ser desfeita.

    Ramificao Um termo frequentemente usado em sistemas de controle de verso descreveo que acontece quando o desenvolvimento se ramifica num ponto emparticular e segue dois caminhos diferentes. Voc pode criar uma ramificaodesligada da linha principal de desenvolvimento, logo, pode desenvolvernovas funcionalidades sem desestabilizar a linha principal. Ou voc pode criaruma ramificao da verso estvel para a qual voc apenas far correesde erros, enquanto insere novas funcionalidades em uma verso instvel notronco. No Subversion uma ramificao criada como uma cpia leve.

    Reposicionar Se seu repositrio for movido, talvez porque voc precisou mov-lo para umdiretrio diferente no servidor, ou porque o nome do domnio do servidor foialterado, voc precisa realocar sua cpia de trabalho para a nova URL ondeo seu repositrio est localizado.

    Nota: voc dever somente usar este comando se sua cpia de trabalho apontapara o mesmo local no mesmo repositrio, mas o repositrio foi movido. Emqualquer outra circustncia voc provavelmente dever usar Alternar aoinvs 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 solocalizados 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 conflitologo depois de serem unificados, estes conflitos devem ser resolvidos por umser humano usando um editor (ou talvez o TortoiseMerge). Este processo referenciado como Resolvendo Conflitos. Quando tudo foi resolvido vocpode marcar os arquivos conflitantes como resolvidos, e ento ser permtidosubmeter estes arquivos.

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

    Reviso Cada vez que voc submete um conjunto de alteraes, voc cria uma novareviso no repositrio. Cada reviso representa um estado da estrutura dorepositrio em um certo ponto de sua histria. Se voc quer voltar no tempovoc pode examiar o repositrio como ele era na reviso N.

    De outro ponto de vista, uma reviso pode referenciar um conjunto demudanas 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 iguala LTIMA reviso.

    Submeter Este comando do Subversion usado para passar as alteraes da sua cpia detrabalho 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 derespotrio svnserve.

    ltima Reviso A ltima reviso do arquivo ou diretrio no repositrio.

    TortoiseMergendicePrefcio1. TortoiseMerge gratuito!2. Agradecimentos

    Captulo 1. Introduo1.1. Viso Geral1.2. Histria do TortoiseMerge

    Captulo 2. Conceitos Bsicos2.1. Visualizando e Unificando as Diferenas2.2. Editando Conflitos2.3. Aplicando Correes

    Captulo 3. Usando TortoiseMerge3.1. Visualizando Modos3.1.1. Visualizando / Unificando3.1.2. Aplicando Correes

    3.2. Botes e Outros Controles3.3. cones da Situao da Linha3.4. Unificando / Editando Conflitos3.5. Arquivos Abertos3.5.1. Visualizando / Unificando3.5.2. Aplicando Correes

    3.6. Configuraes3.6.1. Pginas das Configuraes Principais3.6.2. Pginas de Configurao de Cores

    Apndice A. atalhos do tecladoA.1. Atalhos do teclado

    Apndice B. Automatizando TortoiseMergeB.1. Opes da Linha de Comando do TortoiseMerge

    Glossrio