Manuals

SVN Exportar Para Uma Cópia de Trabalho

Para obter uma cópia de trabalho necessitas de efectuar primeiro um SVN Exportar de um repositório.

Seleccionar uma pasta no explorador do windows onde queres colocar a tua cópia de trabalho. Clicar com o botão direito para aparecer o menu de contexto, e selecciona o comando TortoiseSVNSVN Exportar..., que mostrará a seguinte caixa de diálogo:

Figura 4.7. A caixa de diálogo Checkout

A caixa de diálogo Checkout


Se introduzires um nome de pasta que ainda não existe, uma pasta com esse nome será criada.

Importante

Na configuração padrão, o item Obter do menu não está localizado no submenu do TortoiseSVN, contudo, é mostrado no menu superior do explorador. Os comandos do TortoiseSVN que não estão no submenu têm o SVN agregado em: Obter SVN...

Profundidade do Checkout

Podes escolher 0 nível que queres para o checkout, o que te permite especificar o nível da recursividade nas pastas filho. Se quiseres apenas algumas secções de uma grande árvore, podes efectuar checkout apenas da pasta de topo e depois actualizar recursivamente pastas seleccionadas.

Totalmente recursiva

Efectuar checkout a árvore inteira, incluindo todas as pastas filho e subpastas.

filhos directos, incluindo pastas

Efectuar checkout a pasta específicada, incluindo todos os ficheiros e pastas filho, mas não povoar as pastas filho.

Só ficheiros filho

Efectuar checkout a pasta específicada, incluindo todos os ficheiros mas não efectuar checkout qualquer pasta filho.

Só este item

Efectuar checkout só a pasta. Não povoa-la com ficheiros ou pastas filho.

Cópia de trabalho

Reter o nível especificado na cópia de trabalho. Esta opção não é usada na caixa de diálogo do checkout, mas é a opção por defeito para todas as outras caixas de diálogo que têm a configuração de nível.

Excluir

Usado para reduzir a cópia de trabalho, depois de a pasta já ter sido povoada. Esta opção só está disponível na caixa de diálogo Actualizar para a revisão.

Para facilmente seleccionar apenas os itens que pretendes para o checkout e forçar a cópia de trabalho a manter apenas esses itens, clica no botão Escolher itens.... Isto abre uma nova caixa de diálogo onde podes verificar todos os itens que pretendes da tua cópia de trabalho e desseleccionar todos os itens que não pretendes. A cópia de trabalho resultante é conhecida como um checkout disperso. Uma actualização a tal cópia de trabalho não irá obter os ficheiros e pastas em falta, mas apernas actualizar o que já tens actualmente na tua cópia de trabalho.

If you check out a sparse working copy (i.e., by choosing something other than fully recursive for the checkout depth), you can easily add or remove sub-folders later using one of the following methods.

Actualização dispersa usando Actualizar para revisão

Right click on the checked out folder, then use TortoiseSVNUpdate to Revision and select Choose items.... This opens the same dialog that was available in the original checkout and allows you to select or deselect items to include in the checkout. This method is very flexible but can be slow as every item in the folder is updated individually.

Actualização dispersa usando o Navegador de Repositório

Right click on the checked out folder, then use TortoiseSVNRepo-Browser to bring up the repository browser. Find the sub-folder you would like to add to your working copy, then use Context MenuUpdate item to revision....

Actualização dispersa usando Verificar Modificações

In the check for modifications dialog, first shift click on the button Check repository. The dialog will show all the files and folders which are in the repository but which you have not checked out as remotely added. Right click on the folder(s) you would like to add to your working copy, then use Context menuUpdate.

Esta funcionalidade é muito útil quando só queres SVN exportar partes de uma árvore grande, mas desejas a conveniência de actualizar uma só cópia de trabalho. Supõem que tens uma grande árvore árvore que tem as subpastas Project01 até Project99, e só queres SVN exportar Project03, Project25 e Project76/SubProj. Utiliza estes passos:

  1. Checkout na pasta pai com o nível Só este item. Terás agora uma pasta de topo vazia.

  2. Seleccionar a nova pasta e usar TortoiseSVNNavegador de repositório para visualizar o conteúdo do repositório.

  3. Clicar com o botão direito no Project03 e Menu contextoActualizar item para revisão.... Mantêm as configurações por defeito e clica em OK. Agora tens essa pasta totalmente povoada.

    Repetir o mesmo processo para o Project25.

  4. Navegar para o Project76/SubProj e fazer o mesmo. Desta vez verifica que a pasta Project76 não tem conteúdo á excepção do SubProj, que por sí está totalmente povoada. O Subversion criou as pastas intermediárias por ti, mas sem as povoar.

Modificando o nível da cópia de trabalho

Uma vez que tenhas efectuado o checkout de uma cópia de trabalho, com um nível em particular, poderás modificar o mesmo mais tarde de modo a obter maior ou menor conteúdo utilizando, Context menuActualizar item para revisão.... Nessa caixa de diálogo, tem a certeza que verificas a caixa Tornar o nível persistente.

Usando um servidor mais antigo

Servidores anteriores à versão 1.5 não compreendem o pedido de nível da cópia de trabalho, não lidando eficientemente com os pedidos. O comando continuará a funcionar, mas um servidor mais antigo poderá enviar todos os dados, deixando para o cliente a filtragem do que não precisa, o que poderá gerar muito tráfico de rede. Se possível deves actualizar o teu servidor para pelo menos para a versão 1.5.

Se o projecto contiver referências a projectos externos, que não pretendas SVN exportar ao mesmo tempo, usa a caixa de verificação Omitir externos

Importante

Se Omitir externos está verificada, ou se desejas aumentar o valor de nível, tens de efectuar actualizações á cópia de trabalho utilizando TortoiseSVNActualizar para revisão... em vez de TortoiseSVNActualizar. A actualização padrão irá incluir todos os externos e manter o nível existente.

É recomendado que SVN exportes só até à parcela trunk da árvore de pastas. Se especificares o caminho pai da arvore de pastas no URL poderás acabar com um disco rígido cheiro, visto que, terás uma cópia inteira da árvore do repositório inclúindo cada ramo e etiqueta do teu projecto!

Exportando

Por vezes quererás criar uma cópia local sem nenhumas das pastas .svn, i.e. criar uma tarball zipada do teu código fonte. Lê “Exportar uma Cópia de Trabalho do Subversion” para descobrires como o fazer.

TortoiseSVN homepage