Manuals

Submetendo as tuas alterações para o Repositório

Enviar as alterações que fizeste, na tua cópia de trabalho, é conhecida como submeter as alterações. Mas antes de as submeteres, tens de ter a certeza que a tua cópia de trabalho se encontra actualizada. Poderás usar directamente TortoiseSVNActualizar ou usar primeiro TortoiseSVNVerificar alterações, para ver que ficheiros foram alterados localmente ou no servidor.

A Caixa de Diálogo Submeter

Se a tua cópia de trabalho se encontra actualizada e não existem conflitos, então estás em condições para submeter as tuas alterações. Seleccionar os ficheiros e/ou pastas que queres submeter e, TortoiseSVNSubmeter....

Figura 4.8. A Caixa de Diálogo Submeter

A Caixa de Diálogo Submeter


A caixa de diálogo submeter mostra-te cada ficheiro alterado, incluindo os adicionados, apagados e não versionados. Se não queres que um ficheiro alterado seja submetido, limpa a caixa de verificação desse ficheiro. Se quiseres adicionar um ficheiro não versionado, então verifica esse ficheiro, para o adicionar á submissão.

To quickly check or uncheck types of files like all versioned files or all modified files, click the link items just above the list of shown items.

Para informação sobre as colorações das sobreposições de itens de acordo com o seu estado, por favor consulta “Estado Remoto e Local”.

Itens que foram comutados para um repositório diferente são também indicados com o uso do marcador (s). Poderás ter comutado algo enquanto trabalhavas num ramo, e esquecido de comutar de novo para o trunk. Isto é um sinal de aviso!

Submeter ficheiros ou pastas?

Quando submetes ficheiros, a caixa de diálogo de submeter mostrará só os ficheiros seleccionados. Quando submetes uma pasta, a caixa de diálogo submeter irá seleccionar os ficheiros alterados automaticamente. Se te esqueceres de um novo ficheiro criado ao submeter a pasta, ele será encontrado. Submetendo a pasta não significa que todos os ficheiros serão marcados como alterados; Apenas significa que será feito mais trabalho por ti, facilitando-te a vida.

Muitos ficheiro não versionados na caixa de submissão

Se sentires que a caixa de diálogo de submissão mostra muitos ficheiros não versionados (e.g. gerados pelo compilador ou backups do editor), existem várias maneiras para lidar com esta situação. Poderás:

  • Adicionar o ficheiro (ou uma extensão de carácter de substituição) à lista de ficheiros a excluir, na página de configurações. Isto irá afectar todas as cópias de trabalho que tens.

  • Adicionar o ficheiro à lista svn:ignore usando TortoiseSVNApaga e adiciona à lista de ignorados. Isto só afectará a pasta onde foi alterada a propriedade svn:ignore. Usando a Caixa de Diálogo de Propriedades SVN, poderás alterar a propriedade svn:ignore para a pasta.

  • add the file to the svn:global-ignores list using TortoiseSVNAdd to ignore list (recursively) This will affect the directory on which you set the svn:global-ignores property and all subfolders as well.

Ler “Ignorando Ficheiros E Pastas” para mais informação.

O Duplo clique na caixa de diálogo submeter, em qualquer ficheiro alterado, irá lançar a ferramenta externa diff para mostrar as tuas alterações. O menu de contexto irá dar-te mais opções, como pode ser visto no screenshot. Poderás também arrastar ficheiros daqui para outra aplicação, como um editor de texto ou um IDE.

Poderás seleccionar ou desseleccionar items clicando na caixa de verificação à esquerda do item. Para pastas poderás usar Shift-Seleccionar para tornar essa acção recursiva.

As colunas mostradas no painel de fundo são customizáveis. Se clicares com o botão direito em qualquer cabeçalho de coluna verás um menu de contexto, que te permitirá seleccionar quais as colunas que serão mostradas. Poderás também alterar a largura da coluna utilizando um indicador de arrasto, que aparecerá quando moveres o rato sobre os limites da coluna. Estas customizações são conservadas para que as vejas os mesmos cabeçalhos da próxima vez.

Por defeito ao submeteres as tuas alterações, são libertados automaticamente quaisquer bloqueios que tiveres sobre ficheiros após o sucesso da submissão. Se desejares mater esses bloqueios tem a certeza que a caixa de verificação Manter bloqueios. Por defeito o estado dessa caixa de verificação é retirada a partir da opção no_unlock, no ficheiro de configuração do Subversion. Ler “Preferências Gerais” para mais informações em como editar o ficheiro de configuração do Subversion.

Advertência ao submeter a tag

Usually, commits are done to the trunk or a branch, but not to tags. After all, a tag is considered fixed and should not change.

If a commit is attempted to a tag URL, TortoiseSVN shows a confirmation dialog first to ensure whether this is really what is intended. Because most of the time such a commit is done by accident.

However, this check only works if the repository layout is one of the recommended ones, meaning it uses the names trunk, branches and tags to mark the three main areas. In case the setup is different, the detection of what is a tag/branch/trunk (also known as classification patterns), can be configured in the settings dialog: “Preferências do Gráfico de Revisões”

Arrastar e Largar

Podes arrastar ficheiros de qualquer proveniência para a caixa de diálogo Submeter desde que, as cópias de trabalho estejam exportadas a partir do mesmo repositório. Por exemplo, tu podes ter uma gigantesca cópia de trabalho, com várias janelas de explorador abertas para visualizar distantes pastas na hierarquia. Se desejas evitar submeter a partir da pasta de topo (com uma pesquisa lenta da pasta em procura por alterações), podes abrir a caixa de diálogo de submeter para uma pasta e arrastar itens de outras janelas, para os assim incluir na mesma submissão atómica.

Podes arrastar, para a caixa de diálogo de submeter, ficheiros não versionados que residem na cópia de trabalho e eles serão adicionados automaticamente ao SVN.

Arrastar os ficheiros da lista ao fundo da caixa de diálogo submeter para a caixa de edição das mensagens de registo, irá inserir nesta os caminhos de ficheiro como texto simples.

Reparando Alterações de Nome Externas

Por vezes, é alterado o nome de alguns ficheiros fora do Subversion e, eles são mostrados na lista de ficheiros como um em falta e outro ficheiro não versionado. Para evitar perder o histórico necessitas de notificar o Subversion a cerca da ligação. Simplesmente selecciona o de nome antigo(em falta) e o de novo nome (não versionado) e para emparelhar os dois ficheiros como uma alteração de nome usa Context MenuReparar Movimento

Reparar Cópias Externas

Se fizeste uma cópia de um ficheiro e esqueceste de usar o comando do Subversion para o fazeres, poderás corrigir essa cópia para que o novo ficheiro não perca o seu histórico. Selecciona simplesmente ambos, o com o nome antigo (normal ou modificado) e o com o novo nome (não versionado) e usa Menu de ContextoReparar cópia para emparelhar os dois ficheiros com uma cópia.

Listas de Alterações

A caixa de diálogo de submissão suporta a funcionalidade listas de alterações, para ajudar a agrupar ficheiros. Sabes mais acerca desta funcionalidade em “Listas de Alterações”.

Submeter apenas secções de ficheiros

Às vezes, poderás querer efectuar a submissão de apenas uma parte das alterações que efectuaste num ficheiro. Essa situação acontece com frequência quando estás a trabalhar em algo, e surge uma correcção urgente para ser submetida, e essa correcção calha estar no mesmo ficheiro em que estás a trabalhar.

right click on the file and use Context MenuRestore after commit. This will create a copy of the file as it is. Then you can edit the file, e.g. in a text editor and undo all the changes you don't want to commit. After saving those changes you can commit the file.

A Utilizar TortoiseMerge

If you use TortoiseMerge to edit the file, you can either edit the changes as you're used to, or mark all the changes that you want to include. right click on a modified block and use Context MenuMark this change to include that change. Finally right click and use Context MenuLeave only marked changes which will change the right view to only include the changes you've marked before and undo the changes you have not marked.

Após submeter, a cópia do ficheiro é automaticamente restaurada e terás o ficheiro com todas as tuas modificações que não foram ainda submetidas.

Excluir itens da lista a Submeter

Por vezes, tens ficheiros versionados que são alterados frequentemente mas que não desejas submeter. Por vezes isso indica uma falha no processo de construção - porque são estes ficheiros versionados? devias ter usado ficheiros template? Mas por vezes é inevitável. A razão clássica é a mudança, pelo IDE, da marca temporal do ficheiro de projecto, de cada vez que o constróis. O ficheiro de projecto tem de ser versionado pois inclui todas as configurações de construção, mas no entanto não precisa de ser submetido só porque a sua marca temporal foi alterada.

Para ajudar em casos estranhos como este, temos reservada uma lista de alterações chamada ignore-on-commit. Qualquer ficheiro adicionado a esta lista de alterações será automaticamente não seleccionada na caixa de diálogo de submissão. Poderás ainda submeter as alterações mas, terás de as seleccionar manualmente na caixa de diálogo de submissão.

Mensagens de Registo de Submeter

Tem a certeza de, inserir uma mensagem de registo que descreve as alterações que vais submeter. Isto ir-te-á ajudar a visualizar o que aconteceu e quando, enquanto navegas através das mensagens de registo do projecto, numa data posterior. A mensagem pode longa ou breve, conforme o desejares; muitos projectos têm guias para o que deverá ser incluído, a linguagem a usar, e por vezes até um formato rígido.

Podes aplicar um formato simples às tuas mensagens de registo, usando uma convenção similar à usada nos emails. Para aplicar estilo ao texto usar; *text* para negrito, _text_ para sublinhado, e ^text^ para itálico.

Figura 4.9. A Verificação de Sintaxe na Caixa de Diálogo Submeter

A Verificação de Sintaxe na Caixa de Diálogo Submeter


O TortoiseSVN inclui um verificador de sintaxe que te ajuda a conseguir obter mensagens de registo bem escritas. Este irá sobressair qualquer palavra mal escrita. Usa o menu de contexto para aceder às correcções sugeridas. É claro que ele não conhece todos os termos técnicos que utilizas, podendo aparecer como erros termos correctamente escritos. Não te preocupes, poderás os adicionar ao teu dicionário pessoal, usando o menu de contexto.

The log message window also includes a filename and function auto-completion facility. This uses regular expressions to extract class and function names from the (text) files you are committing, as well as the filenames themselves. If a word you are typing matches anything in the list (after you have typed at least 3 characters, or pressed Ctrl+Space), a drop-down appears allowing you to select the full name. The regular expressions supplied with TortoiseSVN are held in the TortoiseSVN installation bin folder. You can also define your own regexes and store them in %APPDATA%\TortoiseSVN\autolist.txt. Of course your private autolist will not be overwritten when you update your installation of TortoiseSVN. If you are unfamiliar with regular expressions, take a look at the introduction at https://en.wikipedia.org/wiki/Regular_expression, and the online documentation and tutorial at http://www.regular-expressions.info/.

Acertar com a regex correcta pode ser um bocado complicado, pelo que para te ajudar a descobrir qual a expressão mais indicada, existe uma caixa de diálogo de teste que te permite introduzir uma expressão e então digitar nomes de ficheiros para a testar. Arranca-a a partir da linha de comandos, com o comando TortoiseProc.exe /command:autotexttest.

The log message window also includes a commit message snippet facility. These snippets are shown in the autocomplete dropdown once you type a snippet shortcut, and selecting the snippet in the autocomplete dropdown then inserts the full text of the snippet. The snippets supplied with TortoiseSVN are held in the TortoiseSVN installation bin folder. You can also define your own snippets and store them in %APPDATA%\TortoiseSVN\snippet.txt. # is the comment character. Newlines can be inserted by escaping them like this: \n and \r. To insert a backslash, escape it like this: \\.

Podes reutilizar mensagens inseridas previamente. clica apenas em Mensagens recentes para ver a lista de algumas das últimas mensagens que inseriste, nesta cópia de trabalho. O número de mensagens guardadas pode ser customizável na caixa de diálogo de configuração do TortoiseSVN.

Podes limpar todas a mensagens de registo de submissão armazenadas na página Dados Guardados de configurações do TortoiseSVN, ou poderás limpar mensagens individuais a partir da caixa de registo Mensagens recentes usando a tecla Delete.

Se queres incluir, na mensagem de registo, os caminhos seleccionados, podes usar no controlo de edição o comando Context Menu de ContextoColar lista de nomes de arquivos.

Outra maneira para inserir caminhos na mensagem de registo é simplesmente, arrastar os ficheiros da lista de ficheiros para o controlo de edição.

Propriedades de Pastas Especiais

Existem várias propriedades de pastas especiais que podem ser usadas para dar mais controlo sobre a formatação das mensagens de registo de formatação, e a língua usada para o módulo de verificação ortográfico. Ler “Configurações de Projecto” para mais informação.

Integração com Ferramentas de Controlo de Problemas

Se activaste o sistema de controlo de problemas, podes introduzir um ou mais Problemas na caixa de texto ID-Problema / Nr-Assunto:. Múltiplos assuntos devem ser separados por vírgulas. Em alternativa, se estiveres a usar o suporte para controlo de problemas baseado em regex, adiciona apenas as tuas referências de assunto como parte da mensagem de registo. Sabe mais em “Integração com Sistemas de controlo de problemas/Gestores de Problemas”.

Progresso do Submeter

Após premir o OK, aparece a caixa de diálogo que mostra o progresso da submissão.

Figura 4.10. A caixa de dialogo de Progresso, mostrando a submissão em progresso

A caixa de dialogo de Progresso, mostrando a submissão em progresso


A caixa de diálogo de progresso usa um código de cores para evidenciar as acções de submissão

Azul

Submetendo uma alteração.

Roxo

Submetendo uma nova adição.

Vermelho escuro

Submetendo uma substituição ou apagamento.

Preto

Todos os outros itens.

Este é o esquema de cores por defeito, mas podes alterar essas cores usando a caixa de diálogo configurações. Ler “Preferências de cor do TortoiseSVN” para mais informação.

TortoiseSVN homepage