Manuals

Submetendo Suas Alterações Para o Repositório

Enviar as alterações que você fez em sua cópia de trabalho é conhecido como Submeter as alterações. Mas antes de você submeter você deve ter certeza que sua cópia de trabalho está atualizada. Você pode usar tanto TortoiseSVNUpdate diretamente. Ou você pode usar TortoiseSVNCheck for Modifications primeiro, para ver quais arquivos foram alterados localmente ou no servidor.

A Janela de Submissão

Se sua cópia de trabalho estiver atualizada e não houver conflitos, você está pronto para submeter suas alterações. Selecione qualquer arquivo e/ou pastas que você quiser submeter, então TortoiseSVNCommit....

Figura 4.7. A janela de Submissão

A janela de Submissão


A janela de submissão irá exibir todos os arquivos modificados, incluindo arquivos adicionados, deletados e não versionados. Se você não quiser que um arquivo alterado seja submetido, apenas desmarque o arquivo. Se você quiser incluir um arquivo não versionado, apenas marque o arquivo para adiciona-lo a 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 Local e Remoto”.

Items que foram movidos para um caminho de repositório diferente são também indicados usando o marcador (s). Você pode ter movido algo enquanto trabalhava em uma ramificação (branch) e se esqueceu de mover de volta para a versão principal (trunk). Esté é seu sinal de aviso!

Submeter arquivos ou diretórios?

Quando você submete arquivos, a janela de submissão exibe apenas os arquivos que você selecionou. Quando você submete uma pasta, a janela de submissão irá exibir selecionado os arquivos modificados automaticamente. Se você se esqueceu de um novo arquivo que criou, submeter a pasta irá encontra-lo de qualquer forma. Submeter uma pasta não significa que todos os arquivos serão marcados como modificados; Isso apenas fará sua vida mais fácil.

Muitos arquivos não versionados na janela de submissão

Se você acha que a janela de submissão exibe muitos arquivos não versionados (arquivos gerados pelo compilador ou backups), existem muitas formas de lidar com isso. Você pode

  • adicionar o arquivo (ou um caracter especial) para listar os arquivos para excluir nas configurações da página. Isto afetará toda a cópia de trabalho que você tem.

  • adicionar o arquivo para a lista svn:ignore usando TortoiseSVNAdicionar à lista de ignorados. Isto somente afetará o diretório no qual você configurou a propriedade svn:ignore. Usando a janela Propriedade do SVN, você pode alterar a propriedades svn:ignore para um diretório.

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

Read “Ignorando Arquivos e Diretórios” para mais informações

Click duplo em qualquer arquivo modificado na janela de submissão irá abrir um programa de diff exibindo suas modificações. O menu de contexto irá dar mais opções, como exibido na screenshot. Você também arrastar arquivos da janela de submissão para outros aplicativos como editores de textos ou IDEs.

Você pode selecionar ou deselecionar items clicando na caixa de seleção a esquerda do item. Para diretórios você pode usar Shift-select para fazer a ação recursiva.

As colunas mostradas no painel inferior são personalizadas. Se você clicar com o botão direito em qualquer cabeçalho de coluna você virá um menu de contexto que permitirá a você selecionar quais colunas você quer ver. Você pode também mudar o tamanho da coluna usando a opção de arrasto que aparece quando você mantém o ponteiro do mouse sobre a borda da coluna. Estas personalizações são gravadas, etnão você verá a tela do mesmo jeito quando voltar.

Por padrão quando você submete alterações, qualquer travamento que você determinou em arquivos serão liberados automaticamente após a confirmação da submissão. Se você quer manter as alocações, tenha certeza que a opção Manter bloqueios está selecionada. O padrão desta caixa de seleção é obtido da opção no_unlock do arquivo de configuração do Subversion. Leia “Configurações Gerais” para mais informações sobre como editar o arquivo 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: “Configurações do Gráfico de Revisões”

Arrastar e Soltar

Você pode arrastar arquivos para dentro da janela de submissão de qualquer lugar, desde que as cópias de trabalho tenham sido obtidas do mesmo repositório. Por exemplo, você pode ter uma grande cópia de trabalho com inúmeras janelas do windows explorer abertas para olhar em pastas em diferentes lugares. Se você quiser evitar submeter do nível mais alto da estrutura de pastas (com uma longa lista de modificações) você pode abrir a janela de submissão para uma pasta e então arrastar os itens de outras janelas para incluir na mesma submissão atômica.

Você pode arrastar arquivos não versionados que residem em uma cópia de trabalho para uma janela de submissão e eles irão ser adicionados ao SVN automaticamente.

Arrastando arquivos da lista na parte de baixo da janela de submissão para o campo para edição da mensagem de log irá inserir os caminhos como texto dentro da caixa de edição. Isto é muito útil se você quer escrever mensagens de log da submissão que incluem os caminhos que foram afetados pela submissão.

Reparando Referência Externas Renomeadas

Algumas vezes arquivos são renomeados fora do Subversion, e eles aparecem na lista de arquivos como arquivos perdidos e como arquivos não versionados. Para evitar a perca do histório você precisa notificar o Subversion sobre a conexão entre os arquivos. Simplesmente selecione o arquivo antigo (perdido) e o arquivo nome (não versionado) e use a opção Menu de ContextoReparar movimento para identificar os dois arquivos como uma renomeação.

Reparando Cópias de Referências Externas

Se você fez uma cópia de um arquivo e esqueceu de usar o comando do SVN na cópia, você pode reparar a cópia e assim o novo arquivo não perderá seu histórico. Simplesmente selecione o arquivo antigo (normal ou modificado) e o nome arquivo (não versionado) e use Menu de ContextoReparar Cópia para identificar os dois arquivos como um cópia.

Lista de Alterações

A janela de submissão suporta a funcionalidade lista de alterações do Subversion para ajudar a agrupar arquivos com modificações relacionadas. Saiba mais sobre essa funcionalidade em “Lista de Alterações”.

Enviar somente partes dos arquivos

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

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

Excluindo Itens de uma Lista de Submissões

Agumas vezes você tem arquivos versionados que são alterados frequentemente mas que você de verdade não quer controlar. Algumas vezes isto indica uma falha no seu processo de desenvolvimento - por que esses arquivos são controlados? deveriam ser arquivos modelos? Mas ocasionalmente isto é inevitável. Uma razão clássica é que seu IDE muda a data/hora do arquivo em seu projeto cada vez que você compila. O arquivo do projeto tem que ser controlado já que ele inclui todas as configurações de compilação, mas você não precisa submeter apenas porque mudou a data/hora do arquivo.

Para ajudar nessas situações incomuns, nós temos uma lista de alterações específica chamada ignore-on-commit. Qualquer arquivo adicionado neste lista de alterações ficará automaticamente desmarcado na janela de submissão. Você pode ainda submeter as alterações, mas você terá que selecionar manualmente na janela de submissão.

Registro de Mensagens de Submissão

Tenha a certeza de digitar uma mensagem de log que descreva as aterações que você está submetendo. Isto ajudará você a ver o que aconteceu e quando, ao navegador pelas mensagens de auditoria do projeto dias mais tarde. A mensagem pode ser tanto longa quanto curta; muitos projetos tem diretivas para o que será incluido, o idioma a ser usado, e algumas vezes até a formatação exigida.

Você pode formatar de forma simples sua mensagem de log usando a convenção similar ao que é usado nos e-mails. Para aplicar estilos para texto, use *texto* para negrito, _texto_ para sublinhado, e ^texto^ para itálico.

Figura 4.8. A Janela de Submissão Com Corretor Ortográfico

A Janela de Submissão Com Corretor Ortográfico


TortoiseSVN inclui um corretor ortográfico para lhe ajudar a escrever a sua mensagem de log corretamente. Ele irá descatar palavras erradas. Use o menu de contexto para acessar as sugestões de correção. É claro, ele não conhece todos os termos técnicos que você conhece, então palavras digitadas corretamente irão algumas vezes aparecer como erro. Mas você não deve se preocupar. Você pode simplesmente adicionar a palavra ao seu 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/.

Conseguir a regex certa pode ser confuso, mas para ajudar você a criar uma expressão que funcione, há uma janela de testes que permite que você entre uma expressão e então digite nomes de arquivo para testar. Inicie ela da janela de comando usando 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: \\.

Voce pode reutilizar mensagens já digitados. Apenas clique sobre Mensagens recentes para ver a lista das últimas mensagens digitas para a cópia de trabalho. O número de mensagens gravadas pode ser configurado na janela de configurações do TortoiseSVN.

Você pode apagar as mensagens de submissão gravadas usando a tela Dados salvos das configurações do TortoiseSVN, ou você pode apagar as mensagens uma a uma usnado a janela Mensagens recentes usando a tecla Delete.

Se você quer incluir os caminhos verificados em sua mensagem de log, você pode usar o comando Menu de ContextoColar lista de nomes de arquivos no campo da mensagem.

Outra forma de inserir caminhos em uma mensagem de auditoria é simplesmente arrastas os arquivos da lista de arquivos para dentro do campo da mensagem.

Propriedades de Pastas Especiais

Existem muitas propriedades especiais nos diretórios que podem ser usados para dar mais controle sobre a formatação das mensagens de log na submissão e o idioma usado pelo módulo de correção ortográfica. Leia “Configurações do Projeto” para mais informações.

Integração com Ferramentas de Rastreamento de Erros

se você ativou o sistema de rastreamento de erros, você pode configurar um ou mais Controles no campo do texto Bug-ID / Issue-Nr:. Multiplos controles devem ser separados com virgula. Uma alternativa, se você está usando um controle de rastreamento de erros baseado em expressões regulares, você pode adicionar a referência ao seu controle como parte da mensagem de log. Aprenda mais sobre isso em “Integração com Sistemas de Rastreamento de Erros / Rastreadores de Reportes”.

Progresso da Submissão

Depois de pressionar OK, a janela aparece mostrando o progresso da submissão.

Figura 4.9. A janela de Progresso mostra uma submissão em progresso

A janela de Progresso mostra uma submissão em progresso


A janela de progresso usa cores por código para destacar diferentes ações de submissão

Azul

Submetendo uma modificação.

Roxo

Submetendo uma nova adição.

Vermelho escuro

Submetendo um exclusão ou substituição.

Preto

Todos os outros itens.

Este é o esquema padrão de cores, mas você pode personalizar as cores usando a janela de configurações. Acesse “Configurações de Cores do TortoiseSVN” para mais informações.

TortoiseSVN homepage