This tool, to be used before committing your work, should help you locate problems in translation files. Please consider it as work-in-progress, as we are still working on it.
First of all, it will help you find missing accelerators - Luebbe's translation status page shows counts but not strings themselves, so the table below will help you fix these problems.
The analysis also includes some other useful lists, it checks for instance for correct new line styles, untranslated strings and spelling mistakes. As we prefer to err on the side of caution, you may find a lot of false positives. Anyway I hope this will help you improve the quality of your translation.
Oto
Please follow this link if you think you may help with translation.
-> TortoiseSVN translation
You can upload file for check before you make actual commit, so you can fix errors in one commit.
Make sure you are going to check translation against proper branch.
Last update: September 05 2010 17:08 CET (GMT+1/GMT+2(DST))
Go to STABLE.
Language |
GUI check |
DOC |
Author(s) |
||||||||
Flag |
PAR!! |
ACC! |
NLS |
UNT |
FUZ |
ESC |
Note |
![]() |
![]() |
||
| Portuguese, Brazil | 23 |
51 |
10 |
1371 |
257 |
1 |
1371/257 | 5 | CRAb Group, Humberto Osório, Emanuele Santos, Guilherme Cantisano, Juliano Ravasi Ferraz, Victor Westmann, Conrado Quilles Gomes, Tiago Deliberali Santos, Leandro Herrera, Alex Vieira, Rafael Heise | ||
This test is necessary to pass or you can expect crashing of TSVN - specially true when you use longer type as is in English like %s instead of %d, %ld instead of %d, etc. Also having more parameters lead to crash TSVN. When TSVN not crash, the information is still wrong. For example number instead of text.
| Index | Line | English | Line | Native |
| 1 | 121 | Graphical User Interface | 138(Fuzzy) | '%s' travado pelo usuário '%s'.\n |
| 2 | 4047 | Merge Tracking Features | 4550(Fuzzy) | .mesclagem-esquerda.r%ld |
| 3 | 5306 | Conflicts on properties | 5840(Fuzzy) | Propriedades não versionadas na revisão %ld:\n |
| 4 | 5897 | The Merge Wizard - Reintegrate Merge | 6481(Fuzzy) | Reintegrar combinação %s em %s |
| 5 | 6093 | The Merge reintegrate Dialog | 6684(Fuzzy) | Reintegrar combinação %s em %s |
| 6 | 6506 | Delete or rename the file. | 7112(Fuzzy) | Não é possível apagar o ficheiro INI '%s' |
| 7 | 6678 | Modified working copy | 7291(Fuzzy) | Cópia de trabalho '%s' travada |
| 8 | 6922 | Exporting a Subversion Working Copy | 7553(Fuzzy) | '%s' não é uma cópia de trabalho |
| 9 | 6930 | unversioned 'working copy' | 7562(Fuzzy) | Cópia de trabalho '%s' travada |
| 10 | 6999 | Relocating a working copy | 7635(Fuzzy) | Cópia de trabalho '%s' travada |
| 11 | 7011 | repository URL changed | 7649(Fuzzy) | Repositório svn ilegal '%s' |
| 12 | 7213 | Set the Properties on Folders | 7854(Fuzzy) | Não foi possível setar permissão em '%s' |
| 13 | 7535 | Default checkout path | 8187(Fuzzy) | Caminho '%s' não encontrado |
| 14 | 7675 | Items added to the repository. | 8339(Fuzzy) | Não foi possível abrir repositório '%s' |
| 15 | 7827 | Current HEAD revision in the repository. | 8497(Fuzzy) | caminho '%s' não existe na revisão HEAD |
| 16 | 8169 | the conflicted file, the result of the merge operation | 8879(Fuzzy) | A última combinação tentou adicionar o arquivo '%s' |
| 17 | 8892 | version extraction | 9646(Fuzzy) | %s, versão %s\n compilado %s, %s\n \n |
| 18 | 9216 | True if the item is versioned. | 10013(Fuzzy) | Já existe um item versionado '%s' |
| 19 | 9695 | Use a nested working copy | 10765(Fuzzy) | '%s' não é uma cópia de trabalho |
| 20 | 9727 | Create a shortcut to a repository | 10810(Fuzzy) | Não foi possível abrir repositório '%s' |
| 21 | 9763 | Unversion a working copy | 10853(Fuzzy) | Cópia de trabalho '%s' travada |
| 22 | 9771 | Remove a working copy | 10862(Fuzzy) | Cópia de trabalho '%s' travada |
| 23 | 9825 | Redirect the upgrade check | 10919(Fuzzy) | Não foi possível verificar o diretório '%s' |
Total:23
This is accessibility test. Passing this test is recommended. If you are interesting in more details about accelerator key overlapping I may enable such test for your language, but in fact there not too much to do against it. According Luebbe and Stefan there is no problem about it you just have to use accelerator more time to select element and then use enter or space for activate button.
| Index | Line | English | Line | Native |
| 1 | 3651 | Compare and blame with working BASE | 4152(Fuzzy) | Comparar e ver &autoria com a BASE de trabalho |
| 2 | 4361 | Difference with blame information | 4881(Fuzzy) | Comparar e ver &autoria com a BASE de trabalho |
| 3 | 4549 | Beyond Compare | 5075(Fuzzy) | &Comparar URLs |
| 4 | 4557 | Araxis Merge | 5084(Fuzzy) | &Caminhos de combinação |
| 5 | 5226 | Edit properties at HEAD revision | 5757(Fuzzy) | &Tempo limite, em segundos, antes de atualizar a última revisão |
| 6 | 5274 | auto-props | 5807(Fuzzy) | Ocultar &Automaticamente |
| 7 | 5784 | Merge a range of revisions | 6365(Fuzzy) | Combinar um intervalo de &revisões |
| 8 | 5837 | The Merge Wizard - Select Revision Range | 6420(Fuzzy) | &Para: (revisão e URL finais do intervalo para combinar) |
| 9 | 6085 | Merge a Completed Branch | 6674(Fuzzy) | A&grupar por ramo |
| 10 | 6101 | Feature Branch Maintenance | 6693(Fuzzy) | A&grupar por ramo |
| 11 | 6265 | unified diff | 6862(Fuzzy) | Comparação &unificada |
| 12 | 6453 | Compare and Blame with Working BASE | 7057(Fuzzy) | Comparar e ver &autoria com a BASE de trabalho |
| 13 | 6662 | Branch tip revision | 7273(Fuzzy) | C&riar um ramo/rótulo a partir da revisão |
| 14 | 6706 | Changing the View | 7320(Fuzzy) | &Tela inteira |
| 15 | 6710 | Group branches | 7325(Fuzzy) | &Iniciar Grupo |
| 16 | 6738 | Reduce cross lines | 7355(Fuzzy) | Reduzir cruzamento de &linhas |
| 17 | 6746 | Differential path names | 7364(Fuzzy) | Distinguir &caminhos |
| 18 | 6754 | Show all revisions | 7373(Fuzzy) | Mostrar tod&as as revisões |
| 19 | 6762 | Show HEAD revisions | 7382(Fuzzy) | &Mostrar últimas revisões |
| 20 | 6770 | Exact copy sources | 7391(Fuzzy) | Cópia e&xata das fontes |
| 21 | 6778 | Fold tags | 7400(Fuzzy) | Dobrar &rótulos |
| 22 | 6786 | Hide deleted paths | 7409(Fuzzy) | Ocultar caminhos &excluídos |
| 23 | 6794 | Hide unchanged branches | 7418(Fuzzy) | Ocultar &ramos não utilizados |
| 24 | 6802 | Show WC revision | 7427(Fuzzy) | Mostrar revisão da cópia de &trabalho |
| 25 | 6810 | Show WC modifications | 7436(Fuzzy) | &Mostrar alterações na cópia de trabalho |
| 26 | 6938 | The Export-from-URL Dialog | 7571(Fuzzy) | &Da Cópia de Trabalho na URL: |
| 27 | 6974 | Exporting a Change Tree | 7609(Fuzzy) | Reduzir árvore &seguinte |
| 28 | 7403 | Subversion configuration file | 8046(Fuzzy) | Arquivo de con&figuração do Subversion: |
| 29 | 7459 | Default number of log messages | 8104(Fuzzy) | &Número padrão de mensagens de log |
| 30 | 7467 | Font for log messages | 8113(Fuzzy) | &Fonte para mensagens de log: |
| 31 | 7475 | Short date / time format in log messages | 8122(Fuzzy) | Formato curto de &data/hora no histórico |
| 32 | 7571 | Use auto-completion of file paths and keywords | 8227(Fuzzy) | &Usar autocompletar para caminhos de arquivo e palavras-chave |
| 33 | 7579 | Timeout in seconds to stop the auto-completion parsing | 8236(Fuzzy) | &Tempo limite, em segundos, para parar a interpretação do autocompletar |
| 34 | 7623 | Contact the repository on startup | 8283(Fuzzy) | &Contatar o repositório ao iniciar |
| 35 | 7999 | SUBST drives | 8684(Fuzzy) | Unidades &Fixas |
| 36 | 8305 | Enable log caching | 9040(Fuzzy) | &Habilitar cache de log |
| 37 | 8317 | Allow ambiguous URLs | 9053(Fuzzy) | Permitir URLs &ambíguas |
| 38 | 8325 | Allow ambiguous UUIDs | 9062(Fuzzy) | Permitir &UUIDs ambíguos |
| 39 | 8345 | Timeout before updating the HEAD revision | 9084(Fuzzy) | &Tempo limite, em segundos, antes de atualizar a última revisão |
| 40 | 8353 | Days of inactivity until small caches get removed | 9093(Fuzzy) | &Dias de inatividade até que pequenos caches sejam removidos |
| 41 | 8361 | Maximum size of removed inactive caches | 9102(Fuzzy) | Tamanho &máximo [kByte] de um cache inativo removido |
| 42 | 8369 | Maximum number of tool failures before cache removal | 9111(Fuzzy) | Número máximo de &falhas da ferramenta até a remoção do cache |
| 43 | 8676 | Issue Tracker Integration | 9426(Fuzzy) | &Bugtraq (Integração com Gerenciador de Casos) |
| 44 | 9792 | group policies | 10884(Fuzzy) | &Iniciar Grupo |
| 45 | 9990 | Diff | 11094 | &Diferenças |
| 46 | 9995 | Show Log | 11099 | &Exibir Log |
| 47 | 10000 | Edit Conflicts | 11104 | &Editar Conflitos |
| 48 | 10803 | Repo Browser | 11973 | Navegador de &repositório |
| 49 | 10896 | Specific revision in repository | 12101 | &Revisão específica no repositório |
| 50 | 10953 | Create Repository Here | 12169 | Criar repositó&rio aqui |
| 51 | \n svn diff PATH > patch-file\n |
12223(Fuzzy) | O caminho do arquivo de correção/diferença para aplicar para o diretório. |
Total:51
This tests if new line style from pot match localized new line style. This test may have false positives when English text has new line style inconsistence. Using more lines for Native when English use just one is also alowed for most of translation even here reported.
| Index | Line | English | Line | Native |
| 1 | 121 | Graphical User Interface | 121 | '%s' travado pelo usuário '%s'.\n |
| 2 | Assuming your repository is located in <filename>c:\\repos\\TestRepo</filename>, and your server is called <filename>localhost</filename>, enter: <screen>\n svn://localhost/repos/TestRepo\n </screen> when prompted by the repo browser. |
1463 | Assumindo que seu repositório está localizado em <filename>c:\\repos\\TestRepo</filename>, e seu servidor é chamado de <filename>localhost</filename>, use: <screen>\n svn://localhost/repos/TestRepo\n </screen> quando pedido no navegador de repositório. |
|
| 3 | You can also increase security and save time entering URLs with svnserve by using the --root switch to set the root location and restrict access to a specified directory on the server: <screen>\n svnserve.exe --daemon --root drive:\\path\\to\\repository\\root\n </screen> Using the previous test as a guide, svnserve would now run as: <screen>\n svnserve.exe --daemon --root c:\\repos\n </screen> And in TortoiseSVN our repo-browser URL is now shortened to: <screen>\n svn://localhost/TestRepo\n </screen> Note that the --root switch is also needed if your repository is located on a different partition or drive than the location of svnserve on your server. |
1467 | Você pode também aumentar a segurança e poupar tempo digitando URLSs com o svnserve usando a opção --root para definir a pata principal e restringir o acesso para um diretório específico no servidor: <screen>\n svnserve.exe --daemon --root drive:\\path\\to\\repository\\root\n </screen> Usando o teste anterior como guia, svnserve poderá agora ser executado assim: <screen>\n svnserve.exe --daemon --root c:\\repos\n </screen> E no navegador de repositório do TortoiseSVN a URL é reduzida para: <screen>\n svn://localhost/TestRepo\n </screen> Note que a opção --root é também necessária se seu repositório está localizado em uma partição ou unidade diferente de onde o svnserve está no seu servidor. |
|
| 4 | To install svnserve as a native windows service, execute the following command all on one line to create a service which is automatically started when windows starts. <screen>\n sc create svnserve binpath= \"c:\\svnserve\\svnserve.exe --service\n --root c:\\repos\" displayname= \"Subversion\" depend= tcpip\n start= auto\n </screen> If any of the paths include spaces, you have to use (escaped) quotes around the path, like this: <screen>\n sc create svnserve binpath= \"\n \\\"C:\\Program Files\\Subversion\\bin\\svnserve.exe\\\"\n --service --root c:\\repos\" displayname= \"Subversion\"\n depend= tcpip start= auto\n </screen> You can also add a description after creating the service. This will show up in the Windows Services Manager. <screen>\n sc description svnserve \"Subversion server (svnserve)\"\n </screen> |
1483 | Para instalar o svnserve como um serviço nativo no windows, execute o seguinte comando em uma única linha para criar um serviço que será iniciado automaticamente quando o windows iniciar.<screen>\n sc create svnserve binpath= \"c:\\svnserve\\svnserve.exe --service \n --root c:\\repos\" displayname= \"Subversion\" depend= tcpip \n start= auto\n </screen> Se qualquer caminho incluir espaços, você precisa usar (com barra invertida) aspas, como segue: <screen>\n sc create svnserve binpath= \"\n \\\"C:\\Arquivos de Programas\\Subversion\\bin\\svnserve.exe\\\"\n --service --root c:\\repos\" displayname= \"Subversion\" \n depend= tcpip start= auto\n </screen> Você pode também adicionar uma descrição depois de criar o serviço. Ela será mostrada no Gerenciador de Serviços do Windows.. <screen>\n sc description svnserve \"Servidor Subversion (svnserve)\"\n </screen> |
|
| 5 | 5306 | Conflicts on properties | 5306 | Propriedades não versionadas na revisão %ld:\n |
| 6 | 7007 | URL changed | 7007 | Caminhos mudados:\n |
| 7 | 7871 | Selected Node Markers | 7871 | Tipo de Nó: diretório\n |
| 8 | 8213 | Saved Data Settings | 8213 | Ajustar preferências\n Preferências |
| 9 | 8892 | version extraction | 8892 | %s, versão %s\n compilado %s, %s\n \n |
| 10 | 9639 | compare files | 9639 | Nível: arquivos\n |
Total:10
This tests if all strings has been translated. Translated mean that there in native string set. If English and native are same it is not marked as not translated, this just can happen.
| Index | Line | English | Line |
| 1 | 125 | When you list the changes to a file or folder, you can click on a revision to see the comments for that commit. You can also see a list of changed files - just double click on a file to see exactly what changed. | 143 |
| 2 | 129 | The commit dialog lists all the items that will be included in a commit, and each item has a checkbox so you can choose which items you want to include. Unversioned files can also be listed, in case you forgot to add that new file. | 147 |
| 3 | 197 | TortoiseSVN is an Open Source project developed under the GNU General Public License (GPL). It is free to download and free to use, either personally or commercially, on any number of PCs. | 215 |
| 4 | 205 | Development | 224 |
| 5 | 269 | for the log cache and revision graph | 293 |
| 6 | 317 | The |
344 |
| 7 | 398 | This section is aimed at people who would like to find out what TortoiseSVN is all about and give it a test drive. It explains how to install TortoiseSVN and set up a local repository, and it walks you through the most commonly used operations. | 426 |
| 8 | 410 | TortoiseSVN runs on Windows XP or higher and is available in both 32-bit and 64-bit flavours. If you are running 64-bit Windows you may want to install both versions. | 438 |
| 9 | 434 | Language packs are available which translate the TortoiseSVN user interface into many different languages. Please check |
464 |
| 10 | 446 | Before we get stuck into working with some real files, it is important to get an overview of how subversion works and the terms that are used. | 477 |
| 11 | 457 | Subversion uses a central database which contains all your version-controlled files with their complete history. This database is referred to as the |
488 |
| 12 | 466 | This is where you do the real work. Every developer has his own working copy, sometimes known as a sandbox, on his local PC. You can pull down the latest version from the repository, work on it locally without affecting anyone else, then when you are happy with the changes you made commit them back to the repository. | 497 |
| 13 | 470 | A Subversion working copy does not contain the history of the project, but it does keep a copy of the files as they exist in the repository before you started making changes. This means that it is easy to check exactly what changes you have made. | 501 |
| 14 | 479 | You also need to know where to find TortoiseSVN because there is not much to see from the Start Menu. This is because TortoiseSVN is a Shell extension, so first of all, start Windows Explorer. Right click on a folder in Explorer and you should see some new entries in the context menu like this: |
510 |
| 15 | 483 | Go for a Test Drive | 514 |
| 16 | 487 | This section shows you how to try out some of the most commonly used features on a small test repository. Naturally it doesn't explain everything - this is just the Quick Start Guide after all. Once you are up and running you should take the time to read the rest of this user guide, which takes you through things in much more detail. It also explains more about setting up a proper Subversion server. | 518 |
| 17 | 495 | For a real project you will have a repository set up somewhere safe and a Subversion server to control it. For the purposes of this tutorial we are going to use Subversion's local repository feature which allows direct access to a repository created on your hard drive without needing a server at all. | 526 |
| 18 | 499 | First create a new empty directory on your PC. It can go anywhere, but in this tutorial we are going to call it |
530 |
| 19 | 503 | The local repository feature is very useful for test and evaluation but unless you are working as a sole developer on one PC you should always use a proper Subversion server. It is tempting in a small company to avoid the work of setting up a server and just access your repository on a network share. Don't ever do that. You will lose data. Read |
534 |
| 20 | 516 | Now we have a repository, but it is completely empty at the moment. Let's assume I have a set of files in |
547 |
| 21 | 520 | The other important feature of this dialog is the Import the Widget1 project. Click on |
551 |
| 22 | 528 | Now that we have a project in our repository, we need to create a working copy to use for day-to-day work. Note that the act of importing a folder does not automatically turn that folder into a working copy. The Subversion term for creating a fresh working copy is |
559 |
| 23 | 532 | You will notice that the appearance of this folder is different from our original folder. Every file has a green check mark in the bottom left corner. These are TortoiseSVN's status icons which are only present in a working copy. The green state indicates that the file is unchanged from the version in the repository. | 563 |
| 24 | 540 | Time to get to work. In the |
571 |
| 25 | 552 | OK, so we are happy with the changes, let's update the repository. This action is referred to as a |
584 |
| 26 | 560 | As the project develops you will need to add new files - let's say you add some new features in |
592 |
| 27 | 564 | Now when you go to commit the folder, the new file shows up as |
596 |
| 28 | 576 | One of the most useful features of TortoiseSVN is the Log dialog. This shows you a list of all the commits you made to a file or folder, and shows those detailed commit messages that you entered ;-) |
609 |
| 29 | 580 | The top pane shows a list of revisions committed along with the start of the commit message. If you select one of these revisions, the middle pane will show the full log message for that revision and the bottom pane will show a list of changed files and folders. | 613 |
| 30 | 584 | Each of these panes has a context menu which provides you with lots more ways of using the information. In the bottom pane you can |
617 |
| 31 | 592 | One feature of all revision control systems is that they let you undo changes that you made previously. As you would expect, TortoiseSVN makes this easy to access. | 625 |
| 32 | 596 | If you want to get rid of changes that you have not yet committed and reset your file to the way it was before you started editing, |
629 |
| 33 | 608 | This guide has given you a very quick tour of some of TortoiseSVN's most important and useful features, but of course there is far more that we haven't covered. We strongly recommend that you take the time to read the rest of this manual, especially |
642 |
| 34 | 612 | We have taken a lot of trouble to make sure that it is both informative and easy to read, but we recognise that there is a lot of it! Take your time and don't be afraid to try things out on a test repository as you go along. The best way to learn is by using it. | 646 |
| 35 | 1115 | You will also be asked whether you want to create a directory structure within the repository. Find out about layout options in |
1193 |
| 36 | 1119 | TortoiseSVN will set a custom folder icon when it creates a repository so you can identify local repositories more easily. If you create a repository using the official command line client this folder icon is not assigned. | 1197 |
| 37 | 1208 | Because this layout is so commonly used, when you create a new repository using TortoiseSVN, it will also offer to create the directory structure for you. | 1295 |
| 38 | 1327 | If a hook script rejects your commit then its decision is final. But you can build an override mechanism into the script itself using the You didn't say the magic word:-) |
1479 |
| 39 | 1523 | One way to overcome this is to create a password database: [general]\n anon-access = none\n auth-access = write\n password-db = userfile\n [users]\n username = password\n ...\n |
1764 |
| 40 | 1527 | If you maintain multiple repositories using the same password database, the use of an authentication realm will make life easier for users, as TortoiseSVN can cache your credentials so that you only have to enter them once. More information can be found in the Subversion book, specifically in the sections |
1778 |
| 41 | 1543 | The Cyrus Simple Authentication and Security Layer is open source software written by Carnegie Mellon University. It adds generic authentication and encryption capabilities to any network protocol, and as of Subversion 1.5 and later, both the svnserve server and TortoiseSVN client know how to make use of this library. | 1794 |
| 42 | 1547 | For a more complete discussion of the options available, you should look at the Subversion book in the section |
1798 |
| 43 | 1555 | To activate specific SASL mechanisms on the server, you'll need to do three things. First, create a use-sasl = true\n |
1806 |
| 44 | 1559 | Second, create a file called |
1813 |
| 45 | 1563 | Thirdly, create two new registry entries to tell SASL where to find things. Create a registry key named |
1817 |
| 46 | 1567 | Edit the pwcheck_method: auxprop\n auxprop_plugin: sasldb\n mech_list: DIGEST-MD5\n sasldb_path: C:\\TortoiseSVN\\sasldb\n |
1821 |
| 47 | 1571 | If svnserve was already running, you will need to restart it to ensure it reads the updated configuration. | 1831 |
| 48 | 1575 | Now that everything is set up, all you need to do is create some users and passwords. To do this you need the saslpasswd2 -c -f C:\\TortoiseSVN\\sasldb -u realm username\n |
1835 |
| 49 | 1579 | You can list the usernames stored in the database using the |
1842 |
| 50 | 1587 | To enable or disable different levels of encryption, you can set two values in your repository's [sasl]\n use-sasl = true\n min-encryption = 128\n max-encryption = 256\n |
1850 |
| 51 | 1591 | The |
1860 |
| 52 | 1599 | Another way to authenticate users with a svnserve based server is to use a secure shell (SSH) to tunnel requests through. It is not as simple to set up as SASL, but it may be useful is some cases. | 1868 |
| 53 | 1603 | With this approach, svnserve is not run as a daemon process, rather, the secure shell starts svnserve for you, running it as the SSH authenticated user. To enable this, you need a secure shell daemon on your server. | 1872 |
| 54 | 1607 | A basic method for setting up your server is given in SSH. |
1876 |
| 55 | 1611 | Further information about svnserve can be found in the |
1880 |
| 56 | 1615 | Path-based Authorization with svnserve | 1884 |
| 57 | 1619 | Starting with Subversion 1.3, svnserve supports the same [general]\n authz-db = authz\n |
1888 |
| 58 | 1631 | The most flexible of all possible server setups for Subversion is the Apache based one. Although a bit more complicated to set up, it offers benefits that other servers cannot: | 1904 |
| 59 | 1640 | The Apache based Subversion server uses the WebDAV protocol which is supported by many other programs as well. You could e.g. mount such a repository as a Web folderin the Windows explorer and then access it like any other folder in the file system. |
1913 |
| 60 | 1648 | You can point your browser to the URL of your repository and browse the contents of it without having a Subversion client installed. This gives access to your data to a much wider circle of users. | 1921 |
| 61 | 1657 | You can use any authentication mechanism Apache supports, including SSPI and LDAP. | 1930 |
| 62 | 1665 | Since Apache is very stable and secure, you automatically get the same security for your repository. This includes SSL encryption. | 1938 |
| 63 | 1673 | Please note that Windows XP without the service pack 1 will lead to bogus network data and could therefore corrupt your repository! | 1946 |
| 64 | 1677 | Download the latest version of the Apache web server from |
1950 |
| 65 | 1681 | The msi installer for Apache can be found by clicking on |
1954 |
| 66 | 1685 | Once you have the Apache2 installer you can double click on it and it will guide you through the installation process. Make sure that you enter the server-URL correctly (if you don't have a DNS name for your server just enter the IP-address). I recommend to install Apache |
1958 |
| 67 | 1689 | Now test if the Apache web server is running correctly by pointing your web browser to |
1962 |
| 68 | 1693 | If you decide to install Apache as a service, be warned that by default it will run as the local system account. It would be a more secure practice for you to create a separate account for Apache to run as. | 1966 |
| 69 | 1697 | Make sure that the account on the server that Apache is running as has an explicit entry in the repository directory's access control list (right-click directory | properties | security), with full control. Otherwise, users will not be able to commit their changes. | 1970 |
| 70 | 1701 | Even if Apache runs as local system, you still need such an entry (which will be the SYSTEM account in this case). | 1974 |
| 71 | 1705 | If Apache does not have this permission set up, your users will get Access deniederror messages, which show up in the Apache error log as error 500. |
1978 |
| 72 | 1709 | The first thing you need before installing Apache is a computer with Windows 2000, Windows XP+SP1, Windows 2003, Vista or Server 2008. |
1982 |
| 73 | 1717 | Download the latest version of the Subversion Win32 binaries for Apache. Be sure to get the right version to integrate with your version of Apache, otherwise you will get an obscure error message when you try to restart. If you have Apache 2.2.x go to |
1990 |
| 74 | 1721 | Run the Subversion installer and follow the instructions. If the Subversion installer recognized that you've installed Apache, then you're almost done. If it couldn't find an Apache server then you have to do some additional steps. | 1994 |
| 75 | 1730 | Using the windows explorer, go to the installation directory of Subversion (usually |
2003 |
| 76 | 1734 | Copy the file |
2007 |
| 77 | 1738 | Edit Apache's configuration file (usually |
2011 |
| 78 | 1742 | Uncomment (remove the ' #LoadModule dav_fs_module modules/mod_dav_fs.so\n #LoadModule dav_module modules/mod_dav.so\n LoadModule dav_svn_module modules/mod_dav_svn.so\n LoadModule authz_svn_module modules/mod_authz_svn.so\n |
2015 |
| 79 | 1750 | At the end of the config file add the following lines: <Location /svn>\n DAV svn\n SVNListParentPath on\n SVNParentPath D:\\SVN\n #SVNIndexXSLT \"/svnindex.xsl\"\n AuthType Basic\n AuthName \"Subversion repositories\"\n AuthUserFile passwd\n #AuthzSVNAccessFile svnaccessfile\n Require valid-user\n </Location>\n |
2030 |
| 80 | 1754 | To create the bin\\htpasswd -c passwd <username>\n bin\\htpasswd passwd <username>\n |
2047 |
| 81 | 1762 | Point your browser to |
2060 |
| 82 | 1766 | Now you have set up Apache and Subversion, but Apache doesn't know how to handle Subversion clients like TortoiseSVN yet. To get Apache to know which URL will be used for Subversion repositories you have to edit the Apache configuration file (usually located in |
2064 |
| 83 | 1796 | means that the Subversion repositories are available from the URL |
2094 |
| 84 | 1800 | tells Apache which module will be responsible to serve that URL - in this case the Subversion module. | 2098 |
| 85 | 1804 | For Subversion version 1.3 and higher, this directive enables listing all the available repositories under |
2102 |
| 86 | 1812 | tells Subversion to look for repositories below |
2110 |
| 87 | 1816 | Used to make the browsing with a web browser prettier. | 2114 |
| 88 | 1820 | is to activate basic authentication, i.e. Username/password | 2118 |
| 89 | 1824 | is used as an information whenever an authentication dialog pops up to tell the user what the authentication is for | 2122 |
| 90 | 1828 | specifies which password file to use for authentication | 2126 |
| 91 | 1832 | Location of the Access file for paths inside a Subversion repository | 2130 |
| 92 | 1836 | specifies that only users who entered a correct username/password are allowed to access the URL | 2134 |
| 93 | 1840 | If you want your repository to have read access for everyone but write access only for specific users you can change the line Require valid-user\n <LimitExcept GET PROPFIND OPTIONS REPORT>\n Require valid-user\n </LimitExcept>\n |
2138 |
| 94 | 1844 | Using a #AuthzSVNAccessFile svnaccessfile\n |
2149 |
| 95 | 1848 | To make browsing the repository with a web browser 'prettier', uncomment the line #SVNIndexXSLT \"/svnindex.xsl\"\n |
2156 |
| 96 | 1852 | You can get those three files directly from our source repository at |
2163 |
| 97 | 1856 | The XSL file from the TortoiseSVN repository has a nice gimmick: if you browse the repository with your web browser, then every folder in your repository has an icon on the right shown. If you click on that icon, the TortoiseSVN checkout dialog is started for this URL. | 2167 |
| 98 | 1860 | A short explanation of what you just entered: |
2171 |
| 99 | 1872 | If you used the |
2183 |
| 100 | 1876 | If you are using Subversion 1.3 or later, you can use the |
2187 |
| 101 | 1888 | The |
2199 |
| 102 | 1892 | An example file would look like this: [groups]\n admin = john, kate\n devteam1 = john, rachel, sally\n devteam2 = kate, peter, mark\n docs = bob, jane, mike\n training = zak\n # Default access rule for ALL repositories\n # Everyone can read, admins can write, Dan German is excluded.\n [/]\n * = r\n @admin = rw\n dangerman =\n # Allow developers complete access to their project repos\n [proj1:/]\n @devteam1 = rw\n [proj2:/]\n @devteam2 = rw\n [bigproj:/]\n @devteam1 = rw\n @devteam2 = rw\n trevor = rw\n # Give the doc people write access to all the docs folders\n [/trunk/doc]\n @docs = rw\n # Give trainees write access in the training repository only\n [TrainingRepos:/]\n @training = rw\n |
2203 |
| 103 | 1896 | Note that checking every path can be an expensive operation, particularly in the case of the revision log. The server checks every changed path in each revision and checks it for readability, which can be time-consuming on revisions which affect large numbers of files. | 2236 |
| 104 | 1900 | Authentication and authorization are separate processes. If a user wants to gain access to a repository path, she has to meet |
2240 |
| 105 | 1916 | As you might have noticed you need to make a username/password entry in the |
2257 |
| 106 | 1920 | But there's a solution for that problem - at least if you're accessing the repository from inside a LAN with a windows domain controller: |
2261 |
| 107 | 1932 | The original SSPI module was offered by Syneapps including source code. But the development for it has been stopped. But don't despair, the community has picked it up and improved it. It has a new home on |
2273 |
| 108 | 1936 | Download the module which matches your apache version, then copy the file |
2277 |
| 109 | 1940 | Edit the Apache config file: add the line LoadModule sspi_auth_module modules/mod_auth_sspi.so\n LoadModule auth_module modules/mod_auth.so\n |
2281 |
| 110 | 1944 | To make the Subversion location use this type of authentication you have to change the line AuthType Basic\n AuthType SSPI\n SSPIAuth On\n SSPIAuthoritative On\n SSPIDomain <domaincontroller>\n SSPIOmitDomain on\n SSPIUsernameCase lower\n SSPIPerRequestAuth on\n SSPIOfferBasic On\n |
2290 |
| 111 | 1948 | Note that if you are authenticating using SSPI, then you don't need the |
2307 |
| 112 | 1952 | The SSPI authentication is only enabled for SSL secured connections (https). If you're only using normal http connections to your server, it won't work. | 2311 |
| 113 | 1956 | To enable SSL on your server, see the chapter: |
2315 |
| 114 | 1960 | Subversion |
2319 |
| 115 | 1964 | In Microsoft's world, Windows domains and user names are not case sensitive. Even so, some network administrators like to create user accounts in CamelCase (e.g. |
2323 |
| 116 | 1968 | This difference can bite you when using SSPI authentication as the windows domain and user names are passed to Subversion in the same case as the user types them in at the prompt. Internet Explorer often passes the username to Apache automatically using whatever case the account was created with. | 2327 |
| 117 | 1972 | The end result is that you may need at least two entries in your |
2331 |
| 118 | 1976 | Apache's Error and Access logs are your best friend in deciphering problems such as these as they will help you determine the username string passed onto Subversion's |
2335 |
| 119 | 1988 | It is also possible to have more than one authentication source for your Subversion repository. To do this, you need to make each authentication type non-authoritative, so that Apache will check multiple sources for a matching username/password. | 2347 |
| 120 | 1992 | A common scenario is to use both Windows domain authentication and a |
2351 |
| 121 | 1996 | To enable both Windows domain and AuthBasicAuthoritative Off\n SSPIAuthoritative Off\n |
2355 |
| 122 | 2000 | Here is an example of the full Apache configuration for combined Windows domain and <Location /svn>\n DAV svn\n SVNListParentPath on\n SVNParentPath D:\\SVN\n \n AuthName \"Subversion repositories\"\n AuthzSVNAccessFile svnaccessfile.txt\n \n # NT Domain Logins.\n AuthType SSPI\n SSPIAuth On\n SSPIAuthoritative Off\n SSPIDomain <domaincontroller>\n SSPIOfferBasic On\n \n # Htpasswd Logins.\n AuthType Basic\n AuthBasicAuthoritative Off\n AuthUserFile passwd\n \n Require valid-user\n </Location>\n |
2363 |
| 123 | 2012 | Even though Apache 2.2.x has OpenSSL support, it is not activated by default. You need to activate this manually. | 2399 |
| 124 | 2016 | In the apache config file, uncomment the lines: #LoadModule ssl_module modules/mod_ssl.so\n #Include conf/extra/httpd-ssl.conf\n SSLMutex \"file:C:/Program Files/Apache Software Foundation/\\\n Apache2.2/logs/ssl_mutex\"\n SSLMutex default\n |
2403 |
| 125 | 2020 | Next you need to create an SSL certificate. To do that open a command prompt (DOS-Box) and change to the Apache folder (e.g. bin\\openssl req -config conf\\openssl.cnf -new -out my-server.csr\n |
2417 |
| 126 | 2024 | Normally the bin\\openssl genrsa -out conf\\privkey.pem 2048\n |
2424 |
| 127 | 2028 | Next type the commands bin\\openssl rsa -in conf\\privkey.pem -out conf\\server.key\n bin\\openssl req -new -key conf\\server.key -out conf\\server.csr \\\n -config conf\\openssl.cnf\n bin\\openssl x509 -in conf\\server.csr -out conf\\server.cert\n -req -signkey conf\\server.key -days 4000\n bin\\openssl x509 -in conf\\server.cert -out conf\\server.der.crt\n -outform DER\n |
2431 |
| 128 | 2036 | Point your browser to |
2451 |
| 129 | 2044 | If you're securing your server with SSL and use authentication against a windows domain you will encounter that browsing the repository with the Internet Explorer doesn't work anymore. Don't worry - this is only the Internet Explorer not able to authenticate. Other browsers don't have that problem and TortoiseSVN and any other Subversion client are still able to authenticate. | 2459 |
| 130 | 2048 | define a separate |
2463 |
| 131 | 2052 | Offer browsing with unencrypted authentication (without SSL) too. Strangely IE doesn't have any problems with authenticating if the connection is not secured with SSL. | 2467 |
| 132 | 2056 | In the SSL \"standard\" setup there's often the following statement in Apache's virtual SSL host: SetEnvIf User-Agent \".*MSIE.*\" \\\n nokeepalive ssl-unclean-shutdown \\\n downgrade-1.0 force-response-1.0\n |
2471 |
| 133 | 2060 | If you still want to use IE to browse the repository you can either: |
2480 |
| 134 | 2068 | When you've set up SSL to make your repository more secure, you might want to disable the normal access via non-SSL (http) and only allow https access. To do this, you have to add another directive to the Subversion |
2488 |
| 135 | 2072 | An example <Location /svn>\n DAV svn\n SVNParentPath D:\\SVN\n SSLRequireSSL\n AuthType Basic\n AuthName \"Subversion repositories\"\n AuthUserFile passwd\n #AuthzSVNAccessFile svnaccessfile\n Require valid-user\n </Location>\n |
2492 |
| 136 | 2084 | In some server configurations you may need to setup a single server containing 2 virtual SSL hosts: The first one for public web access, with no requirement for a client certificate. The second one to be secure with a required client certificate, running a Subversion server. | 2516 |
| 137 | 2088 | Adding an |
2520 |
| 138 | 2092 | The solution is to add the following directive to the virtual host directory that you want to lock down for Subversion: SSLRequire %{SSL_CLIENT_VERIFY} eq \"SUCCESS\"\n |
2524 |
| 139 | 2096 | To summarise, the relevant lines of the Apache configuration are: SSLVerifyClient Optional\n \n ### Virtual host configuration for the PUBLIC host\n ### (not requiring a certificate)\n \n <VirtualHost 127.0.0.1:443>\n <Directory \"pathtopublicfileroot\">\n </Directory>\n </VirtualHost>\n \n ### Virtual host configuration for SUBVERSION\n ### (requiring a client certificate)\n <VirtualHost 127.0.0.1:443>\n <Directory \"subversion host root path\">\n SSLRequire %{SSL_CLIENT_VERIFY} eq \"SUCCESS\"\n </Directory>\n \n <Location /svn>\n DAV svn\n SVNParentPath /pathtorepository\n </Location>\n </VirtualHost>\n |
2531 |
| 140 | 2285 | If you want to clear authentication for one realm only then you will have to dig into those directories, find the file which contains the information you want to clear and delete the file. | 2744 |
| 141 | 2456 | Select a directory in windows explorer where you want to place your working copy. |
2933 |
| 142 | 2468 | Checkout the entire tree, including all child folders and sub-folders. | 2945 |
| 143 | 2476 | Checkout the specified directory, including all files and child folders, but do not populate the child folders. | 2954 |
| 144 | 2484 | Checkout the specified directory, including all files but do not checkout any child folders. | 2962 |
| 145 | 2492 | Checkout the directory only. Do not populate it with files or child folders. | 2970 |
| 146 | 2502 | Retain the depth specified in the working copy. This option is not used in the checkout dialog, but it is the default in all other dialogs which have a depth setting. | 2980 |
| 147 | 2510 | Used to reduce working copy depth after a folder has already been populated. This option is only available in the |
2988 |
| 148 | 2514 | You can choose the |
2992 |
| 149 | 2518 | If you check out a sparse working copy (i.e., by choosing something other than |
2996 |
| 150 | 2522 | In windows explorer, |
3000 |
| 151 | 2526 | In the check for modifications dialog, first click on the button |
3004 |
| 152 | 2530 | This feature is very useful when you only want to checkout parts of a large tree, but you want the convenience of updating a single working copy. Suppose you have a large tree which has sub-folders |
3008 |
| 153 | 2534 | Checkout the parent folder with depth Only this itemYou now have an empty top level folder. |
3012 |
| 154 | 2538 | Select the new folder and use |
3016 |
| 155 | 2542 | Right click on |
3020 |
| 156 | 2546 | Repeat the same process for |
3024 |
| 157 | 2550 | Navigate to |
3028 |
| 158 | 2558 | Once you have checked out a working copy to a particular depth you can change that depth later to get more or less content using |
3036 |
| 159 | 2566 | Pre-1.5 servers do not understand the working copy depth request, so they cannot always deal with requests efficiently. The command will still work, but an older server may send all the data, leaving the client to filter out what is not required, which may mean a lot of network traffic. If possible you should upgrade your server to 1.5. | 3044 |
| 160 | 2570 | If the project contains references to external projects which you do |
3048 |
| 161 | 2574 | If |
3052 |
| 162 | 2578 | It is recommended that you check out only the |
3056 |
| 163 | 2586 | Sometimes you may want to create a local copy without any of those |
3064 |
| 164 | 2639 | If you have modified files which have been included from a different repository using |
3117 |
| 165 | 2647 | add the file (or a wildcard extension) to the list of files to exclude on the settings page. This will affect every working copy you have. | 3125 |
| 166 | 2651 | add the file to the |
3129 |
| 167 | 2667 | The columns displayed in the bottom pane are customizable. If you |
3145 |
| 168 | 2671 | By default when you commit changes, any locks that you hold on files are released automatically after the commit succeeds. If you want to keep those locks, make sure the |
3149 |
| 169 | 2675 | You can drag files into the commit dialog from elsewhere, so long as the working copies are checked out from the same repository. For example, you may have a huge working copy with several explorer windows open to look at distant folders of the hierarchy. If you want to avoid committing from the top level folder (with a lengthy folder crawl to check for changes) you can open the commit dialog for one folder and drag in items from the other windows to include within the same atomic commit. | 3153 |
| 170 | 2689 | Sometimes files get renamed outside of Subversion, and they show up in the file list as a missing file and an unversioned file. To avoid losing the history you need to notify Subversion about the connection. Simply select both the old name (missing) and the new name (unversioned) and use |
3167 |
| 171 | 2699 | If you made a copy of a file but forgot to use the Subversion command to do so, you can repair that copy so the new file doesn't lose its history. Simply select both the old name (normal or modified) and the new name (unversioned) and use |
3177 |
| 172 | 2708 | The commit dialog supports Subversion's changelist feature to help with grouping related files together. Find out about this feature in |
3186 |
| 173 | 2716 | Sometimes you have versioned files that change frequently but that you really don't want to commit. Sometimes this indicates a flaw in your build process - why are those files versioned? should you be using template files? But occasionally it is inevitable. A classic reason is that your IDE changes a timestamp in the project file every time you build. The project file has to be versioned as it includes all the build settings, but it doesn't need to be committed just because the timestamp changed. | 3194 |
| 174 | 2720 | To help out in awkward cases like this, we have reserved a changelist called |
3198 |
| 175 | 2728 | Be sure to enter a log message which describes the changes you are committing. This will help you to see what happened and when, as you browse through the project log messages at a later date. The message can be as long or as brief as you like; many projects have guidelines for what should be included, the language to use, and sometimes even a strict format. | 3206 |
| 176 | 2732 | You can apply simple formatting to your log messages using a convention similar to that used within emails. To apply styling to |
3210 |
| 177 | 2740 | 3218 | |
| 178 | 2744 | 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 |
3222 |
| 179 | 2748 | Getting the regex just right can be tricky, so to help you sort out a suitable expression there is a test dialog which allows you to enter an expression and then type in filenames to test it against. Start it from the command prompt using the command |
3226 |
| 180 | 2752 | You can re-use previously entered log messages. Just click on |
3230 |
| 181 | 2756 | You can clear all stored commit messages from the |
3234 |
| 182 | 2760 | If you want to include the checked paths in your log message, you can use the command |
3238 |
| 183 | 2764 | Another way to insert the paths into the log message is to simply drag the files from the file list onto the edit control. | 3242 |
| 184 | 2772 | There are several special folder properties which can be used to help give more control over the formatting of commit log messages and the language used by the spellchecker module. Read |
3250 |
| 185 | 2776 | Integration with Bug Tracking Tools | 3254 |
| 186 | 2780 | If you have activated the bug tracking system, you can set one or more Issues in the |
3258 |
| 187 | 2792 | After pressing |
3271 |
| 188 | 2841 | This is the default colour scheme, but you can customise those colours using the settings dialog. Read |
3321 |
| 189 | 3280 | There are other cases which are labelled as tree conflicts simply because the conflict involves a folder rather than a file. For example if you add a folder with the same name to both trunk and branch and then try to merge you will get a tree conflict. If you want to keep the folder from the merge target, just mark the conflict as resolved. If you want to use the one in the merge source then you need to SVN delete the one in the target first and run the merge again. If you need anything more complicated then you have to resolve manually. | 3777 |
| 190 | 3559 | For every change you make and commit, you should provide a log message for that change. That way you can later find out what changes you made and why, and you have a detailed log for your development process. | 4060 |
| 191 | 3563 | The top pane shows a list of revisions where changes to the file/folder have been committed. This summary includes the date and time, the person who committed the revision and the start of the log message. | 4064 |
| 192 | 3567 | Lines shown in blue indicate that something has been copied to this development line (perhaps from a branch). | 4068 |
| 193 | 3571 | The middle pane shows the full log message for the selected revision. | 4072 |
| 194 | 3575 | The bottom pane shows a list of all files and folders that were changed as part of the selected revision. | 4076 |
| 195 | 3579 | The Revision Log Dialog retrieves all those log messages and shows them to you. The display is divided into 3 panes. |
4080 |
| 196 | 3599 | From the Progress dialog after an update has finished. Then the Log dialog only shows those revisions which were changed since your last update | 4100 |
| 197 | 3603 | 4104 | |
| 198 | 3607 | If the repository is unavailable you will see the |
4108 |
| 199 | 3615 | The top pane has an |
4116 |
| 200 | 3619 | 4120 | |
| 201 | 3623 | 4124 | |
| 202 | 3627 | 4128 | |
| 203 | 3631 | 4132 | |
| 204 | 3639 | The Revision Log Dialog Top Pane with Context Menu | 4140 |
| 205 | 3647 | Compare the selected revision with your working copy. The default Diff-Tool is TortoiseMerge which is supplied with TortoiseSVN. If the log dialog is for a folder, this will show you a list of changed files, and allow you to review the changes made to each file individually. | 4148 |
| 206 | 3655 | Blame the selected revision, and the file in your working BASE and compare the blame reports using a visual diff tool. Read |
4157 |
| 207 | 3663 | View the changes made in the selected revision as a Unified-Diff file (GNU patch format). This shows only the differences with a few lines of context. It is harder to read than a visual file compare, but will show all file changes together in a compact format. | 4165 |
| 208 | 3671 | Compare the selected revision with the previous revision. This works in a similar manner to comparing with your working copy. For folders this option will first show the changed files dialog allowing you to select files to compare. | 4173 |
| 209 | 3679 | Show the changed files dialog allowing you to select files. Blame the selected revision, and the previous revision, and compare the results using a visual diff tool. (folders only). | 4182 |
| 210 | 3688 | Save the selected revision to a file so you have an older version of that file. (files only). | 4191 |
| 211 | 3697 | Open the selected file, either with the default viewer for that file type, or with a program you choose. (files only). | 4200 |
| 212 | 3714 | Open the repository browser to examine the selected file or folder in the repository as it was at the selected revision. | 4217 |
| 213 | 3722 | Create a branch or tag from a selected revision. This is useful e.g. if you forgot to create a tag and already committed some changes which weren't supposed to get into that release. | 4225 |
| 214 | 3730 | Update your working copy to the selected revision. Useful if you want to have your working copy reflect a time in the past, or if there have been further commits to the repository and you want to update your working copy one step at a time. It is best to update a whole directory in your working copy, not just one file, otherwise your working copy could be inconsistent. | 4233 |
| 215 | 3734 | If you want to undo an earlier change permanently, use |
4237 |
| 216 | 3742 | Revert to an earlier revision. If you have made several changes, and then decide that you really want to go back to how things were in revision N, this is the command you need. The changes are undone in your working copy so this operation does |
4245 |
| 217 | 3747 | If your working copy is in an unmodified state, after you perform this action your working copy will show as modified. If you already have local changes, this command will merge the |
4250 |
| 218 | 3751 | What is happening internally is that Subversion performs a reverse merge of all the changes made after the selected revision, undoing the effect of those previous commits. | 4254 |
| 219 | 3755 | If after performing this action you decide that you want to |
4258 |
| 220 | 3759 | If you simply want to see what a file or folder looked like at an earlier revision, use |
4262 |
| 221 | 3768 | Undo changes from which were made in the selected revision. The changes are undone in your working copy so this operation does |
4271 |
| 222 | 3772 | What is happening internally is that Subversion performs a reverse merge of that one revision, undoing its effect from a previous commit. | 4275 |
| 223 | 3776 | You can |
4279 |
| 224 | 3784 | Merge the selected revision(s) into a different working copy. A folder selection dialog allows you to choose the working copy to merge into, but after that there is no confirmation dialog, nor any opportunity to try a test merge. It is a good idea to merge into an unmodified working copy so that you can revert the changes if it doesn't work out! This is a useful feature if you want to merge selected revisions from one branch to another. | 4287 |
| 225 | 3792 | Make a fresh checkout of the selected folder at the selected revision. This brings up a dialog for you to confirm the URL and revision, and select a location for the checkout. | 4295 |
| 226 | 3800 | Export the selected file/folder at the selected revision. This brings up a dialog for you to confirm the URL and revision, and select a location for the export. | 4303 |
| 227 | 3808 | Edit the log message or author attached to a previous commit. Read |
4311 |
| 228 | 3816 | View and edit any revision property, not just log message and author. Refer to |
4319 |
| 229 | 3825 | Copy the log details of the selected revisions to the clipboard. This will copy the revision number, author, date, log message and the list of changed items for each revision. | 4328 |
| 230 | 3834 | Search log messages for the text you enter. This searches the log messages that you entered and also the action summaries created by Subversion (shown in the bottom pane). The search is not case sensitive. | 4337 |
| 231 | 3838 | 4341 | |
| 232 | 3842 | Top Pane Context Menu for 2 Selected Revisions | 4345 |
| 233 | 3850 | Compare the two selected revisions using a visual difference tool. The default Diff-Tool is TortoiseMerge which is supplied with TortoiseSVN. | 4353 |
| 234 | 3854 | If you select this option for a folder, a further dialog pops up listing the changed files and offering you further diff options. Read more about the Compare Revisions dialog in |
4357 |
| 235 | 3862 | Blame the two revisions and compare the blame reports using a visual difference tool. Read |
4365 |
| 236 | 3870 | View the differences between the two selected revisions as a Unified-Diff file. This works for files and folders. | 4373 |
| 237 | 3874 | Copy log messages to clipboard as described above. | 4377 |
| 238 | 3878 | Search log messages as described above. | 4381 |
| 239 | 3882 | 4385 | |
| 240 | 3886 | If you select two or more revisions (using the usual |
4389 |
| 241 | 3890 | You can also choose to merge the selected revisions to another working copy, as described above. | 4393 |
| 242 | 3894 | If all selected revisions have the same author, you can edit the author of all those revisions in one go. | 4397 |
| 243 | 3898 | The Log Dialog Bottom Pane with Context Menu | 4401 |
| 244 | 3906 | Show changes made in the selected revision for the selected file. | 4409 |
| 245 | 3914 | Blame the selected revision and the previous revision for the selected file, and compare the blame reports using a visual diff tool. Read |
4417 |
| 246 | 3922 | Show file changes in unified diff format. This context menu is only available for files shown as |
4425 |
| 247 | 3927 | Open the selected file, either with the default viewer for that file type, or with a program you choose. | 4430 |
| 248 | 3931 | Opens the Blame dialog, allowing you to blame up to the selected revision. | 4434 |
| 249 | 3935 | Revert the changes made to the selected file in that revision. | 4438 |
| 250 | 3943 | View the Subversion properties for the selected item. | 4446 |
| 251 | 3951 | Show the revision log for the selected single file. | 4454 |
| 252 | 3959 | Show the revision log for the selected single file, including merged changes. Find out more in |
4462 |
| 253 | 3963 | Save the selected revision to a file so you have an older version of that file. | 4466 |
| 254 | 3967 | 4470 | |
| 255 | 3971 | You may notice that sometimes we refer to changes and other times to differences. What's the difference? | 4474 |
| 256 | 3975 | Subversion uses revision numbers to mean 2 different things. A revision generally represents the state of the repository at a point in time, but it can also be used to represent the changeset which created that revision, eg. Done in r1234means that the changes committed in r1234 implement feature X. To make it clearer which sense is being used, we use two different terms. |
4478 |
| 257 | 3979 | If you select two revisions N and M, the context menu will offer to show the |
4482 |
| 258 | 3983 | If you select a single revision N, the context menu will offer to show the |
4486 |
| 259 | 3987 | The bottom pane shows the files changed in all selected revisions, so the context menu always offers to show |
4490 |
| 260 | 3995 | For a large repository there may be hundreds or even thousands of changes and fetching them all could take a long time. Normally you are only interested in the more recent changes. By default, the number of log messages fetched is limited to 100, but you can change this value in |
4498 |
| 261 | 3999 | When the |
4502 |
| 262 | 4003 | Normally you will want to leave this option unchecked. TortoiseSVN remembers the state of the checkbox, so it will respect your preference. | 4506 |
| 263 | 4007 | When the Show Log dialog is invoked from within the Merge dialog, the box is always checked by default. This is because merging is most often looking at changes on branches, and going back beyond the root of the branch does not make sense in that instance. | 4510 |
| 264 | 4011 | Note that Subversion currently implements renaming as a copy/delete pair, so renaming a file or folder will also cause the log display to stop if this option is checked. | 4514 |
| 265 | 4015 | The Log dialog does not always show all changes ever made for a number of reasons: |
4518 |
| 266 | 4019 | If you want to see more log messages, click the |
4522 |
| 267 | 4023 | Next to this button there is a multi-function button which remembers the last option you used it for. Click on the arrow to see the other options offered. | 4526 |
| 268 | 4027 | Use |
4530 |
| 269 | 4031 | Use |
4534 |
| 270 | 4039 | Because the log dialog shows you the log from HEAD, not from the current working copy revision, it often happens that there are log messages shown for content which has not yet been updated in your working copy. To help make this clearer, the commit message which corresponds to the revision you have in your working copy is shown in bold. | 4542 |
| 271 | 4043 | When you show the log for a folder the revision highlighted is the highest revision found anywhere within that folder, which requires a crawl of the working copy. The crawl takes place within a separate thread so as not to delay showing the log, but as a result highlighting for folders may not appear immediately. | 4546 |
| 272 | 4055 | Subversion 1.5 and later keeps a record of merges using properties. This allows us to get a more detailed history of merged changes. For example, if you develop a new feature on a branch and then merge that branch back to trunk, the feature development will show up on the trunk log as a single commit for the merge, even though there may have been 1000 commits during branch development. | 4560 |
| 273 | 4059 | The Log Dialog Showing Merge Tracking Revisions | 4564 |
| 274 | 4063 | If you want to see the detail of which revisions were merged as part of that commit, use the |
4568 |
| 275 | 4067 | Of course, merging is never simple! During feature development on the branch there will probably be occasional merges back from trunk to keep the branch in sync with the main line code. So the merge history of the branch will also include another layer of merge history. These different layers are shown in the log dialog using indentation levels. | 4572 |
| 276 | 4071 | Changing the Log Message and Author | 4576 |
| 277 | 4087 | Revision properties are completely different from the Subversion properties of each item. Revprops are descriptive items which are associated with one specific revision number in the repository, such as log message, commit date and committer name (author). | 4592 |
| 278 | 4091 | Sometimes you might want to change a log message you once entered, maybe because there's a spelling error in it or you want to improve the message or change it for other reasons. Or you want to change the author of the commit because you forgot to set up authentication or... | 4596 |
| 279 | 4095 | Subversion lets you change revision properties any time you want. But since such changes can't be undone (those changes are not versioned) this feature is disabled by default. To make this work, you must set up a pre-revprop-change hook. Please refer to the chapter on |
4600 |
| 280 | 4099 | Once you've set up your server with the required hooks, you can change the author and log message (or any other revprop) of any revision, using the context menu from the top pane of the Log dialog. You can also edit a log message using the context menu for the middle pane. | 4604 |
| 281 | 4103 | Because Subversion's revision properties are not versioned, making modifications to such a property (for example, the |
4608 |
| 282 | 4115 | If you want to restrict the log messages to show only those you are interested in rather than scrolling through a list of hundreds, you can use the filter controls at the top of the Log Dialog. The start and end date controls allow you to restrict the output to a known date range. The search box allows you to show only messages which contain a particular phrase. | 4620 |
| 283 | 4119 | Click on the search icon to select which information you want to search in, and to choose |
4624 |
| 284 | 4123 | Simple sub-string search works in a manner similar to a search engine. Strings to search for are separated by spaces, and all strings must match. You can use a leading Alice Bob -Eve\n !Alice Bob\n !-Alice -Bob\n \"Alice and Bob\"\n Alice and Bob \"\"\n \"Alice says \"\"hi\"\" to Bob\"\n Alice says \"hi\" to Bob |
4628 |
| 285 | 4127 | Describing the use of regular expression searches is beyond the scope of this manual, but you can find online documentation and a tutorial at |
4645 |
| 286 | 4131 | Note that these filters act on the messages already retrieved. They do not control downloading of messages from the repository. | 4649 |
| 287 | 4135 | You can also filter the path names in the bottom pane using the |
4653 |
| 288 | 4139 | Sometimes your working practices will require log messages to follow a particular format, which means that the text describing the changes is not visible in the abbreviated summary shown in the top pane. The property |
4657 |
| 289 | 4143 | No Log Formatting from Repository Browser | 4661 |
| 290 | 4147 | Because the formatting depends upon accessing subversion properties, you will only see the results when using a checked out working copy. Fetching properties remotely is a slow operation, so you will not see this feature in action from the repo browser. | 4665 |
| 291 | 4159 | The |
4678 |
| 292 | 4167 | This page gives you all the numbers you can think of, in particular the period and number of revisions covered, and some min/max/average values. | 4686 |
| 293 | 4183 | 4702 | |
| 294 | 4187 | Where there are a few major authors and many minor contributors, the number of tiny segments can make the graph more difficult to read. The slider at the bottom allows you to set a threshold (as a percentage of total commits) below which any activity is grouped into an |
4706 |
| 295 | 4199 | 4718 | |
| 296 | 4203 | When there are several authors, you will get many lines on the graph. There are two views available here: |
4722 |
| 297 | 4207 | By default the analysis is case-sensitive, so users |
4726 |
| 298 | 4211 | Note that the statistics cover the same period as the Log dialog. If that is only displaying one revision then the statistics will not tell you very much. | 4730 |
| 299 | 4223 | 4742 | |
| 300 | 4231 | Complete the current operation in offline mode, but retry the repository next time log data is requested. | 4750 |
| 301 | 4239 | Remain in offline mode until a repository check is specifically requested. See |
4758 |
| 302 | 4247 | If you don't want to continue the operation with possibly stale data, just cancel. | 4766 |
| 303 | 4251 | Here you have three options: |
4770 |
| 304 | 4255 | The |
4774 |
| 305 | 4264 | If you want to check the server again for newer log messages, you can simply refresh the view using |
4783 |
| 306 | 4268 | If you are using the log cache and you think the message content or author may have changed, you can use |
4787 |
| 307 | 4285 | One of the commonest requirements in project development is to see what has changed. You might want to look at the differences between two revisions of the same file, or the differences between two separate files. TortoiseSVN provides a built-in tool named |
4804 |
| 308 | 4297 | If you want to see what changes |
4816 |
| 309 | 4305 | If you want to see what has changed on trunk (if you are working on a branch) or on a specific branch (if you are working on trunk), you can use the explorer context menu. Just hold down the |
4825 |
| 310 | 4309 | You can also use the repository browser and select two trees to diff, perhaps two tags, or a branch/tag and trunk. The context menu there allows you to compare them using |
4829 |
| 311 | 4317 | If you want to see the difference between a particular revision and your working copy, use the Revision Log dialog, select the revision of interest, then select |
4837 |
| 312 | 4321 | If you want to see the difference between the last committed revision and your working copy, assuming that the working copy hasn't been modified, just right click on the file. Then select |
4841 |
| 313 | 4325 | Difference between two previous revisions | 4845 |
| 314 | 4329 | If you want to see the difference between two revisions which are already committed, use the Revision Log dialog and select the two revisions you want to compare (using the usual |
4849 |
| 315 | 4333 | If you did this from the revision log for a folder, a Compare Revisions dialog appears, showing a list of changed files in that folder. Read more in |
4853 |
| 316 | 4341 | If you want to see the changes made to all files in a particular revision in one view, you can use Unified-Diff output (GNU patch format). This shows only the differences with a few lines of context. It is harder to read than a visual file compare, but will show all the changes together. From the Revision Log dialog select the revision of interest, then select |
4861 |
| 317 | 4349 | If you want to see the differences between two different files, you can do that directly in explorer by selecting both files (using the usual |
4869 |
| 318 | 4353 | Difference between WC file/folder and a URL | 4873 |
| 319 | 4357 | If you want to see the differences between a file in your working copy, and a file in any Subversion repository, you can do that directly in explorer by selecting the file then holding down the |
4877 |
| 320 | 4365 | If you want to see not only the differences but also the author, revision and date that changes were made, you can combine the diff and blame reports from within the revision log dialog. Read |
4886 |
| 321 | 4373 | The built-in tools supplied with TortoiseSVN do not support viewing differences between directory hierarchies. But if you have an external tool which does support that feature, you can use that instead. In |
4894 |
| 322 | 4377 | If you have configured a third party diff tool, you can use |
4898 |
| 323 | 4381 | Line-end and Whitespace Options | 4902 |
| 324 | 4385 | Sometimes in the life of a project you might change the line endings from |
4906 |
| 325 | 4393 | 4915 | |
| 326 | 4405 | Naturally, any line with changed content is always included in the diff. | 4929 |
| 327 | 4425 | 4949 | |
| 328 | 4429 | This dialog shows a list of all files which have changed and allows you to compare or blame them individually using context menu. | 4953 |
| 329 | 4433 | You can export a |
4957 |
| 330 | 4437 | You can also export the |
4961 |
| 331 | 4441 | If you want to export the list of files |
4965 |
| 332 | 4445 | The button at the top allows you to change the direction of comparison. You can show the changes need to get from A to B, or if you prefer, from B to A. | 4969 |
| 333 | 4449 | The buttons with the revision numbers on can be used to change to a different revision range. When you change the range, the list of items which differ between the two revisions will be updated automatically. | 4973 |
| 334 | 4453 | If the list of filenames is very long, you can use the search box to reduce the list to filenames containing specific text. Note that a simple text search is used, so if you want to restrict the list to C source files you should enter |
4977 |
| 335 | 4457 | Diffing Images Using TortoiseIDiff | 4981 |
| 336 | 4469 | There are many tools available for diffing text files, including our own TortoiseMerge, but we often find ourselves wanting to see how an image file has changed too. That's why we created TortoiseIDiff. | 4993 |
| 337 | 4477 | 5002 | |
| 338 | 4481 | Naturally you can also zoom in and out and pan around the image. You can also pan the image simply by left-dragging it. If you select the |
5006 |
| 339 | 4485 | An image info box shows details about the image file, such as the size in pixels, resolution and colour depth. If this box gets in the way, use |
5010 |
| 340 | 4489 | When the images are overlaid, the relative intensity of the images (alpha blend) is controlled by a slider control at the left side. You can click anywhere in the slider to set the blend directly, or you can drag the slider to change the blend interactively. |
5014 |
| 341 | 4493 | The button above the slider toggles between 0% and 100% blends, and if you double click the button, the blend toggles automatically every second until you click the button again. This can be useful when looking for multiple small changes. | 5018 |
| 342 | 4497 | Sometimes you want to see a difference rather than a blend. You might have the image files for two revisions of a printed circuit board and want to see which tracks have changed. If you disable alpha blend mode, the difference will be shown as an |
5022 |
| 343 | 4513 | If the tools we provide don't do what you need, try one of the many open-source or commercial programs available. Everyone has their own favourites, and this list is by no means complete, but here are a few that you might consider: | 5039 |
| 344 | 4521 | 5047 | |
| 345 | 4529 | Perforce is a commercial RCS, but you can download the diff/merge tool for free. Get more information from |
5055 |
| 346 | 4537 | KDiff3 is a free diff tool which can also handle directories. You can download it from |
5063 |
| 347 | 4545 | ExamDiff Standard is freeware. It can handle files but not directories. ExamDiff Pro is shareware and adds a number of goodies including directory diff and editing capability. In both flavours, version 3.2 and above can handle unicode. You can download them from |
5071 |
| 348 | 4553 | Similar to ExamDiff Pro, this is an excellent shareware diff tool which can handle directory diffs and unicode. Download it from |
5080 |
| 349 | 4561 | Araxis Merge is a useful commercial tool for diff and merging both files and folders. It does three-way comparison in merges and has synchronization links to use if you've changed the order of functions. Download it from |
5089 |
| 350 | 4569 | This text editor includes syntax colouring for unified diffs, making them much easier to read. Download it from |
5097 |
| 351 | 4577 | Notepad2 is designed as a replacement for the standard Windows Notepad program, and is based on the Scintilla open-source edit control. As well as being good for viewing unified diffs, it is much better than the Windows notepad for most jobs. Download it for free |
5105 |
| 352 | 4581 | Read |
5109 |
| 353 | 4585 | Adding New Files And Directories | 5113 |
| 354 | 4602 | 5131 | |
| 355 | 4606 | After you added the files/directories to source control the file appears with a |
5135 |
| 356 | 4614 | You can also use the Add command on already versioned folders. In that case, the add dialog will show you all unversioned files inside that versioned folder. This helps if you have many new files and need to add them all at once. | 5143 |
| 357 | 4623 | 5153 | |
| 358 | 4628 | release the right mouse button | 5158 |
| 359 | 4632 | select |
5162 |
| 360 | 4636 | To add files from outside your working copy you can use the drag-and-drop handler: |
5166 |
| 361 | 4640 | You can also add files within a working copy simply by left-dragging and dropping them onto the commit dialog. | 5170 |
| 362 | 4644 | If you add a file or folder by mistake, you can undo the addition before you commit using |
5174 |
| 363 | 4648 | Copying/Moving/Renaming Files and Folders | 5178 |
| 364 | 4674 | It often happens that you already have the files you need in another project in your repository, and you simply want to copy them across. You could simply copy the files and add them as described above, but that would not give you any history. And if you subsequently fix a bug in the original files, you can only merge the fix automatically if the new copy is related to the original in Subversion. | 5204 |
| 365 | 4678 | The easiest way to copy files and folders from within a working copy is to use the right-drag menu. When you |
5208 |
| 366 | 4682 | You can also copy or move versioned files within a working copy, or between two working copies, using the familiar cut-and-paste method. Use the standard Windows |
5212 |
| 367 | 4686 | You can copy files and folders from your working copy to another location in the repository using |
5216 |
| 368 | 4690 | You can locate an older version of a file or folder in the log dialog and copy it to a new location in the repository directly from the log dialog using |
5220 |
| 369 | 4694 | You can also use the repository browser to locate content you want, and copy it into your working copy directly from the repository, or copy between two locations within the repository. Refer to |
5224 |
| 370 | 4698 | Cannot copy between repositories | 5228 |
| 371 | 4702 | Whilst you can copy or move files and folders |
5232 |
| 372 | 4706 | If you are uncertain whether two URLs on the same server refer to the same or different repositories, use the repo browser to open one URL and find out where the repository root is. If you can see both locations in one repo browser window then they are in the same repository. | 5236 |
| 373 | 5118 | Explorer property page, Subversion tab | 5648 |
| 374 | 5122 | 5652 | |
| 375 | 5138 | 5668 | |
| 376 | 5142 | You can add your own properties, or some properties with a special meaning in Subversion. These begin with |
5672 |
| 377 | 5158 | Date of last known commit. This is based on information obtained when you update your working copy. It does |
5689 |
| 378 | 5166 | Author who made the last known commit. | 5697 |
| 379 | 5170 | The full URL of this file in the repository. | 5701 |
| 380 | 5174 | A compressed combination of the previous four keywords. | 5705 |
| 381 | 5178 | Subversion supports CVS-like keyword expansion which can be used to embed filename and revision information within the file itself. Keywords currently supported are: |
5709 |
| 382 | 5182 | To find out how to use these keywords, look at the |
5713 |
| 383 | 5186 | For more information about properties in Subversion see the |
5717 |
| 384 | 5190 | Adding and Editing Properties | 5721 |
| 385 | 5198 | 5729 | |
| 386 | 5202 | If you want to apply a property to many items at once, select the files/folders in explorer, then select |
5733 |
| 387 | 5206 | If you want to apply the property to |
5737 |
| 388 | 5210 | Some properties, for example |
5741 |
| 389 | 5214 | If you wish to edit an existing property, select that property from the list of existing properties, then click on |
5745 |
| 390 | 5218 | If you wish to remove an existing property, select that property from the list of existing properties, then click on |
5749 |
| 391 | 5222 | The |
5753 |
| 392 | 5230 | Because properties are versioned, you cannot edit the properties of previous revisions. If you look at properties from the log dialog, or from a non-HEAD revision in the repository browser, you will see a list of properties and values, but no edit controls. | 5762 |
| 393 | 5234 | Exporting and Importing Properties | 5766 |
| 394 | 5238 | Often you will find yourself applying the same set of properties many times, for example |
5770 |
| 395 | 5242 | From the file or folder where the properties are already set, use |
5774 |
| 396 | 5246 | From the folder(s) where you wish to apply these properties, use |
5778 |
| 397 | 5250 | If you want to add properties to a tree recursively, follow the steps above, then in the property dialog select each property in turn, click on |
5782 |
| 398 | 5254 | The Import file format is binary and proprietary to TortoiseSVN. Its only purpose is to transfer properties using Import and Export, so there is no need to edit these files. | 5786 |
| 399 | 5262 | TortoiseSVN can handle binary property values using files. To read a binary property value, |
5794 |
| 400 | 5266 | Although binary properties are not often used, they can be useful in some applications. For example if you are storing huge graphics files, or if the application used to load the file is huge, you might want to store a thumbnail as a property so you can obtain a preview quickly. | 5798 |
| 401 | 5278 | You can configure Subversion and TortoiseSVN to set properties automatically on files and folders when they are added to the repository. There are two ways of doing this. | 5812 |
| 402 | 5282 | You can edit the subversion configuration file to enable this feature on your client. The |
5816 |
| 403 | 5286 | An alternative method is to set the |
5820 |
| 404 | 5290 | Whichever method you choose, you should note that auto-props are only applied to files at the time they are added to the repository. Auto-props will never change the properties of files which are already versioned. | 5824 |
| 405 | 5294 | If you want to be absolutely sure that new files have the correct properties applied, you should set up a repository pre-commit hook to reject commits where the required properties are not set. | 5828 |
| 406 | 5302 | Subversion properties are versioned. After you change or add a property you have to commit your changes. | 5836 |
| 407 | 5310 | If there's a conflict on committing the changes, because another user has changed the same property, Subversion generates a |
5845 |
| 408 | 5326 | 5862 | |
| 409 | 5330 | 5866 | |
| 410 | 5334 | 5870 | |
| 411 | 5338 | 5874 | |
| 412 | 5342 | Subversion allows you to set autopropswhich will be applied to newly added or imported files, based on the file extension. This depends on every client having set appropriate autoprops in their subversion configuration file. |
5878 |
| 413 | 5346 | If there is a conflict between the local autoprops and |
5882 |
| 414 | 5350 | In the Commit dialog you have the option to paste in the list of changed files, including the status of each file (added, modified, etc). |
5886 |
| 415 | 5354 | TortoiseSVN can use spell checker modules which are also used by OpenOffice and Mozilla. If you have those installed this property will determine which spell checker to use, i.e. in which language the log messages for your project should be written. |
5890 |
| 416 | 5358 | You can enter this value in decimal, or in hexadecimal if prefixed with |
5894 |
| 417 | 5362 | The property |
5898 |
| 418 | 5366 | The value of the |
5902 |
| 419 | 5370 | An example: [SUMMARY]in the log message and use that as the summary. |
5906 |
| 420 | 5374 | The property |
5910 |
| 421 | 5378 | The regular expression must match the whole reference, not just the revision number. The revision number is extracted from the matched reference string automatically. | 5914 |
| 422 | 5382 | If this property is not set, a default regular expression is used to link revision references. | 5918 |
| 423 | 5386 | When you want to add a new property, you can either pick one from the list in the combo box, or you can enter any property name you like. If your project uses some custom properties, and you want those properties to appear in the list in the combo box (to avoid typos when you enter a property name), you can create a list of your custom properties using |
5922 |
| 424 | 5390 | TortoiseSVN has a few special properties of its own, and these begin with |
5926 |
| 425 | 5395 | Some |
5931 |
| 426 | 5399 | TortoiseSVN can integrate with some bug tracking tools. This uses project properties that start with |
5935 |
| 427 | 5403 | It can also integrate with some web-based repository browsers, using project properties that start with |
5939 |
| 428 | 5407 | Set the project properties on folders | 5943 |
| 429 | 5411 | These special project properties must be set on |
5947 |
| 430 | 5417 | For project properties |
5953 |
| 431 | 5423 | When you add new sub-folders to a working copy using TortoiseSVN, any project properties present in the parent folder will automatically be added to the new child folder too. | 5959 |
| 432 | 5432 | Fetching properties remotely is a slow operation, so some of the features described above will not work in the repository browser as they do in a working copy. | 5968 |
| 433 | 5436 | When you add a property using the repo browser, only the standard |
5972 |
| 434 | 5440 | Properties cannot be set or deleted recursively using the repo browser. | 5976 |
| 435 | 5444 | Project properties will |
5980 |
| 436 | 5448 | 5984 | |
| 437 | 5452 | Although TortoiseSVN's project properties are extremely useful, they only work with TortoiseSVN, and some will only work in newer versions of TortoiseSVN. If people working on your project use a variety of Subversion clients, or possibly have old versions of TortoiseSVN, you may want to use repository hooks to enforce project policies. project properties can only help to implement a policy, they cannot enforce it. | 5988 |
| 438 | 5616 | One of the features of version control systems is the ability to isolate changes onto a separate line of development. This line is known as a |
6192 |
| 439 | 5620 | Another feature of version control systems is the ability to mark particular revisions (e.g. a release version), so you can at any time recreate a certain build or environment. This process is known as |
6196 |
| 440 | 5624 | Subversion does not have special commands for branching or tagging, but uses so-called cheap copiesinstead. Cheap copies are similar to hard links in Unix, which means that instead of making a complete copy in the repository, an internal link is created, pointing to a specific tree/revision. As a result branches and tags are very quick to create, and take up almost no extra space in the repository. |
6200 |
| 441 | 5636 | If you have imported your project with the recommended directory structure, creating a branch or tag version is very simple: |
6212 |
| 442 | 5640 | The default destination URL for the new branch will be the source URL on which your working copy is based. You will need to edit that URL to the new path for your branch/tag. So instead of http://svn.collab.net/repos/ProjectName/trunk\n http://svn.collab.net/repos/ProjectName/tags/Release_1.10\n |
6216 |
| 443 | 5649 | The new branch is copied directly in the repository from the HEAD revision. No data needs to be transferred from your working copy, and the branch is created very quickly. | 6230 |
| 444 | 5657 | The new branch is copied directly in the repository but you can choose an older revision. This is useful if you forgot to make a tag when you released your project last week. If you can't remember the revision number, click the button on the right to show the revision log, and select the revision number from there. Again no data is transferred from your working copy, and the branch is created very quickly. | 6238 |
| 445 | 5661 | The new branch is an identical copy of your local working copy. If you have updated some files to an older revision in your WC, or if you have made local changes, that is exactly what goes into the copy. Naturally this sort of complex tag may involve transferring data from your WC back to the repository if it does not exist there already. | 6242 |
| 446 | 5665 | Now you have to select the source of the copy. Here you have three options: |
6246 |
| 447 | 5669 | If you want your working copy to be switched to the newly created branch automatically, use the |
6250 |
| 448 | 5673 | Press |
6254 |
| 449 | 5677 | Note that unless you opted to switch your working copy to the newly created branch, creating a Branch or Tag does |
6258 |
| 450 | 5681 | Other ways to create a branch or tag | 6262 |
| 451 | 5685 | You can also create a branch or tag without having a working copy. To do that, open the repository browser. You can there drag folders to a new location. You have to hold down the |
6266 |
| 452 | 5689 | You can also drag a folder with the right mouse button. Once you release the mouse button you can choose from the context menu whether you want the folder to be moved or copied. Of course to create a branch or tag you must copy the folder, not move it. | 6270 |
| 453 | 5693 | Yet another way is from the log dialog. You can show the log dialog for e.g. trunk, select a revision (either the HEAD revision at the very top or an earlier revision), right-click and choose |
6274 |
| 454 | 5705 | ...that is (not really) the question. While a checkout downloads everything from the desired branch in the repository to your working directory, |
6286 |
| 455 | 5709 | 6290 | |
| 456 | 5713 | Switch your current working copy to the newly created copy in the repository. Again select the top level folder of your project and use |
6294 |
| 457 | 5717 | In the next dialog enter the URL of the branch you just created. Select the |
6298 |
| 458 | 5721 | Switch works just like Update in that it never discards your local changes. Any changes you have made to your working copy which have not yet been committed will be merged when you do the Switch. If you do not want this to happen then you must either commit the changes before switching, or revert your working copy to an already-committed revision (typically HEAD). | 6302 |
| 459 | 5725 | If you want to work on trunk and branch, but don't want the expense of a fresh checkout, you can use Windows Explorer to make a copy of your trunk checkout in another folder, then |
6306 |
| 460 | 5733 | To be able to work with your freshly generated branch or tag you have several ways to handle it. You can: |
6314 |
| 461 | 5737 | Tags are typically used to create a static snapshot of the project at a particular stage. As such they are not normally used for development - that's what branches are for, which is the reason we recommended the |
6318 |
| 462 | 5741 | It may be that you need to make further changes to a release which you have already tagged. The correct way to handle this is to create a new branch from the tag first and commit the branch. Do your Changes on this branch and then create a new tag from this new branch, e.g. |
6322 |
| 463 | 5745 | If you modify a working copy created from a branch and commit, then all changes go to the new branch and |
6326 |
| 464 | 5749 | Although Subversion itself makes no distinction between tags and branches, the way they are typically used differs a bit. |
6330 |
| 465 | 5764 | Where branches are used to maintain separate lines of development, at some stage you will want to merge the changes made on one branch back into the trunk, or vice versa. | 6345 |
| 466 | 5768 | It is important to understand how branching and merging works in Subversion before you start using it, as it can become quite complex. It is highly recommended that you read the chapter |
6349 |
| 467 | 5772 | The next point to note is that merging |
6353 |
| 468 | 5776 | In general it is a good idea to perform a merge into an unmodified working copy. If you have made other changes in your WC, commit those first. If the merge does not go as you expect, you may want to revert the changes, and the |
6357 |
| 469 | 5780 | There are three common use cases for merging which are handled in slightly different ways, as described below. The first page of the merge wizard asks you to select the method you need. | 6361 |
| 470 | 5792 | What you are asking Subversion to do is this: Calculate the changes necessary to get [FROM] revision 1 of branch A [TO] revision 7 of branch A, and apply those changes to my working copy (of trunk or branch B). |
6375 |
| 471 | 5801 | This method covers the case when you have made a feature branch as discussed in the Subversion book. All trunk changes have been ported to the feature branch, week by week, and now the feature is complete you want to merge it back into the trunk. Because you have kept the feature branch synchronized with the trunk, the latest versions of branch and trunk will be absolutely identical except for your branch changes. | 6384 |
| 472 | 5805 | This is a special case of the tree merge described below, and it requires only the URL to merge from (normally) your development branch. It uses the merge-tracking features of Subversion to calculate the correct revision ranges to use, and perform additional checks which ensure that the branch has been fully updated with trunk changes. This ensures that you don't accidentally undo work that others have committed to trunk since you last synchronized changes. | 6388 |
| 473 | 5809 | After the merge, all branch development has been completely merged back into the main development line. The branch is now redundant and can be deleted. | 6392 |
| 474 | 5813 | Once you have performed a reintegrate merge you should not continue to use it for development. The reason for this is that if you try to resynchronize your existing branch from trunk later on, merge tracking will see your reintegration as a trunk change that has not yet been merged into the branch, and will try to merge the branch-to-trunk merge back into the branch! The solution to this is simply to create a new branch from trunk to continue the next phase of your development. | 6396 |
| 475 | 5821 | This is a more general case of the reintegrate method. What you are asking Subversion to do is: Calculate the changes necessary to get [FROM] the head revision of the trunk [TO] the head revision of the branch, and apply those changes to my working copy (of the trunk).The net result is that trunk now looks exactly like the branch. |
6404 |
| 476 | 5825 | If your server/repository does not support merge-tracking then this is the only way to merge a branch back to trunk. Another use case occurs when you are using vendor branches and you need to merge the changes following a new vendor drop into your trunk code. For more information read the chapter on |
6408 |
| 477 | 5841 | 6425 | |
| 478 | 5845 | In the |
6429 |
| 479 | 5849 | There is an important difference in the way a revision range is specified with TortoiseSVN compared to the command line client. The easiest way to visualise it is to think of a fence with posts and fence panels. | 6433 |
| 480 | 5853 | With the command line client you specify the changes to merge using two fence postrevisions which specify the |
6437 |
| 481 | 5857 | With TortoiseSVN you specify the changeset to merge using fence panels. The reason for this becomes clear when you use the log dialog to specify revisions to merge, where each revision appears as a changeset. |
6441 |
| 482 | 5861 | If you are merging revisions in chunks, the method shown in the subversion book will have you merge 100-200 this time and 200-300 next time. With TortoiseSVN you would merge 100-200 this time and 201-300 next time. | 6445 |
| 483 | 5865 | This difference has generated a lot of heat on the mailing lists. We acknowledge that there is a difference from the command line client, but we believe that for the majority of GUI users it is easier to understand the method we have implemented. | 6449 |
| 484 | 5869 | The easiest way to select the range of revisions you need is to click on |
6453 |
| 485 | 5873 | If you want to merge changes back |
6457 |
| 486 | 5877 | If you have already merged some changes from this branch, hopefully you will have made a note of the last revision merged in the log message when you committed the change. In that case, you can use |
6461 |
| 487 | 5881 | If you are using the merge tracking features of Subversion, you do not need to remember which revisions have already been merged - Subversion will record that for you. If you leave the revision range blank, all revisions which have not yet been merged will be included. Read |
6465 |
| 488 | 5885 | If other people may be committing changes then be careful about using the HEAD revision. It may not refer to the revision you think it does if someone else made a commit after your last update. | 6469 |
| 489 | 5889 | Click |
6473 |
| 490 | 5901 | 6486 | |
| 491 | 5905 | In the |
6490 |
| 492 | 5909 | There are some conditions which apply to a reintegrate merge. Firstly, the server must support merge tracking. The working copy must be of depth infinite (no sparse checkouts), and it must not have any local modifications, switched items or items that have been updated to revisions other than HEAD. All changes to trunk made during branch development must have been merged across to the branch (or marked as having been merged). The range of revisions to merge will be calculated automatically. | 6494 |
| 493 | 5925 | 6511 | |
| 494 | 5929 | In the |
6515 |
| 495 | 5933 | In the |
6519 |
| 496 | 5937 | In both the |
6523 |
| 497 | 5941 | You can also use |
6527 |
| 498 | 5949 | This page of the wizard lets you specify advanced options, before starting the merge process. Most of the time you can just use the default settings. | 6535 |
| 499 | 5953 | You can specify the depth to use for the merge, i.e. how far down into your working copy the merge should go. The depth terms used are described in |
6539 |
| 500 | 5957 | Most of the time you want merge to take account of the file's history, so that changes relative to a common ancestor are merged. Sometimes you may need to merge files which are perhaps related, but not in your repository. For example you may have imported versions 1 and 2 of a third party library into two separate directories. Although they are logically related, Subversion has no knowledge of this because it only sees the tarballs you imported. If you attempt to merge the difference between these two trees you would see a complete removal followed by a complete add. To make Subversion use only path-based differences rather than history-based differences, check the |
6543 |
| 501 | 5961 | You can specify the way that line ending and whitespace changes are handled. These options are described in |
6547 |
| 502 | 5965 | The checkbox marked |
6551 |
| 503 | 5969 | If you are using merge tracking and you want to mark a revision as having been merged, without actually doing the merge here, check the |
6555 |
| 504 | 5973 | Now everything is set up, all you have to do is click on the |
6559 |
| 505 | 5977 | The merge progress dialog shows each stage of the merge, with the revision ranges involved. This may indicate one more revision than you were expecting. For example if you asked to merge revision 123 the progress dialog will report Merging revisions 122 through 123. To understand this you need to remember that Merge is closely related to Diff. The merge process works by generating a list of differences between two points in the repository, and applying those differences to your working copy. The progress dialog is simply showing the start and end points for the diff. |
6563 |
| 506 | 5985 | The merge is now complete. It's a good idea to have a look at the merge and see if it's as expected. Merging is usually quite complicated. Conflicts often arise if the branch has drifted far from the trunk. | 6572 |
| 507 | 5989 | For Subversion clients and servers prior to 1.5, no merge information is stored and merged revisions have to be tracked manually. When you have tested the changes and come to commit this revision, your commit log message should |
6576 |
| 508 | 5993 | If your server and all clients are running Subversion 1.5 or higher, the merge tracking facility will record the revisions merged and avoid a revision being merged more than once. This makes your life much simpler as you can simply merge the entire revision range each time and know that only new revisions will actually be merged. | 6580 |
| 509 | 5997 | Branch management is important. If you want to keep this branch up to date with the trunk, you should be sure to merge often so that the branch and trunk do not drift too far apart. Of course, you should still avoid repeated merging of changes, as explained above. | 6584 |
| 510 | 6001 | If you have just merged a feature branch back into the trunk, the trunk now contains all the new feature code, and the branch is obsolete. You can now delete it from the repository if required. | 6588 |
| 511 | 6005 | Subversion can't merge a file with a folder and vice versa - only folders to folders and files to files. If you click on a file and open up the merge dialog, then you have to give a path to a file in that dialog. If you select a folder and bring up the dialog, then you must specify a folder URL for the merge. | 6592 |
| 512 | 6017 | You can avoid the danger of merging the same revision twice (repeated merge problem). Once a revision is marked as having been merged, future merges which include that revision in the range will skip over it. | 6604 |
| 513 | 6021 | When you merge a branch back into trunk, the log dialog can show you the branch commits as part of the trunk log, giving better traceability of changes. | 6608 |
| 514 | 6025 | When you show the log dialog from within the merge dialog, revisions already merged are shown in grey. | 6612 |
| 515 | 6029 | When showing blame information for a file, you can choose to show the original author of merged revisions, rather than the person who did the merge. | 6616 |
| 516 | 6033 | You can mark revisions as |
6620 |
| 517 | 6037 | Subversion 1.5 introduced facilities for merge tracking. When you merge changes from one tree into another, the revision numbers merged are stored and this information can be used for several different purposes. |
6624 |
| 518 | 6041 | Merge tracking information is stored in the |
6628 |
| 519 | 6045 | Find out more about merge tracking from Subversion's |
6632 |
| 520 | 6061 | Merging does not always go smoothly. Sometimes there is a conflict, and if you are merging multiple ranges, you generally want to resolve the conflict before merging of the next range starts. TortoiseSVN helps you through this process by showing the |
6650 |
| 521 | 6065 | Choosing |
6654 |
| 522 | 6069 | Normally you will want to look at the conflicts and resolve them yourself. In that case, choose the |
6658 |
| 523 | 6073 | The last option is to postpone resolution and continue with merging. You can choose to do that for the current conflicted file, or for all files in the rest of the merge. However, if there are further changes in that file, it will not be possible to complete the merge. | 6662 |
| 524 | 6077 | It is likely that some of the changes will have merged smoothly, while other local changes conflict with changes already committed to the repository. All changes which can be merged are merged. The Merge Conflict Callback dialog gives you three different ways of handling the lines which are in conflict. |
6666 |
| 525 | 6081 | If you do not want to use this interactive callback, there is a checkbox in the merge progress dialog |
6670 |
| 526 | 6097 | If you want to merge all changes from a feature branch back to trunk, then you can use the |
6689 |
| 527 | 6105 | When you develop a new feature on a separate branch it is a good idea to work out a policy for re-integration when the feature is complete. If other work is going on in |
6698 |
| 528 | 6109 | If the feature is relatively simple and development will not take long then you can adopt a simple approach, which is to keep the branch entirely separate until the feature is complete, then merge the branch changes back into trunk. In the merge wizard this would be a simple |
6702 |
| 529 | 6113 | If the feature is going to take longer and you need to account for changes in |
6706 |
| 530 | 6129 | You are using unmergeablefiles, for example, graphics files. If two people change the same file, merging is not possible, so one of you will lose their changes. |
6722 |
| 531 | 6133 | Your company has always used a locking revision control system in the past and there has been a management decision that locking is best. |
6726 |
| 532 | 6137 | Subversion generally works best without locking, using the Copy-Modify-Mergemethods described earlier in |
6730 |
| 533 | 6141 | Firstly you need to ensure that your Subversion server is upgraded to at least version 1.2. Earlier versions do not support locking at all. If you are using |
6734 |
| 534 | 6145 | How Locking Works in Subversion | 6738 |
| 535 | 6149 | By default, nothing is locked and anyone who has commit access can commit changes to any file at any time. Others will update their working copies periodically and changes in the repository will be merged with local changes. | 6742 |
| 536 | 6153 | If you |
6746 |
| 537 | 6157 | However, other users will not necessarily know that you have taken out a lock. Unless they check the lock status regularly, the first they will know about it is when their commit fails, which in most cases is not very useful. To make it easier to manage locks, there is a new Subversion property |
6750 |
| 538 | 6161 | Locks are recorded by working copy location as well as by owner. If you have several working copies (at home, at work) then you can only hold a lock in |
6754 |
| 539 | 6165 | If one of your co-workers acquires a lock and then goes on holiday without releasing it, what do you do? Subversion provides a means to force locks. Releasing a lock held by someone else is referred to as |
6758 |
| 540 | 6169 | Locks are recorded in the repository, and a lock token is created in your local working copy. If there is a discrepancy, for example if someone else has broken the lock, the local lock token becomes invalid. The repository is always the definitive reference. | 6762 |
| 541 | 6181 | Select the file(s) in your working copy for which you want to acquire a lock, then select the command |
6775 |
| 542 | 6185 | If you select a folder and then use |
6779 |
| 543 | 6193 | To make sure you don't forget to release a lock you don't need any more, locked files are shown in the commit dialog and selected by default. If you continue with the commit, locks you hold on the selected files are removed, even if the files haven't been modified. If you don't want to release a lock on certain files, you can uncheck them (if they're not modified). If you want to keep a lock on a file you've modified, you have to enable the |
6787 |
| 544 | 6197 | To release a lock manually, select the file(s) in your working copy for which you want to release the lock, then select the command |
6791 |
| 545 | 6209 | 6805 | |
| 546 | 6213 | From the context menu here, you can also get and release locks, as well as breaking and stealing locks held by others. | 6809 |
| 547 | 6217 | Avoid Breaking and Stealing Locks | 6813 |
| 548 | 6221 | If you break or steal someone else's lock without telling them, you could potentially cause loss of work. If you are working with unmergeable file types and you steal someone else's lock, once you release the lock they are free to check in their changes and overwrite yours. Subversion doesn't lose data, but you have lost the team-working protection that locking gave you. | 6817 |
| 549 | 6225 | Making Non-locked Files Read-Only | 6821 |
| 550 | 6229 | As mentioned above, the most effective way to use locking is to set the |
6825 |
| 551 | 6233 | If you operate a policy where every file has to be locked then you may find it easier to use Subversion's auto-props feature to set the property automatically every time you add new files. Read |
6829 |
| 552 | 6241 | When you create a new repository with Subversion 1.2 or higher, four hook templates are created in the repository |
6838 |
| 553 | 6245 | It is a good idea to install a |
6842 |
| 554 | 6249 | You might also use hooks to disallow breaking or stealing of locks, or perhaps limit it to a named administrator. Or maybe you want to email the owner when one of their locks is broken or stolen. | 6846 |
| 555 | 6253 | Read |
6850 |
| 556 | 6257 | Creating and Applying Patches | 6854 |
| 557 | 6269 | For open source projects (like this one) everyone has read access to the repository, and anyone can make a contribution to the project. So how are those contributions controlled? If just anyone could commit changes, the project would be permanently unstable and probably permanently broken. In this situation the change is managed by submitting a |
6867 |
| 558 | 6273 | Patch files are simply Unified-Diff files showing the differences between your working copy and the base revision. | 6871 |
| 559 | 6281 | First you need to make |
6880 |
| 560 | 6289 | you can now select the files you want included in the patch, just as you would with a full commit. This will produce a single file containing a summary of all the changes you have made to the selected files since the last update from the repository. | 6889 |
| 561 | 6293 | You can produce separate patches containing changes to different sets of files. Of course, if you create a patch file, make some more changes to the |
6893 |
| 562 | 6297 | Just save the file using a filename of your choice. Patch files can have any extension you like, but by convention they should use the |
6897 |
| 563 | 6301 | You can also save the patch to the clipboard instead of to a file. You might want to do this so that you can paste it into an email for review by others. Or if you have two working copies on one machine and you want to transfer changes from one to the other, a patch on the clipboard is a convenient way of doing this. | 6901 |
| 564 | 6309 | Patch files are applied to your working copy. This should be done from the same folder level as was used to create the patch. If you are not sure what this is, just look at the first line of the patch file. For example, if the first file being worked on was |
6910 |
| 565 | 6313 | In order to apply a patch file to your working copy, you need to have at least read access to the repository. The reason for this is that the merge program must reference the changes back to the revision against which they were made by the remote developer. | 6914 |
| 566 | 6317 | From the context menu for that folder, click on All files. If you previously saved a patch to the clipboard, you can use |
6918 |
| 567 | 6321 | Alternatively, if the patch file has a |
6922 |
| 568 | 6325 | These two methods just offer different ways of doing the same thing. With the first method you select the WC and browse to the patch file. With the second you select the patch file and browse to the WC. | 6926 |
| 569 | 6329 | Once you have selected the patch file and working copy location, TortoiseMerge runs to merge the changes from the patch file with your working copy. A small window lists the files which have been changed. Double click on each one in turn, review the changes and save the merged files. | 6930 |
| 570 | 6333 | The remote developer's patch has now been applied to your working copy, so you need to commit to allow everyone else to access the changes from the repository. | 6934 |
| 571 | 6337 | Who Changed Which Line? | 6938 |
| 572 | 6349 | praise | 6950 |
| 573 | 6353 | Sometimes you need to know not only what lines have changed, but also who exactly changed specific lines in a file. That's when the |
6954 |
| 574 | 6357 | This command lists, for every line in a file, the author and the revision the line was changed. | 6958 |
| 575 | 6369 | 6972 | |
| 576 | 6373 | By default the blame file is viewed using |
6976 |
| 577 | 6377 | You can specify the way that line ending and whitespace changes are handled. These options are described in |
6980 |
| 578 | 6381 | Once you press |
6984 |
| 579 | 6389 | 6993 | |
| 580 | 6393 | If you |
6997 |
| 581 | 6397 | The revision comments (log message) are shown in a hint box whenever the mouse hovers over the blame info column. If you want to copy the log message for that revision, use the context menu which appears when you right click on the blame info column. | 7001 |
| 582 | 6401 | You can search within the Blame report using |
7005 |
| 583 | 6405 | You can also jump to a specific line number using |
7009 |
| 584 | 6409 | When the mouse is over the blame info columns, a context menu is available which helps with comparing revisions and examining history, using the revision number of the line under the mouse as a reference. |
7013 |
| 585 | 6413 | If you need a better visual indicator of where the oldest and newest changes are, select |
7017 |
| 586 | 6417 | If you are using Merge Tracking, where lines have changed as a result of merging from another path, TortoiseBlame will show the revision and author of the last change in the original file rather than the revision where the merge took place. These lines are indicated by showing the revision and author in italics. If you do not want merged lines shown in this way, uncheck the |
7021 |
| 587 | 6421 | If you want to see the paths involved in the merge, select |
7025 |
| 588 | 6425 | The settings for TortoiseBlame can be accessed using |
7029 |
| 589 | 6433 | One of the limitations of the Blame report is that it only shows the file as it was in a particular revision, and shows the last person to change each line. Sometimes you want to know what change was made, as well as who made it. What you need here is a combination of the diff and blame reports. | 7037 |
| 590 | 6441 | In the top pane, select 2 revisions, then select |
7045 |
| 591 | 6449 | Select one revision in the top pane, then pick one file in the bottom pane and select |
7053 |
| 592 | 6457 | Show the log for a single file, and in the top pane, select a single revision, then select |
7062 |
| 593 | 6461 | The revision log dialog includes several options which allow you to do this. |
7066 |
| 594 | 6482 | Sometimes you need to work directly on the repository, without having a working copy. That's what the |
7088 |
| 595 | 6486 | The repository browser looks very similar to the Windows explorer, except that it is showing the content of the repository at a particular revision rather than files on your computer. In the left pane you can see a directory tree, and in the right pane are the contents of the selected directory. At the top of the Repository Browser Window you can enter the URL of the repository and the revision you want to browse. | 7092 |
| 596 | 6490 | Just like Windows explorer, you can click on the column headings in the right pane if you want to set the sort order. And as in explorer there are context menus available in both panes. | 7096 |
| 597 | 6494 | Save an unversioned copy of the file to your hard drive. | 7100 |
| 598 | 6498 | Show the revision log for that file, or show a graph of all revisions so you can see where the file came from. | 7104 |
| 599 | 6502 | Blame the file, to see who changed which line and when. | 7108 |
| 600 | 6510 | Make a copy of the file, either to a different part of the repository, or to a working copy rooted in the same repository. | 7117 |
| 601 | 6518 | The context menu for a file allows you to: |
7126 |
| 602 | 6522 | Show the revision log for that folder, or show a graph of all revisions so you can see where the folder came from. | 7130 |
| 603 | 6526 | Export the folder to a local unversioned copy on your hard drive. | 7134 |
| 604 | 6530 | Checkout the folder to produce a local working copy on your hard drive. | 7138 |
| 605 | 6538 | Add files or folders directly to the repository. | 7147 |
| 606 | 6546 | Make a copy of the folder, either to a different part of the repository, or to a working copy rooted in the same repository. This can also be used to create a branch/tag without the need to have a working copy checked out. | 7156 |
| 607 | 6550 | View/Edit the folder's properties. | 7160 |
| 608 | 6554 | Mark the folder for comparison. A marked folder is shown in bold. | 7164 |
| 609 | 6558 | Compare the folder with a previously marked folder, either as a unified diff, or as a list of changed files which can then be visually diffed using the default diff tool. This can be particularly useful for comparing two tags, or trunk and branch to see what changed. | 7168 |
| 610 | 6562 | The context menu for a folder allows you to: |
7172 |
| 611 | 6566 | If you select two folders in the right pane, you can view the differences either as a unified-diff, or as a list of files which can be visually diffed using the default diff tool. | 7176 |
| 612 | 6570 | If you select multiple folders in the right pane, you can checkout all of them at once into a common parent folder. | 7180 |
| 613 | 6574 | If you select 2 tags which are copied from the same root (typically |
7184 |
| 614 | 6578 | You can use |
7188 |
| 615 | 6582 | You can also use the repository browser for drag-and-drop operations. If you drag a folder from explorer into the repo-browser, it will be imported into the repository. Note that if you drag multiple items, they will be imported in separate commits. | 7192 |
| 616 | 6586 | If you want to move an item within the repository, just plussymbol on it, just as it does in Explorer. |
7196 |
| 617 | 6590 | If you want to copy/move a file or folder to another location and also give it a new name at the same time, you can |
7200 |
| 618 | 6594 | Whenever you make changes in the repository using one of these methods, you will be presented with a log message entry dialog. If you dragged something by mistake, this is also your chance to cancel the action. | 7204 |
| 619 | 6598 | Sometimes when you try to open a path you will get an error message in place of the item details. This might happen if you specified an invalid URL, or if you don't have access permission, or if there is some other server problem. If you need to copy this message to include it in an email, just right click on it and use |
7208 |
| 620 | 6618 | 7228 | |
| 621 | 6622 | This command analyses the revision history and attempts to create a tree showing the points at which copies were taken, and when branches/tags were deleted. | 7232 |
| 622 | 6626 | In order to generate the graph, TortoiseSVN must fetch all log messages from the repository root. Needless to say this can take several minutes even with a repository of a few thousand revisions, depending on server speed, network bandwidth, etc. If you try this with something like the |
7236 |
| 623 | 6630 | The good news is that if you are using log caching, you only have to suffer this delay once. After that, log data is held locally. Log caching is enabled in TortoiseSVN's settings. | 7240 |
| 624 | 6642 | Items which have been added, or created by copying another file/folder are shown using a rounded rectangle. The default colour is green. Tags and trunks are treated as a special case and use a different shade, depending on the |
7253 |
| 625 | 6650 | Deleted items eg. a branch which is no longer required, are shown using an octagon (rectangle with corners cut off). The default colour is red. | 7261 |
| 626 | 6658 | Renamed items are also shown using an octagon, but the default colour is blue. | 7269 |
| 627 | 6666 | The graph is normally restricted to showing branch points, but it is often useful to be able to see the respective HEAD revision for each branch too. If you select |
7278 |
| 628 | 6674 | If you invoked the revision graph from a working copy, you can opt to show the BASE revision on the graph using |
7287 |
| 629 | 6682 | If you invoked the revision graph from a working copy, you can opt to show an additional node representing your modified working copy using |
7296 |
| 630 | 6690 | All other items are shown using a plain rectangle. | 7304 |
| 631 | 6694 | Each revision graph node represents a revision in the repository where something changed in the tree you are looking at. Different types of node can be distinguished by shape and colour. The shapes are fixed, but colours can be set using |
7308 |
| 632 | 6698 | Note that by default the graph only shows the points at which items were added, copied or deleted. Showing every revision of a project will generate a very large graph for non-trivial cases. If you really want to see |
7312 |
| 633 | 6702 | The default view (grouping off) places the nodes such that their vertical position is in strict revision order, so you have a visual cue for the order in which things were done. Where two nodes are in the same column the order is very obvious. When two nodes are in adjacent columns the offset is much smaller because there is no need to prevent the nodes from overlapping, and as a result the order is a little less obvious. Such optimisations are necessary to keep complex graphs to a reasonable size. Please note that this ordering uses the |
7316 |
| 634 | 6714 | The default behavior (grouping off) has all rows sorted strictly by revision. As a result, long-living branches with sparse commits occupy a whole column for only a few changes and the graph becomes very broad. | 7330 |
| 635 | 6718 | This mode groups changes by branch, so that there is no global revision ordering: Consecutive revisions on a branch will be shown in (often) consecutive lines. Sub-branches, however, are arranged in such a way that later branches will be shown in the same column above older branches to keep the graph slim. As a result, a given row may contain changes from different revisions. | 7334 |
| 636 | 6726 | Normally the graph shows the oldest revision at the bottom, and the tree grows upwards. Use this option to grow down from the top instead. | 7342 |
| 637 | 6734 | When a graph is broken into several smaller trees, the trees may appear either in natural revision order, or aligned at the bottom of the window, depending on whether you are using the |
7351 |
| 638 | 6742 | If the layout of the graph has produced a lot of crossing lines, use this option to clean it up. This may make the layout columns appear in less logical places, for example in a diagonal line rather than a column, and the graph may require a larger area to draw. | 7360 |
| 639 | 6750 | Long path names can take a lot of space and make the node boxes very large. Use this option to show only the changed part of a path, replacing the common part with dots. E.g. if you create a branch |
7369 |
| 640 | 6758 | This does just what you expect and shows every revision where something (in the tree that you are graphing) has changed. For long histories this can produce a truly huge graph. | 7378 |
| 641 | 6766 | This ensures that the latest revision on every branch is always shown on the graph. | 7387 |
| 642 | 6774 | When a branch/tag is made, the default behaviour is to show the branch as taken from the last node where a change was made. Strictly speaking this is inaccurate since the branches are often made from the current HEAD rather than a specific revision. So it is possible to show the more correct (but less useful) revision that was used to create the copy. Note that this revision may be younger than the HEAD revision of the source branch. | 7396 |
| 643 | 6782 | When a project has many tags, showing every tag as a separate node on the graph takes a lot of space and obscures the more interesting development branch structure. At the same time you may need to be able to access the tag content easily so that you can compare revisions. This option hides the nodes for tags and shows them instead in the tooltip for the node that they were copied from. A tag icon on the right side of the source node indicates that tags were made. | 7405 |
| 644 | 6790 | Hides paths which are no longer present at the HEAD revision of the repository, e.g. deleted branches. | 7414 |
| 645 | 6798 | Hides branches where no changes were committed to the respective file or sub-folder. This does not necessarily indicate that the branch was not used, just that no changes were made to |
7423 |
| 646 | 6806 | Marks the revision on the graph which corresponds to the update revision of the item you fetched the graph for. If you have just updated, this will be HEAD, but if others have committed changes since your last update your WC may be a few revisions lower down. The node is marked by giving it a bold outline. | 7432 |
| 647 | 6814 | If your WC contains local changes, this option draws it as a separate elliptical node, linked back to the node that your WC was last updated to. The default outline colour is red. You may need to refresh the graph using |
7441 |
| 648 | 6822 | Sometimes the revision graph contains more revisions than you want to see. This option opens a dialog which allows you to restrict the range of revisions displayed, and to hide particular paths by name. | 7449 |
| 649 | 6830 | Where the graph contains several trees, it is sometimes useful to use alternating colours on the background to help distinguish between trees. | 7458 |
| 650 | 6838 | Shows a small picture of the entire graph, with the current view window as a rectangle which you can drag. This allows you to navigate the graph more easily. Note that for very large graphs the overview may become useless due to the extreme zoom factor and will therefore not be shown in such cases. | 7467 |
| 651 | 6842 | Because a revision graph is often quite complex, there are a number of features which can be used to tailor the view the way you want it. These are available in the |
7471 |
| 652 | 6850 | To make it easier to navigate a large graph, use the overview window. This shows the entire graph in a small window, with the currently displayed portion highlighted. You can drag the highlighted area to change the displayed region. | 7480 |
| 653 | 6854 | The revision date, author and comments are shown in a hint box whenever the mouse hovers over a revision box. | 7484 |
| 654 | 6858 | If you select two revisions (Use |
7488 |
| 655 | 6862 | You can view the differences as a Unified-Diff file, which shows all differences in a single file with minimal context. If you opt to |
7492 |
| 656 | 6866 | If you |
7496 |
| 657 | 6870 | You can also merge changes in the selected revision(s) into a different working copy. A folder selection dialog allows you to choose the working copy to merge into, but after that there is no confirmation dialog, nor any opportunity to try a test merge. It is a good idea to merge into an unmodified working copy so that you can revert the changes if it doesn't work out! This is a useful feature if you want to merge selected revisions from one branch to another. | 7500 |
| 658 | 6874 | Learn to Read the Revision Graph | 7504 |
| 659 | 6878 | First-time users may be surprised by the fact that the revision graph shows something that does not match the user's mental model. If a revision changes multiple copies or branches of a file or folder, for instance, then there will be multiple nodes for that single revision. It is a good practice to start with the leftmost options in the toolbar and customize the graph step-by-step until it comes close to your mental model. | 7508 |
| 660 | 6882 | All filter options try lose as little information as possible. That may cause some nodes to change their color, for instance. Whenever the result is unexpected, undo the last filter operation and try to understand what is special about that particular revision or branch. In most cases, the initially expected outcome of the filter operation would either be inaccurate or misleading. | 7512 |
| 661 | 6886 | If you want to check the server again for newer information, you can simply refresh the view using |
7516 |
| 662 | 6890 | If you are using the log cache and you think the message content or author may have changed, you should use the log dialog to refresh the messages you need. Since the revision graph works from the repository root, we would have to invalidate the entire log cache, and refilling it could take a |
7520 |
| 663 | 6898 | A large tree can be difficult to navigate and sometimes you will want to hide parts of it, or break it down into a forest of smaller trees. If you hover the mouse over the point where a node link enters or leaves the node you will see one or more popup buttons which allow you to do this. | 7529 |
| 664 | 6902 | 7533 | |
| 665 | 6906 | 7537 | |
| 666 | 6910 | 7541 | |
| 667 | 6914 | 7545 | |
| 668 | 6918 | Click on the graph background for the main context menu, which offers options to |
7549 |
| 669 | 6934 | Sometimes you may want a copy of your working tree without any of those |
7567 |
| 670 | 6942 | 7576 | |
| 671 | 6946 | Of course you can export directly from the repository too. Use the Repository Browser to navigate to the relevant subtree in your repository, then use |
7580 |
| 672 | 6950 | If you execute this command on your working copy you'll be asked for a place to save the |
7584 |
| 673 | 6954 | Another way to export from a working copy is to |
7588 |
| 674 | 6958 | When exporting from a working copy, if the target folder already contains a folder of the same name as the one you are exporting, you will be given the option to overwrite the existing content, or to create a new folder with an automatically generated name, eg. |
7592 |
| 675 | 6966 | The export dialog does not allow exporting single files, even though Subversion can. | 7601 |
| 676 | 6970 | To export single files with TortoiseSVN, you have to use the repository browser ( |
7605 |
| 677 | 6978 | If you want to export a copy of your project tree structure but containing only the files which have changed in a particular revision, or between any two revisions, use the compare revisions feature described in |
7614 |
| 678 | 6982 | Removing a working copy from version control | 7618 |
| 679 | 6991 | Sometimes you have a working copy which you want to convert back to a normal folder without the |
7627 |
| 680 | 6995 | The answer is surprisingly simple - export the folder to itself! TortoiseSVN detects this special case and asks if you want to make the working copy unversioned. If you answer |
7631 |
| 681 | 7027 | 7668 | |
| 682 | 7031 | You may be surprised to find that TortoiseSVN contacts the repository as part of this operation. All it is doing is performing some simple checks to make sure that the new URL really does refer to the same repository as the existing working copy. | 7672 |
| 683 | 7035 | The IP address of the server has changed. | 7676 |
| 684 | 7039 | The protocol has changed (e.g. http:// to https://). | 7680 |
| 685 | 7043 | The repository root path in the server setup has changed. | 7684 |
| 686 | 7047 | 7688 | |
| 687 | 7051 | You want to move to a different Subversion repository. In that case you should perform a clean checkout from the new repository location. | 7692 |
| 688 | 7055 | You want to switch to a different branch or directory within the same repository. To do that you should use |
7696 |
| 689 | 7059 | It does not apply if: |
7700 |
| 690 | 7063 | If you use relocate in either of the cases above, it |
7704 |
| 691 | 7067 | Integration with Bug Tracking Systems / Issue Trackers | 7708 |
| 692 | 7084 | bugtracker | 7725 |
| 693 | 7088 | It is very common in Software Development for changes to be related to a specific bug or issue ID. Users of bug tracking systems (issue trackers) would like to associate the changes they make in Subversion with a specific ID in their issue tracker. Most issue trackers therefore provide a pre-commit hook script which parses the log message to find the bug ID with which the commit is associated. This is somewhat error prone since it relies on the user to write the log message properly so that the pre-commit hook script can parse it correctly. | 7729 |
| 694 | 7092 | When the user enters a log message, a well defined line including the issue number associated with the commit can be added automatically. This reduces the risk that the user enters the issue number in a way the bug tracking tools can't parse correctly. | 7733 |
| 695 | 7096 | Or TortoiseSVN can highlight the part of the entered log message which is recognized by the issue tracker. That way the user knows that the log message can be parsed correctly. | 7737 |
| 696 | 7100 | When the user browses the log messages, TortoiseSVN creates a link out of each bug ID in the log message which fires up the browser to the issue mentioned. | 7741 |
| 697 | 7104 | TortoiseSVN can help the user in two ways: |
7745 |
| 698 | 7108 | Adding Issue Numbers to Log Messages | 7749 |
| 699 | 7112 | You can integrate a bug tracking tool of your choice in TortoiseSVN. To do this, you have to define some properties, which start with |
7753 |
| 700 | 7116 | Set this property to the URL of your bug tracking tool. It must be properly URI encoded and it has to contain |
7757 |
| 701 | 7120 | You can also use relative URLs instead of absolute ones. This is useful when your issue tracker is on the same domain/server as your source repository. In case the domain name ever changes, you don't have to adjust the |
7761 |
| 702 | 7124 | If it begins with the string |
7765 |
| 703 | 7128 | A URL beginning with the string |
7769 |
| 704 | 7132 | Set this to |
7773 |
| 705 | 7136 | There are two ways to integrate TortoiseSVN with issue trackers. One is based on simple strings, the other is based on |
7777 |
| 706 | 7140 | Issue Number in Text Box | 7781 |
| 707 | 7144 | This property activates the bug tracking system in |
7785 |
| 708 | 7148 | This property defines if the bug-ID is appended (true) to the end of the log message or inserted (false) at the start of the log message. Valid values are |
7789 |
| 709 | 7152 | This text is shown by TortoiseSVN on the commit dialog to label the edit box where you enter the issue number. If it's not set, |
7793 |
| 710 | 7156 | If set to |
7797 |
| 711 | 7160 | In the simple approach, TortoiseSVN shows the user a separate input field where a bug ID can be entered. Then a separate line is appended/prepended to the log message the user entered. |
7801 |
| 712 | 7164 | Issue Numbers Using Regular Expressions | 7805 |
| 713 | 7168 | This property activates the bug tracking system in |
7809 |
| 714 | 7172 | If two expressions are set, then the first expression is used as a pre-filter to find expressions which contain bug IDs. The second expression then extracts the bare bug IDs from the result of the first regex. This allows you to use a list of bug IDs and natural language expressions if you wish. e.g. you might fix several bugs and include a string something like this: This change resolves issues #23, #24 and #25 |
7813 |
| 715 | 7176 | If you want to catch bug IDs as used in the expression above inside a log message, you could use the following regex strings, which are the ones used by the TortoiseSVN project: |
7817 |
| 716 | 7180 | The first expression picks out issues #23, #24 and #25from the surrounding log message. The second regex extracts plain decimal numbers from the output of the first regex, so it will return 23, 24and 25to use as bug IDs. |
7821 |
| 717 | 7184 | Breaking the first regex down a little, it must start with the word issue, possibly capitalised. This is optionally followed by an s(more than one issue) and optionally a colon. This is followed by one or more groups each having zero or more leading whitespace, an optional comma or andand more optional space. Finally there is a mandatory #and a mandatory decimal number. |
7825 |
| 718 | 7188 | If only one expression is set, then the bare bug IDs must be matched in the groups of the regex string. Example: |
7829 |
| 719 | 7192 | If you are unfamiliar with regular expressions, take a look at the introduction at |
7833 |
| 720 | 7196 | In the approach with |
7837 |
| 721 | 7200 | If both the |
7841 |
| 722 | 7204 | Even if you don't have an issue tracker with a pre-commit hook parsing your log messages, you still can use this to turn the issues mentioned in your log messages into links! | 7845 |
| 723 | 7208 | And even if you don't need the links, the issue numbers show up as a separate column in the log dialog, making it easier to find the changes which relate to a particular issue. | 7849 |
| 724 | 7218 | These properties must be set on folders for the system to work. When you commit a file or folder the properties are read from that folder. If the properties are not found there, TortoiseSVN will search upwards through the folder tree to find them until it comes to an unversioned folder, or the tree root (eg. |
7860 |
| 725 | 7222 | No Issue Tracker Information from Repository Browser | 7864 |
| 726 | 7226 | Because the issue tracker integration depends upon accessing subversion properties, you will only see the results when using a checked out working copy. Fetching properties remotely is a slow operation, so you will not see this feature in action from the repo browser unless you started the repo browser from your working copy. If you started the repo browser by entering the URL of the repository you won't see this feature. | 7868 |
| 727 | 7231 | For the same reason, project properties will not be propagated automatically when a child folder is added using the repo browser. | 7873 |
| 728 | 7235 | This issue tracker integration is not restricted to TortoiseSVN; it can be used with any Subversion client. For more information, read the full |
7877 |
| 729 | 7239 | Getting Information from the Issue Tracker | 7881 |
| 730 | 7243 | The previous section deals with adding issue information to the log messages. But what if you need to get information from the issue tracker? The commit dialog has a COM interface which allows integration an external program that can talk to your tracker. Typically you might want to query the tracker to get a list of open issues assigned to you, so that you can pick the issues that are being addressed in this commit. | 7885 |
| 731 | 7247 | Any such interface is of course highly specific to your issue tracker system, so we cannot provide this part, and describing how to create such a program is beyond the scope of this manual. The interface definition and sample plugins in C# and C++/ATL can be obtained from the |
7889 |
| 732 | 7251 | Example issue tracker query dialog | 7893 |
| 733 | 7255 | For illustration purposes, let's suppose that your system administrator has provided you with an issue tracker plugin which you have installed, and that you have set up some of your working copies to use the plugin in TortoiseSVN's settings dialog. When you open the commit dialog from a working copy to which the plugin has been assigned, you will see a new button at the top of the dialog. |
7897 |
| 734 | 7259 | Integration with Web-based Repository Viewers | 7901 |
| 735 | 7271 | ViewVC | 7913 |
| 736 | 7279 | There are several web-based repository viewers available for use with Subversion such as |
7921 |
| 737 | 7283 | You can integrate a repo viewer of your choice in TortoiseSVN. To do this, you have to define some properties which define the linkage. They must be set on Folders: ( |
7925 |
| 738 | 7287 | Set this property to the URL of your repo viewer to view all changes in a specific revision. It must be properly URI encoded and it has to contain |
7929 |
| 739 | 7291 | Set this property to the URL of your repo viewer to view changes to a specific file in a specific revision. It must be properly URI encoded and it has to contain |
7933 |
| 740 | 7295 | You can also use relative URLs instead of absolute ones. This is useful in case your web viewer is on the same domain/server as your source repository. In case the domain name ever changes, you don't have to adjust the |
7937 |
| 741 | 7299 | Because the repo viewer integration depends upon accessing subversion properties, you will only see the results when using a checked out working copy. Fetching properties remotely is a slow operation, so you will not see this feature in action from the repo browser unless you started the repo browser from your working copy. If you started the repo browser by entering the URL of the repository you won't see this feature. | 7941 |
| 742 | 7311 | To find out what the different settings are for, just leave your mouse pointer a second on the editbox/checkbox... and a helpful tooltip will popup. | 7953 |
| 743 | 7323 | The Settings Dialog, General Page | 7965 |
| 744 | 7327 | 7969 | |
| 745 | 7335 | Selects your user interface language. What else did you expect? | 7977 |
| 746 | 7343 | TortoiseSVN will contact its download site periodically to see if there is a newer version of the program available. If there is it will show a notification link in the commit dialog. Use |
7986 |
| 747 | 7363 | TortoiseSVN has three custom sounds which are installed by default. |
8006 |
| 748 | 7379 | Global ignore patterns are used to prevent unversioned files from showing up e.g. in the commit dialog. Files matching the patterns are also ignored by an import. Ignore files or directories by typing in the names or extensions. Patterns are separated by spaces e.g. |
8022 |
| 749 | 7383 | Note that the ignore patterns you specify here will also affect other Subversion clients running on your PC, including the command line client. | 8026 |
| 750 | 7387 | If you use the Subversion configuration file to set a |
8030 |
| 751 | 7391 | This ignore pattern will affect all your projects. It is not versioned, so it will not affect other users. By contrast you can also use the versioned |
8034 |
| 752 | 7395 | Set file dates to the last commit time |
8038 |
| 753 | 7399 | This option tells TortoiseSVN to set the file dates to the last commit time when doing a checkout or an update. Otherwise TortoiseSVN will use the current date. If you are developing software it is generally best to use the current date because build systems normally look at the date stamps to decide which files need compiling. If you use last commit timeand revert to an older file revision, your project may not compile as you expect it to. |
8042 |
| 754 | 7407 | Use |
8051 |
| 755 | 7411 | Use |
8055 |
| 756 | 7415 | VS.NET when used with web projects can't handle the |
8059 |
| 757 | 7419 | If you want to change the behaviour of Subversion and TortoiseSVN, you can use this checkbox to set the environment variable which controls this. | 8063 |
| 758 | 7423 | You should note that changing this option will not automatically convert existing working copies to use the new admin directory. You will have to do that yourself using a script (See our FAQ) or simply check out a fresh working copy. | 8067 |
| 759 | 7431 | The Settings Dialog, Context Menu Page | 8075 |
| 760 | 7435 | 8079 | |
| 761 | 7439 | There is a special case for |
8083 |
| 762 | 7443 | If there are some paths on your computer where you just don't want TortoiseSVN's context menu to appear at all, you can list them in the box at the bottom. | 8087 |
| 763 | 7451 | The Settings Dialog, Dialogs 1 Page | 8096 |
| 764 | 7455 | 8100 | |
| 765 | 7463 | Limits the number of log messages that TortoiseSVN fetches when you first select |
8109 |
| 766 | 7471 | Selects the font face and size used to display the log message itself in the middle pane of the Revision Log dialog, and when composing log messages in the Commit dialog. | 8118 |
| 767 | 7479 | If the standard long messages use up too much space on your screen use the short format. | 8127 |
| 768 | 7487 | If you frequently find yourself comparing revisions in the top pane of the log dialog, you can use this option to allow that action on double-click. It is not enabled by default because fetching the diff is often a long process, and many people prefer to avoid the wait after an accidental double-click, which is why this option is not enabled by default. | 8136 |
| 769 | 7495 | TortoiseSVN can automatically close all progress dialogs when the action is finished without error. This setting allows you to select the conditions for closing the dialogs. The default (recommended) setting is |
8145 |
| 770 | 7499 | 8149 | |
| 771 | 7503 | 8153 | |
| 772 | 7507 | 8157 | |
| 773 | 7515 | Local operations like adding files or reverting changes do not need to contact the repository and complete quickly, so the progress dialog is often of little interest. Select this option if you want the progress dialog to close automatically after these operations, unless there are errors. | 8166 |
| 774 | 7523 | When you revert local modifications, your changes are discarded. TortoiseSVN gives you an extra safety net by sending the modified file to the recycle bin before bringing back the pristine copy. If you prefer to skip the recycle bin, uncheck this option. | 8175 |
| 775 | 7527 | Use URL of WC as the default From:URL |
8179 |
| 776 | 7531 | In the merge dialog, the default behaviour is for the |
8183 |
| 777 | 7539 | You can specify the default path for checkouts. If you keep all your checkouts in one place, it is useful to have the drive and folder pre-filled so you only have to add the new folder name to the end. | 8192 |
| 778 | 7547 | You can also specify the default URL for checkouts. If you often checkout sub-projects of some very large project, it can be useful to have the URL pre-filled so you only have to add the sub-project name to the end. | 8201 |
| 779 | 7555 | The Settings Dialog, Dialogs 2 Page | 8210 |
| 780 | 7563 | If this box is checked (default state), then whenever the status of an unversioned folder is shown in the |
8219 |
| 781 | 7567 | In the |
8223 |
| 782 | 7575 | The commit dialog includes a facility to parse the list of filenames being committed. When you type the first 3 letters of an item in the list, the auto-completion box pops up, and you can press Enter to complete the filename. Check the box to enable this feature. | 8232 |
| 783 | 7583 | The auto-completion parser can be quite slow if there are a lot of large files to check. This timeout stops the commit dialog being held up for too long. If you are missing important auto-completion information, you can extend the timeout. | 8241 |
| 784 | 7587 | Only use spellchecker when |
8245 |
| 785 | 7591 | If you don't wish to use the spellchecker for all commits, check this box. The spellchecker will still be enabled where the project properties require it. | 8249 |
| 786 | 7599 | When you type in a log message in the commit dialog, TortoiseSVN stores it for possible re-use later. By default it will keep the last 25 log messages for each repository, but you can customize that number here. If you have many different repositories, you may wish to reduce this to avoid filling your registry. | 8258 |
| 787 | 7603 | Note that this setting applies only to messages that you type in on this computer. It has nothing to do with the log cache. | 8262 |
| 788 | 7607 | Re-open commit and branch/tag dialog after a commit failed | 8266 |
| 789 | 7611 | When a commit fails for some reason (working copy needs updating, pre-commit hook rejects commit, network error, etc), you can select this option to keep the commit dialog open ready to try again. However, you should be aware that this can lead to problems. If the failure means you need to update your working copy, and that update leads to conflicts you must resolve those first. | 8270 |
| 790 | 7619 | The normal behaviour in the commit dialog is for all modified (versioned) items to be selected for commit automatically. If you prefer to start with nothing selected and pick the items for commit manually, uncheck this box. | 8279 |
| 791 | 7627 | The Check for Modifications dialog checks the working copy by default, and only contacts the repository when you click |
8288 |
| 792 | 7635 | When you select one or more files and then use |
8297 |
| 793 | 7639 | If you use the lock command on a folder, you are always presented with the lock dialog as that also gives you the option to select files for locking. | 8301 |
| 794 | 7643 | If your project is using the |
8305 |
| 795 | 7651 | The Settings Dialog, Colours Page | 8314 |
| 796 | 7655 | 8318 | |
| 797 | 7663 | A conflict has occurred during update, or may occur during merge. Update is obstructed by an existing unversioned file/folder of the same name as a versioned one. | 8327 |
| 798 | 7667 | This colour is also used for error messages in the progress dialogs. | 8331 |
| 799 | 7683 | Items deleted from the repository, missing from the working copy, or deleted from the working copy and replaced with another file of the same name. | 8349 |
| 800 | 7691 | Changes from the repository successfully merged into the WC without creating any conflicts. | 8357 |
| 801 | 7699 | Add with history, or paths copied in the repository. Also used in the log dialog for entries which include copied items. | 8365 |
| 802 | 7707 | An item which has been deleted from the repository. | 8373 |
| 803 | 7715 | An item which has been added to the repository, by an add, copy or move operation. | 8381 |
| 804 | 7723 | An item which has been renamed within the repository. | 8389 |
| 805 | 7731 | The original item has been deleted and a new item with the same name replaces it. | 8397 |
| 806 | 7739 | When using filtering in the log dialog, search terms are highlighted in the results using this colour. | 8406 |
| 807 | 7747 | The Settings Dialog, Revision Graph Page | 8415 |
| 808 | 7755 | The revision graph attempts to show a clearer picture of your repository structure by distinguishing between trunk, branches and tags. As there is no such classification built into Subversion, this information is extracted from the path names. The default settings assume that you use the conventional English names as suggested in the Subversion documentation, but of course your usage may vary. | 8424 |
| 809 | 7759 | Specify the patterns used to recognise these paths in the three boxes provided. The patterns will be matched case-insensitively, but you must specify them in lower case. Wild cards |
8428 |
| 810 | 7767 | Colors are used in the revision graph to indicate the node type, i.e. whether a node is added, deleted, renamed. In order to help pick out node classifications, you can allow the revision graph to blend colors to give an indication of both node type and classification. If the box is checked, blending is used. If the box is unchecked, color is used to indicate node type only. Use the color selection dialog to allocate the specific colors used. | 8436 |
| 811 | 7775 | The Settings Dialog, Revision Graph Colors Page | 8444 |
| 812 | 7779 | 8448 | |
| 813 | 7787 | Items which have been deleted and not copied anywhere else in the same revision. | 8456 |
| 814 | 7795 | Items newly added, or copied (add with history). | 8464 |
| 815 | 7803 | Items deleted from one location and added in another in the same revision. | 8472 |
| 816 | 7811 | Simple modifications without any add or delete. | 8480 |
| 817 | 7819 | May be used to show the revision used as the source of a copy, even when no change (to the item being graphed) took place in that revision. | 8489 |
| 818 | 7835 | If you opt to show an extra node for your modified working copy, attached to its last-commit revision on the graph, use this color. | 8506 |
| 819 | 7843 | If you opt to show whether the working copy is modified, use this color border on the WC node when modifications are found. | 8514 |
| 820 | 7851 | Nodes classified as tags may be blended with this color. | 8522 |
| 821 | 7859 | Nodes classified as trunk may be blended with this color. | 8530 |
| 822 | 7867 | If you use tag folding to save space, tags are marked on the copy source using a block in this color. | 8539 |
| 823 | 7875 | When you left click on a node to select it, the marker used to indicate selection is a block in this color. | 8548 |
| 824 | 7883 | These colors are used when the graph is split into sub-trees and the background is colored in alternating stripes to help pick out the separate trees. | 8557 |
| 825 | 7891 | The Settings Dialog, Icon Overlays Page | 8566 |
| 826 | 7895 | 8570 | |
| 827 | 7903 | Caches all status information in a separate process ( |
8578 |
| 828 | 7907 | Advantage: the overlays show the status recursively, i.e. if a file deep inside a working copy is modified, all folders up to the working copy root will also show the modified overlay. And since the process can send notifications to the shell, the overlays on the left tree view usually change too. | 8582 |
| 829 | 7911 | Disadvantage: the process runs constantly, even if you're not working on your projects. It also uses around 10-50 MB of RAM depending on number and size of your working copies. | 8586 |
| 830 | 7919 | Caching is done directly inside the shell extension dll, but only for the currently visible folder. Each time you navigate to another folder, the status information is fetched again. | 8594 |
| 831 | 7923 | Advantage: needs only very little memory (around 1 MB of RAM) and can show the status in |
8598 |
| 832 | 7927 | Disadvantage: Since only one folder is cached, the overlays don't show the status recursively. For big working copies, it can take more time to show a folder in explorer than with the default cache. Also the mime-type column is not available. | 8602 |
| 833 | 7935 | With this setting, the TortoiseSVN does not fetch the status at all in Explorer. Because of that, files don't get an overlay and folders only get a 'normal' overlay if they're versioned. No other overlays are shown, and no extra columns are available either. | 8610 |
| 834 | 7939 | Advantage: uses absolutely no additional memory and does not slow down the Explorer at all while browsing. | 8614 |
| 835 | 7943 | Disadvantage: Status information of files and folders is not shown in Explorer. To see if your working copies are modified, you have to use the Check for modificationsdialog. |
8618 |
| 836 | 7947 | Since it takes quite a while to fetch the status of a working copy, TortoiseSVN uses a cache to store the status so the explorer doesn't get hogged too much when showing the overlays. You can choose which type of cache TortoiseSVN should use according to your system and working copy size here: |
8622 |
| 837 | 7951 | By default, overlay icons and context menus will appear in all open/save dialogs as well as in Windows Explorer. If you want them to appear |
8626 |
| 838 | 7955 | You can also choose to mark folders as modified if they contain unversioned items. This could be useful for reminding you that you have created new files which are not yet versioned. This option is only available when you use the |
8630 |
| 839 | 7959 | The next group allows you to select which classes of storage should show overlays. By default, only hard drives are selected. You can even disable all icon overlays, but where's the fun in that? | 8634 |
| 840 | 7963 | Network drives can be very slow, so by default icons are not shown for working copies located on network shares. | 8638 |
| 841 | 7967 | USB Flash drives appear to be a special case in that the drive type is identified by the device itself. Some appear as fixed drives, and some as removable drives. | 8642 |
| 842 | 7971 | The |
8646 |
| 843 | 7975 | Any path you specify here is assumed to apply recursively, so none of the child folders will show overlays either. If you want to exclude |
8650 |
| 844 | 7979 | The same applies to the |
8654 |
| 845 | 7983 | Users sometimes ask how these three settings interact. For any given path check the include and exclude lists, seeking upwards through the directory structure until a match is found. When the first match is found, obey that include or exclude rule. If there is a conflict, a single directory spec takes precedence over a recursive spec, then inclusion takes precedence over exclusion. | 8658 |
| 846 | 7987 | An example will help here: Exclude:\n C:\n C:\\develop\\?\n C:\\develop\\tsvn\\obj\n C:\\develop\\tsvn\\bin\n \n Include:\n C:\\develop\n |
8662 |
| 847 | 7991 | TSVNCache.exe also uses these paths to restrict its scanning. If you want it to look only in particular folders, disable all drive types and include only the folders you specifically want to be scanned. | 8676 |
| 848 | 7995 | Exclude |
8680 |
| 849 | 8003 | It is often convenient to use a subst T: C:\\TortoiseSVN\\trunk\\doc\n |
8689 |
| 850 | 8007 | An easy way to work around this is to exclude the original path from showing overlays, so that the overlays show up on the |
8696 |
| 851 | 8011 | Sometimes you will exclude areas that contain working copies, which saves TSVNCache from scanning and monitoring for changes, but you still want a visual indication that such folders are versioned. The |
8700 |
| 852 | 8015 | As a special exception to this, drives |
8704 |
| 853 | 8023 | The Settings Dialog, Icon Set Page | 8713 |
| 854 | 8027 | 8717 | |
| 855 | 8039 | 8731 | |
| 856 | 8051 | The Settings Dialog, Network Page | 8744 |
| 857 | 8055 | 8748 | |
| 858 | 8059 | If you need to set up per-repository proxy settings, you will need to use the Subversion |
8752 |
| 859 | 8063 | You can also specify which program TortoiseSVN should use to establish a secure connection to a svn+ssh repository. We recommend that you use TortoisePlink.exe. This is a version of the popular Plink program, and is included with TortoiseSVN, but it is compiled as a Windowless app, so you don't get a DOS box popping up every time you authenticate. | 8756 |
| 860 | 8067 | You must specify the full path to the executable. For TortoisePlink.exe this is the standard TortoiseSVN bin directory. Use the \"C:\\Program Files\\TortoiseSVN\\bin\\TortoisePlink.exe\"\n |
8760 |
| 861 | 8071 | One side-effect of not having a window is that there is nowhere for any error messages to go, so if authentication fails you will simply get a message saying something like Unable to write to standard output. For this reason we recommend that you first set up using standard Plink. When everything is working, you can use TortoisePlink with exactly the same parameters. |
8767 |
| 862 | 8075 | TortoisePlink does not have any documentation of its own because it is just a minor variant of Plink. Find out about command line parameters from the |
8771 |
| 863 | 8079 | To avoid being prompted for a password repeatedly, you might also consider using a password caching tool such as Pageant. This is also available for download from the PuTTY website. | 8775 |
| 864 | 8083 | Finally, setting up SSH on server and clients is a non-trivial process which is beyond the scope of this help file. However, you can find a guide in the TortoiseSVN FAQ listed under |
8779 |
| 865 | 8091 | The Settings Dialog, Diff Viewer Page | 8788 |
| 866 | 8095 | 8792 | |
| 867 | 8099 | Read |
8796 |
| 868 | 8107 | The original file without your changes | 8804 |
| 869 | 8112 | The window title for the base file | 8809 |
| 870 | 8116 | Your own file, with your changes | 8813 |
| 871 | 8121 | The window title for your file | 8818 |
| 872 | 8125 | An external diff program may be used for comparing different revisions of files. The external program will need to obtain the filenames from the command line, along with any other command line options. TortoiseSVN uses substitution parameters prefixed with |
8822 |
| 873 | 8129 | The window titles are not pure filenames. TortoiseSVN treats that as a name to display and creates the names accordingly. So e.g. if you're doing a diff from a file in revision 123 with a file in your working copy, the names will be |
8826 |
| 874 | 8133 | For example, with ExamDiff Pro: C:\\Path-To\\ExamDiff.exe %base %mine --left_display_name:%bname\n --right_display_name:%yname\n C:\\Path-To\\kdiff3.exe %base %mine --L1 %bname --L2 %yname\n C:\\Path-To\\WinMerge.exe -e -ub -dl %bname -dr %yname %base %mine\n C:\\Path-To\\compare.exe /max /wait /title1:%bname /title2:%yname\n %base %mine\n C:\\Path-To\\uc.exe %base %mine -title1 %bname -title2 %yname\n |
8830 |
| 875 | 8137 | If you use the |
8847 |
| 876 | 8141 | You can also specify a different diff tool to use on Subversion properties. Since these tend to be short simple text strings, you may want to use a simpler more compact viewer. | 8851 |
| 877 | 8145 | If you have configured an alternate diff tool, you can access TortoiseMerge |
8855 |
| 878 | 8153 | the original file without your or the others changes | 8863 |
| 879 | 8157 | your own file, with your changes | 8867 |
| 880 | 8161 | the file as it is in the repository | 8871 |
| 881 | 8165 | The window title for the file in the repository | 8875 |
| 882 | 8173 | The window title for the merged file | 8884 |
| 883 | 8177 | An external merge program used to resolve conflicted files. Parameter substitution is used in the same way as with the Diff Program. |
8888 |
| 884 | 8181 | For example, with Perforce Merge: C:\\Path-To\\P4Merge.exe %base %theirs %mine %merged\n C:\\Path-To\\kdiff3.exe %base %mine %theirs -o %merged\n --L1 %bname --L2 %yname --L3 %tname\n C:\\Path-To\\compare.exe /max /wait /3 /title1:%tname /title2:%bname\n /title3:%yname %theirs %base %mine %merged /a2\n C:\\Path-To\\WinMerge.exe %merged\n |
8892 |
| 885 | 8189 | The Settings Dialog, Diff/Merge Advanced Dialog | 8912 |
| 886 | 8193 | DiffProgram for |
8916 |
| 887 | 8197 | To associate using a file extension, you need to specify the extension. Use |
8920 |
| 888 | 8205 | A viewer program for unified-diff files (patch files). No parameters are required. The |
8929 |
| 889 | 8209 | The original Windows NotePad program does not behave well on files which do not have standard CR-LF line-endings. Since most unified diff files have pure LF line-endings, they do not view well in NotePad. However, you can download a free NotePad replacement |
8933 |
| 890 | 8217 | The Settings Dialog, Saved Data Page | 8944 |
| 891 | 8221 | 8948 | |
| 892 | 8229 | Whenever you checkout a working copy, merge changes or use the repository browser, TortoiseSVN keeps a record of recently used URLs and offers them in a combo box. Sometimes that list gets cluttered with outdated URLs so it is useful to flush it out periodically. | 8957 |
| 893 | 8233 | If you want to remove a single item from one of the combo boxes you can do that in-place. Just click on the arrow to drop the combo box down, move the mouse over the item you want to remove and type |
8961 |
| 894 | 8241 | TortoiseSVN stores recent commit log messages that you enter. These are stored per repository, so if you access many repositories this list can grow quite large. | 8970 |
| 895 | 8249 | TortoiseSVN caches log messages fetched by the Show Log dialog to save time when you next show the log. If someone else edits a log message and you already have that message cached, you will not see the change until you clear the cache. Log message caching is enabled on the |
8979 |
| 896 | 8257 | Many dialogs remember the size and screen position that you last used. | 8988 |
| 897 | 8265 | When you authenticate with a Subversion server, the username and password are cached locally so you don't have to keep entering them. You may want to clear this for security reasons, or because you want to access the repository under a different username ... does John know you are using his PC? | 8997 |
| 898 | 8269 | If you want to clear authentication data for one particular server only, read |
9001 |
| 899 | 8277 | TortoiseSVN keeps a log of everything written to its progress dialogs. This can be useful when, for example, you want to check what happened in a recent update command. | 9010 |
| 900 | 8281 | The log file is limited in length and when it grows too big the oldest content is discarded. By default 4000 lines are kept, but you can customize that number. | 9014 |
| 901 | 8285 | From here you can view the log file content, and also clear it. | 9018 |
| 902 | 8297 | The Settings Dialog, Log Cache Page | 9032 |
| 903 | 8301 | 9036 | |
| 904 | 8309 | Enables log caching whenever log data is requested. If checked, data will be retrieved from the cache when available, and any messages not in the cache will be retrieved from the server and added to the cache. | 9045 |
| 905 | 8313 | If caching is disabled, data will always be retrieved directly from the server and not stored locally. | 9049 |
| 906 | 8321 | Occasionally you may have to connect to a server which uses the same URL for all repositories. Older versions of |
9058 |
| 907 | 8329 | Some hosting services give all their repositories the same UUID. You may even have done this yourself by copying a repository folder to create a new one. For all sorts of reasons this is a bad idea - a UUID should be |
9067 |
| 908 | 8337 | If you are working offline, or if the repository server is down, the log cache can still be used to supply log messages already held in the cache. Of course the cache may not be up-to-date, so there are options to allow you to select whether this feature should be used. | 9076 |
| 909 | 8341 | When log data is being taken from the cache without contacting the server, the dialog using those message will show the offline state in its title bar. | 9080 |
| 910 | 8349 | When you invoke the log dialog you will normally want to contact the server to check for any newer log messages. If the timeout set here is non-zero then the server will only be contacted when the timeout has elapsed since the last time contact. This can reduce server round-trips if you open the log dialog frequently and the server is slow, but the data shown may not be completely up-to-date. If you want to use this feature we suggest using a value of 300 (5 minutes) as a compromise. | 9089 |
| 911 | 8357 | If you browse around a lot of repositories you will accumulate a lot of log caches. If you're not actively using them, the cache will not grow very big, so TortoiseSVN purges them after a set time by default. Use this item to control cache purging. | 9098 |
| 912 | 8365 | Larger caches are more expensive to reacquire, so TortoiseSVN only purges small caches. Fine tune the threshold with this value. | 9107 |
| 913 | 8373 | Occasionally something goes wrong with the caching and causes a crash. If this happens the cache is normally deleted automatically to prevent a recurrence of the problem. If you use the less stable nightly build you may opt to keep the cache anyway. | 9116 |
| 914 | 8381 | On this page you can see a list of the repositories that are cached locally, and the space used for the cache. If you select one of the repositories you can then use the buttons underneath. | 9125 |
| 915 | 8385 | Click on the |
9129 |
| 916 | 8389 | Click on the |
9133 |
| 917 | 8393 | Click on |
9137 |
| 918 | 8409 | The amount of memory required to service this cache. | 9155 |
| 919 | 8417 | The amount of disk space used for the cache. Data is compressed, so disk usage is generally fairly modest. | 9163 |
| 920 | 8425 | Shows whether the repository was available last time the cache was used. | 9171 |
| 921 | 8441 | The last time we requested the HEAD revision from the server. | 9188 |
| 922 | 8449 | The number of different authors with messages recorded in the cache. | 9196 |
| 923 | 8457 | The number of paths listed, as you would see using |
9204 |
| 924 | 8465 | The number of revision ranges which we have not fetched, simply because they haven't been requested. This is a measure of the number of holes in the cache. | 9212 |
| 925 | 8473 | The highest revision number stored in the cache. | 9220 |
| 926 | 8481 | The number of revisions stored in the cache. This is another measure of cache completeness. | 9228 |
| 927 | 8485 | 9232 | |
| 928 | 8497 | The Settings Dialog, Hook Scripts Page | 9245 |
| 929 | 8501 | 9249 | |
| 930 | 8505 | One application for such hooks might be to call a program like |
9253 |
| 931 | 8509 | For various security and implementation reasons, hook scripts are defined locally on a machine, rather than as project properties. You define what happens, no matter what someone else commits to the repository. Of course you can always choose to call a script which is itself under version control. | 9257 |
| 932 | 8513 | The Settings Dialog, Configure Hook Scripts | 9261 |
| 933 | 8517 | 9265 | |
| 934 | 8526 | Called before the commit dialog is shown. You might want to use this if the hook modifies a versioned file and affects the list of files that need to be committed and/or commit message. However you should note that because the hook is called at an early stage, the full list of objects selected for commit is not available. | 9274 |
| 935 | 8535 | Called after the user clicks |
9283 |
| 936 | 8544 | Called after the commit finishes (whether successful or not). | 9292 |
| 937 | 8553 | Called before the update-to-revision dialog is shown. | 9301 |
| 938 | 8562 | Called before the actual Subversion update or switch begins. | 9310 |
| 939 | 8571 | Called after the update, switch or checkout finishes (whether successful or not). | 9319 |
| 940 | 8580 | Called before an attempt to contact the repository. Called at most once in five minutes. | 9329 |
| 941 | 8584 | There are currently six types of hook script available |
9333 |
| 942 | 8588 | A hook is defined for a particular working copy path. You only need to specify the top level path; if you perform an operation in a sub-folder, TortoiseSVN will automatically search upwards for a matching path. | 9337 |
| 943 | 8592 | Next you must specify the command line to execute, starting with the path to the hook script or executable. This could be a batch file, an executable file or any other file which has a valid windows file association, eg. a perl script. Note that the script must not be specified using a UNC path as Windows shell execute will not allow such scripts to run due to security restrictions. | 9341 |
| 944 | 8596 | The command line includes several parameters which get filled in by TortoiseSVN. The parameters passed depend upon which hook is called. Each hook has its own parameters which are passed in the following order: |
9345 |
| 945 | 8600 | A path to a temporary file which contains all the paths for which the operation was started. Each path is on a separate line in the temp file. | 9349 |
| 946 | 8604 | The depth with which the commit/update is done. | 9353 |
| 947 | 8636 | Path to a file containing the log message for the commit. The file contains the text in UTF-8 encoding. After successful execution of the start-commit hook, the log message is read back, giving the hook a chance to modify it. | 9386 |
| 948 | 8640 | The repository revision to which the update should be done or after a commit completes. | 9390 |
| 949 | 8644 | Path to a file containing the error message. If there was no error, the file will be empty. | 9394 |
| 950 | 8648 | The current working directory with which the script is run. This is set to the common root directory of all affected paths. | 9398 |
| 951 | 8652 | The meaning of each of these parameters is described here: |
9402 |
| 952 | 8656 | Note that although we have given these parameters names for convenience, you do not have to refer to those names in the hook settings. All parameters listed for a particular hook are always passed, whether you want them or not ;-) | 9406 |
| 953 | 8660 | If you want the Subversion operation to hold off until the hook has completed, check |
9410 |
| 954 | 8664 | Normally you will want to hide ugly DOS boxes when the script runs, so |
9414 |
| 955 | 8668 | Sample client hook scripts can be found in the |
9418 |
| 956 | 8672 | A small tool is included in the TortoiseSVN installation folder named |
9422 |
| 957 | 8680 | TortoiseSVN can use a COM plugin to query issue trackers when in the commit dialog. The use of such plugins is described in |
9431 |
| 958 | 8684 | The Settings Dialog, Issue Tracker Integration Page | 9435 |
| 959 | 8688 | 9439 | |
| 960 | 8692 | This property specifies the COM UUID of the IBugtraqProvider, for example |
9443 |
| 961 | 8696 | This is the same as |
9447 |
| 962 | 8700 | This property specifies the parameters passed to the IBugtraqProvider. | 9451 |
| 963 | 8704 | If you want all users to use the same COM plugin for your project, you can specify the plugin also with the properties |
9455 |
| 964 | 8712 | The Settings Dialog, TortoiseBlame Page | 9463 |
| 965 | 8716 | 9467 | |
| 966 | 8724 | TortoiseBlame can use the background colour to indicate the age of lines in a file. You set the endpoints by specifying the colours for the newest and oldest revisions, and TortoiseBlame uses a linear interpolation between these colours according to the repository revision indicated for each line. | 9475 |
| 967 | 8732 | You can select the font used to display the text, and the point size to use. This applies both to the file content, and to the author and revision information shown in the left pane. | 9483 |
| 968 | 8740 | Defines how many spaces to use for expansion when a tab character is found in the file content. | 9491 |
| 969 | 8756 | VS.NET 2003 when used with web projects can't handle the |
9507 |
| 970 | 8760 | Note that the bug is fixed in VS2005 and later versions. | 9511 |
| 971 | 8764 | As of Version 1.3.0 of Subversion and TortoiseSVN, you can set the environment variable |
9515 |
| 972 | 8768 | For more information, and other ways to avoid this problem in the first place, check out the article about this in our |
9519 |
| 973 | 8780 | A few infrequently used settings are available only in the advanced page of the settings dialog. These settings modify the registry directly and you have to know what each of these settings is used for and what it does. Do not modify these settings unless you are sure you need to change them. | 9531 |
| 974 | 8784 | You can specify a different location for the Subversion configuration file here. This will affect all TortoiseSVN operations. | 9535 |
| 975 | 8788 | Set this to |
9539 |
| 976 | 8792 | To add a cache tray icon for the TSVNCache program, set this value to |
9543 |
| 977 | 8796 | This can be useful if you use something other than the windows explorer or if you get problems with the context menu displaying incorrectly. Set this value to |
9547 |
| 978 | 8800 | If you don't want TortoiseSVN to show icons for the context menus in its own dialogs, set this value to |
9551 |
| 979 | 8804 | The log dialog shows the revision the working copy path is at in bold. But this requires that the log dialog fetches the status of that path. Since for very big working copies this can take a while, you can set this value to |
9555 |
| 980 | 8808 | The status list control which is used in various dialogs (e.g., commit, check-for-modifications, add, revert, ...) uses full row selection (i.e., if you select an entry, the full row is selected, not just the first column). This is fine, but the selected row then also covers the background image on the bottom right, which can look ugly. To disable full row select, set this value to |
9559 |
| 981 | 8812 | The commit and log dialog use styling (e.g. bold, italic) in commit messages (see |
9563 |
| 982 | 8816 | TortoiseSVN uses accelerators for its explorer context menu entries. Since this can lead to doubled accelerators (e.g. the |
9567 |
| 983 | 8820 | As with the explorer, TortoiseSVN shows additional commands if the |
9571 |
| 984 | 8824 | If you don't want the explorer to update the status overlays while another TortoiseSVN command is running (e.g. Update, Commit, ...) then set this value to |
9575 |
| 985 | 8828 | This value contains the URL from which TortoiseSVN tries to download a text file to find out if there are updates available. This might be useful for company admins who don't want their users to update TortoiseSVN until they approve it. | 9579 |
| 986 | 8832 | The extra columns the TortoiseSVN adds to the details view in Windows Explorer are normally only active in a working copy. If you want those to be accessible everywhere, not just in working copies, set this value to |
9583 |
| 987 | 8836 | If an update adds a new file from the repository which already exists in the local working copy as an unversioned file, the default action is to keep the local file, showing it as a (possibly) modified version of the new file from the repository. If you would prefer TortoiseSVN to create a conflict in such situations, set this value to |
9587 |
| 988 | 8840 | TortoiseSVN checks whether there's a new version available about once a week. If an updated version is found, the commit dialog shows a link control with that info. If you prefer the old behavior back where a dialog pops up notifying you about the update, set this value to |
9591 |
| 989 | 8844 | TortoiseSVN checks whether there's a new version available about once a week. If you don't want TortoiseSVN to do this check, set this value to |
9595 |
| 990 | 8848 | The auto-completion list shown in the commit message editor displays the names of files listed for commit. To also include these names with extensions removed, set this value to |
9599 |
| 991 | 8852 | When you merge revisions from another branch, and merge tracking information is available, the log messages from the revisions you merge will be collected to make up a commit log message. A pre-defined string is used to separate the individual log messages of the merged revisions. If you prefer, you can set this to a value containing a separator string of your choice. | 9603 |
| 992 | 8856 | TortoiseSVN allows you to assign an external diff viewer. Most such viewers, however, are not suited for change blaming ( |
9607 |
| 993 | 8860 | By default, TortoiseSVN always runs an update with externals included. This avoids problems with inconsistent working copies. If you have however a lot of externals set, an update can take quite a while. Set this value to |
9611 |
| 994 | 8864 | In most dialogs in TortoiseSVN, you can use |
9615 |
| 995 | 8868 | Sometimes multiple users use the same account on the same computer. In such situations it's not really wanted to save the authentication data. Setting this value to |
9619 |
| 996 | 8872 | Final Step | 9623 |
| 997 | 8909 | SubWCRev is Windows console program which can be used to read the status of a Subversion working copy and optionally perform keyword substitution in a template file. This is often used as part of the build process as a means of incorporating working copy information into the object you are building. Typically it might be used to include the revision number in an Aboutbox. |
9668 |
| 998 | 8917 | SubWCRev reads the Subversion status of all files in a working copy, excluding externals by default. It records the highest commit revision number found, and the commit timestamp of that revision, It also records whether there are local modifications in the working copy, or mixed update revisions. The revision number, update revision range and modification status are displayed on stdout. | 9677 |
| 999 | 8921 | SubWCRev.exe is called from the command line or a script, and is controlled using the command line parameters. SubWCRev WorkingCopyPath [SrcVersionFile DstVersionFile] [-nmdfe]\n |
9681 |
| 1000 | 8925 | 9688 | |
| 1001 | 8929 | If you want SubWCRev to perform keyword substitution, so that fields like repository revision and URL are saved to a text file, you need to supply a template file |
9692 |
| 1002 | 8957 | If this switch is given, SubWCRev will exit with |
9723 |
| 1003 | 8965 | If this switch is given, SubWCRev will exit with |
9731 |
| 1004 | 8973 | If this switch is given, SubWCRev will exit with |
9739 |
| 1005 | 8977 | If this switch is given, SubWCRev will include the last-changed revision of folders. The default behaviour is to use only files when getting the revision numbers. | 9743 |
| 1006 | 8985 | If this switch is given, SubWCRev will examine directories which are included with |
9751 |
| 1007 | 8989 | If this switch is given, SubWCRev will output the revision numbers in HEX. | 9755 |
| 1008 | 8993 | If this switch is given, SubWCRev will output the revision numbers in HEX, with '0X' prepended. | 9759 |
| 1009 | 8997 | There are a number of optional switches which affect the way SubWCRev works. If you use more than one, they must be specified as a single group, eg. |
9763 |
| 1010 | 9001 | Keyword Substitution | 9767 |
| 1011 | 9005 | Keyword | 9771 |
| 1012 | 9009 | Replaced with the highest commit revision in the working copy. | 9775 |
| 1013 | 9025 | online reference | 9791 |
| 1014 | 9029 | Replaced with the commit date/time of the highest commit revision. By default, international format is used: |
9795 |
| 1015 | 9039 | Replaced with the current system date/time. This can be used to indicate the build time. Time formatting can be used as described for |
9805 |
| 1016 | 9043 | Replaced with the update revision range in the working copy. If the working copy is in a consistent state, this will be a single revision. If the working copy contains mixed revisions, either due to being out of date, or due to a deliberate update-to-revision, then the range will be shown in the form 100:200 | 9809 |
| 1017 | 9065 | 9831 | |
| 1018 | 9073 | 9839 | |
| 1019 | 9077 | Replaced with the repository URL of the working copy path passed to SubWCRev. | 9843 |
| 1020 | 9085 | 9851 | |
| 1021 | 9093 | 9859 | |
| 1022 | 9097 | Replaced with the lock date. Time formatting can be used as described for |
9863 |
| 1023 | 9101 | Replaced with the name of the lock owner. | 9867 |
| 1024 | 9109 | If a source and destination files are supplied, SubWCRev copies source to destination, performing keyword substitution as follows: |
9876 |
| 1025 | 9113 | Some of these keywords apply to single files rather than to an entire working copy, so it only makes sense to use these when SubWCRev is called to scan a single file. This applies to |
9880 |
| 1026 | 9117 | Keyword Example | 9884 |
| 1027 | 9121 | The example below shows how keywords in a template file are substituted in the output file. | 9888 |
| 1028 | 9125 | \n // Test file for SubWCRev: testfile.tmpl\n \n char *Revision = \"$WCREV$\";\n char *Modified = \"$WCMODS?Modified:Not modified$\";\n char *Date = \"$WCDATE$\";\n char *Range = \"$WCRANGE$\";\n char *Mixed = \"$WCMIXED?Mixed revision WC:Not mixed$\";\n char *URL = \"$WCURL$\";\n \n #if $WCMODS?1:0$\n #error Source is modified\n #endif\n \n // End of file\n |
9892 |
| 1029 | 9130 | After running |
9912 |
| 1030 | 9134 | \n // Test file for SubWCRev: testfile.txt\n \n char *Revision = \"3701\";\n char *Modified = \"Modified\";\n char *Date = \"2005/06/15 11:15:12\";\n char *Range = \"3699:3701\";\n char *Mixed = \"Mixed revision WC\";\n char *URL = \"http://project.domain.org/svn/trunk/src\";\n \n #if 1\n #error Source is modified\n #endif\n \n // End of file\n |
9916 |
| 1031 | 9139 | A file like this will be included in the build so you would expect it to be versioned. Be sure to version the template file, not the generated file, otherwise each time you regenerate the version file you need to commit the change, which in turn means the version file needs to be updated. | 9936 |
| 1032 | 9143 | COM interface | 9940 |
| 1033 | 9147 | COM SubWCRev interface | 9944 |
| 1034 | 9151 | COM/automation methods supported | 9948 |
| 1035 | 9167 | This method traverses the working copy gathering the revision information. Naturally you must call this before you can access the information using the remaining methods. The first parameter is the path. The second parameter should be true if you want to include folder revisions. Equivalent to the |
9964 |
| 1036 | 9175 | The highest commit revision in the working copy. Equivalent to |
9972 |
| 1037 | 9179 | The commit date/time of the highest commit revision. Equivalent to |
9976 |
| 1038 | 9183 | The author of the highest commit revision, that is, the last person to commit changes to the working copy. | 9980 |
| 1039 | 9192 | The minimum update revision, as shown in |
9989 |
| 1040 | 9196 | The maximum update revision, as shown in |
9993 |
| 1041 | 9200 | True if there are local modifications | 9997 |
| 1042 | 9212 | Replaced with the repository URL of the working copy path used in |
10009 |
| 1043 | 9220 | True if the item is locked. | 10018 |
| 1044 | 9224 | String representing the date when the lock was created, or an empty string if the item is not locked. | 10022 |
| 1045 | 9228 | String representing the lock owner, or an empty string if the item is not locked. | 10026 |
| 1046 | 9232 | The message entered when the lock was created. | 10030 |
| 1047 | 9236 | If you need to access Subversion revision information from other programs, you can use the COM interface of SubWCRev. The object to create is |
10034 |
| 1048 | 9240 | \n // testCOM.js - javascript file\n // test script for the SubWCRev COM/Automation-object\n \n filesystem = new ActiveXObject(\"Scripting.FileSystemObject\");\n \n revObject1 = new ActiveXObject(\"SubWCRev.object\");\n revObject2 = new ActiveXObject(\"SubWCRev.object\");\n revObject3 = new ActiveXObject(\"SubWCRev.object\");\n revObject4 = new ActiveXObject(\"SubWCRev.object\");\n \n revObject1.GetWCInfo(\n filesystem.GetAbsolutePathName(\".\"), 1, 1);\n revObject2.GetWCInfo(\n filesystem.GetAbsolutePathName(\"..\"), 1, 1);\n revObject3.GetWCInfo(\n filesystem.GetAbsolutePathName(\"SubWCRev.cpp\"), 1, 1);\n revObject4.GetWCInfo(\n filesystem.GetAbsolutePathName(\"..\\\\..\"), 1, 1);\n \n wcInfoString1 = \"Revision = \" + revObject1.Revision +\n \"\\n Min Revision = \" + revObject1.MinRev +\n \"\\n Max Revision = \" + revObject1.MaxRev +\n \"\\n Date = \" + revObject1.Date +\n \"\\n URL = \" + revObject1.Url + \"\\n Author = \" +\n revObject1.Author + \"\\n HasMods = \" +\n revObject1.HasModifications + \"\\n IsSvnItem = \" +\n revObject1.IsSvnItem + \"\\n NeedsLocking = \" +\n revObject1.IsLocked + \"\\n LockCreationDate = \" +\n revObject1.LockCreationDate + \"\\n LockOwner = \" +\n revObject1.LockOwner + \"\\n LockComment = \" +\n revObject1.LockComment;\n wcInfoString2 = \"Revision = \" + revObject2.Revision +\n \"\\n Min Revision = \" + revObject2.MinRev +\n \"\\n Max Revision = \" + revObject2.MaxRev +\n \"\\n Date = \" + revObject2.Date +\n \"\\n URL = \" + revObject2.Url + \"\\n Author = \" +\n revObject2.Author + \"\\n HasMods = \" +\n revObject2.HasModifications + \"\\n IsSvnItem = \" +\n revObject2.IsSvnItem + \"\\n NeedsLocking = \" +\n revObject2.IsLocked + \"\\n LockCreationDate = \" +\n revObject2.LockCreationDate + \"\\n LockOwner = \" +\n revObject2.LockOwner + \"\\n LockComment = \" +\n revObject2.LockComment;\n wcInfoString3 = \"Revision = \" + revObject3.Revision +\n \"\\n Min Revision = \" + revObject3.MinRev +\n \"\\n Max Revision = \" + revObject3.MaxRev +\n \"\\n Date = \" + revObject3.Date +\n \"\\n URL = \" + revObject3.Url + \"\\n Author = \" +\n revObject3.Author + \"\\n HasMods = \" +\n revObject3.HasModifications + \"\\n IsSvnItem = \" +\n revObject3.IsSvnItem + \"\\n NeedsLocking = \" +\n revObject3.IsLocked + \"\\n LockCreationDate = \" +\n revObject3.LockCreationDate + \"\\n LockOwner = \" +\n revObject3.LockOwner + \"\\n LockComment = \" +\n revObject3.LockComment;\n wcInfoString4 = \"Revision = \" + revObject4.Revision +\n \"\\n Min Revision = \" + revObject4.MinRev +\n \"\\n Max Revision = \" + revObject4.MaxRev +\n \"\\n Date = \" + revObject4.Date +\n \"\\n URL = \" + revObject4.Url + \"\\n Author = \" +\n revObject4.Author + \"\\n HasMods = \" +\n revObject4.HasModifications + \"\\n IsSvnItem = \" +\n revObject4.IsSvnItem + \"\\n NeedsLocking = \" +\n revObject4.IsLocked + \"\\n LockCreationDate = \" +\n revObject4.LockCreationDate + \"\\n LockOwner = \" +\n revObject4.LockOwner + \"\\n LockComment = \" +\n revObject4.LockComment;\n \n WScript.Echo(wcInfoString1);\n WScript.Echo(wcInfoString2);\n WScript.Echo(wcInfoString3);\n WScript.Echo(wcInfoString4);\n \n |
10038 |
| 1049 | 9245 | The following example shows how the interface might be used. |
10161 |
| 1050 | 9249 | \n using LibSubWCRev;\n SubWCRev sub = new SubWCRev();\n sub.GetWCInfo(\"C:\\\\PathToMyFile\\\\MyFile.cc\", true, true);\n if (sub.IsSvnItem == true)\n {\n MessageBox.Show(\"versioned\");\n }\n else\n {\n MessageBox.Show(\"not versioned\");\n }\n |
10165 |
| 1051 | 9254 | The following listing is an example on how to use the SubWCRev COM object from C#: |
10182 |
| 1052 | 9258 | IBugtraqProvider interface | 10186 |
| 1053 | 9270 | To get a tighter integration with issue trackers than by simply using the |
10199 |
| 1054 | 9274 | We can't provide information and tutorials on how you have to implement a COM object in your preferred programming language, but we have example plugins in C++/ATL and C# in our repository in the |
10203 |
| 1055 | 9278 | You should provide both a 32-bit and 64-bit version of your plugin. Because the x64-Version of TortoiseSVN can not use a 32-bit plugin and vice-versa. | 10207 |
| 1056 | 9282 | The IBugtraqProvider interface | 10211 |
| 1057 | 9286 | TortoiseSVN 1.5 and later can use plugins which implement the IBugtraqProvider interface. The interface provides a few methods which plugins can use to interact with the issue tracker. | 10215 |
| 1058 | 9290 | \n HRESULT ValidateParameters (\n // Parent window for any UI that needs to be\n // displayed during validation.\n [in] HWND hParentWnd,\n \n // The parameter string that needs to be validated.\n [in] BSTR parameters,\n \n // Is the string valid?\n [out, retval] VARIANT_BOOL *valid\n );\n |
10219 |
| 1059 | 9295 | This method is called from the settings dialog where the user can add and configure the plugin. The |
10236 |
| 1060 | 9299 | \n HRESULT GetLinkText (\n // Parent window for any (error) UI that needs to be displayed.\n [in] HWND hParentWnd,\n \n // The parameter string, just in case you need to talk to your\n // web service (e.g.) to find out what the correct text is.\n [in] BSTR parameters,\n \n // What text do you want to display?\n // Use the current thread locale.\n [out, retval] BSTR *linkText\n );\n |
10240 |
| 1061 | 9304 | The plugin can provide a string here which is used in the TortoiseSVN commit dialog for the button which invokes the plugin, e.g., \"Choose issue\" or \"Select ticket\". Make sure the string is not too long, otherwise it might not fit into the button. If the method returns an error (e.g., |
10258 |
| 1062 | 9308 | \n HRESULT GetCommitMessage (\n // Parent window for your provider's UI.\n [in] HWND hParentWnd,\n \n // Parameters for your provider.\n [in] BSTR parameters,\n [in] BSTR commonRoot,\n [in] SAFEARRAY(BSTR) pathList,\n \n // The text already present in the commit message.\n // Your provider should include this text in the new message,\n // where appropriate.\n [in] BSTR originalMessage,\n \n // The new text for the commit message.\n // This replaces the original message.\n [out, retval] BSTR *newMessage\n );\n |
10262 |
| 1063 | 9313 | This is the main method of the plugin. This method is called from the TortoiseSVN commit dialog when the user clicks on the plugin button. | 10286 |
| 1064 | 9317 | The |
10290 |
| 1065 | 9321 | The |
10294 |
| 1066 | 9325 | The |
10298 |
| 1067 | 9329 | The |
10302 |
| 1068 | 9333 | The |
10306 |
| 1069 | 9337 | The IBugtraqProvider2 interface | 10310 |
| 1070 | 9341 | In TortoiseSVN 1.6 a new interface was added which provides more functionality for plugins. This IBugtraqProvider2 interface inherits from IBugtraqProvider. | 10314 |
| 1071 | 9345 | \n HRESULT GetCommitMessage2 (\n // Parent window for your provider's UI.\n [in] HWND hParentWnd,\n \n // Parameters for your provider.\n [in] BSTR parameters,\n // The common URL of the commit\n [in] BSTR commonURL,\n [in] BSTR commonRoot,\n [in] SAFEARRAY(BSTR) pathList,\n \n // The text already present in the commit message.\n // Your provider should include this text in the new message,\n // where appropriate.\n [in] BSTR originalMessage,\n \n // You can assign custom revision properties to a commit\n // by setting the next two params.\n // note: Both safearrays must be of the same length.\n // For every property name there must be a property value!\n \n // The content of the bugID field (if shown)\n [in] BSTR bugID,\n \n // Modified content of the bugID field\n [out] BSTR * bugIDOut,\n \n // The list of revision property names.\n [out] SAFEARRAY(BSTR) * revPropNames,\n \n // The list of revision property values.\n [out] SAFEARRAY(BSTR) * revPropValues,\n \n // The new text for the commit message.\n // This replaces the original message\n [out, retval] BSTR * newMessage\n );\n |
10318 |
| 1072 | 9350 | This method is called from the TortoiseSVN commit dialog when the user clicks on the plugin button. This method is called instead of |
10361 |
| 1073 | 9354 | The parameter |
10365 |
| 1074 | 9358 | The parameter |
10369 |
| 1075 | 9362 | The return parameter |
10373 |
| 1076 | 9366 | The |
10377 |
| 1077 | 9370 | \n HRESULT CheckCommit (\n [in] HWND hParentWnd,\n [in] BSTR parameters,\n [in] BSTR commonURL,\n [in] BSTR commonRoot,\n [in] SAFEARRAY(BSTR) pathList,\n [in] BSTR commitMessage,\n [out, retval] BSTR * errorMessage\n );\n |
10381 |
| 1078 | 9375 | This method is called right before the commit dialog is closed and the commit begins. A plugin can use this method to validate the selected files/folders for the commit and/or the commit message entered by the user. The parameters are the same as for |
10396 |
| 1079 | 9379 | For the branch/tag dialog, the |
10400 |
| 1080 | 9383 | The return parameter |
10404 |
| 1081 | 9387 | \n HRESULT OnCommitFinished (\n // Parent window for any (error) UI that needs to be displayed.\n [in] HWND hParentWnd,\n \n // The common root of all paths that got committed.\n [in] BSTR commonRoot,\n \n // All the paths that got committed.\n [in] SAFEARRAY(BSTR) pathList,\n \n \n // The text already present in the commit message.\n [in] BSTR logMessage,\n \n // The revision of the commit.\n [in] ULONG revision,\n \n \n // An error to show to the user if this function\n // returns something else than S_OK\n [out, retval] BSTR * error\n );\n |
10408 |
| 1082 | 9392 | This method is called after a successful commit. A plugin can use this method to e.g., close the selected issue or add information about the commit to the issue. The parameters are the same as for |
10436 |
| 1083 | 9396 | \n HRESULT HasOptions(\n // Whether the provider provides options\n [out, retval] VARIANT_BOOL *ret\n );\n |
10440 |
| 1084 | 9401 | This method is called from the settings dialog where the user can configure the plugins. If a plugin provides its own configuration dialog with |
10450 |
| 1085 | 9405 | \n HRESULT ShowOptionsDialog(\n // Parent window for the options dialog\n [in] HWND hParentWnd,\n \n // Parameters for your provider.\n [in] BSTR parameters,\n \n // The parameters string\n [out, retval] BSTR * newparameters\n );\n |
10454 |
| 1086 | 9410 | This method is called from the settings dialog when the user clicks on the \"Options\" button that is shown if |
10470 |
| 1087 | 9414 | The |
10474 |
| 1088 | 9418 | The |
10478 |
| 1089 | 9422 | Frequently Asked Questions (FAQ) | 10482 |
| 1090 | 9430 | Because TortoiseSVN is being developed all the time it is sometimes hard to keep the documentation completely up to date. We maintain an |
10490 |
| 1091 | 9434 | We also maintain a project |
10494 |
| 1092 | 9438 | 10498 | |
| 1093 | 9442 | If you want to help out with the development of TortoiseSVN, then you should take part in discussions on |
10502 |
| 1094 | 9446 | If you want to help with the translation of the TortoiseSVN user interface or the documentation, send an e-mail to |
10506 |
| 1095 | 9450 | If you have a question which is not answered anywhere else, the best place to ask it is on one of the mailing lists: |
10510 |
| 1096 | 9458 | This appendix contains solutions to problems/questions you might have when using TortoiseSVN. | 10518 |
| 1097 | 9462 | Move/copy a lot of files at once | 10522 |
| 1098 | 9470 | reorganize | 10530 |
| 1099 | 9474 | Moving/Copying single files can be done by using |
10534 |
| 1100 | 9478 | The recommended way is by |
10538 |
| 1101 | 9482 | Force users to enter a log message | 10542 |
| 1102 | 9498 | There are two ways to prevent users from committing with an empty log message. One is specific to TortoiseSVN, the other works for all Subversion clients, but requires access to the server directly. | 10558 |
| 1103 | 9506 | If you have direct access to the repository server, you can install a pre-commit hook script which rejects all commits with an empty or too short log message. | 10567 |
| 1104 | 9510 | In the repository folder on the server, there's a sub-folder |
10571 |
| 1105 | 9514 | This method is the recommended way if your users also use other Subversion clients than TortoiseSVN. The drawback is that the commit is rejected by the server and therefore users will get an error message. The client can't know before the commit that it will be rejected. If you want to make TortoiseSVN have the |
10575 |
| 1106 | 9522 | TortoiseSVN uses properties to control some of its features. One of those properties is the |
10584 |
| 1107 | 9526 | If you set that property on a folder, then TortoiseSVN will disable the |
10588 |
| 1108 | 9530 | For detailed information on those project properties, please refer to |
10592 |
| 1109 | 9534 | Update selected files from the repository | 10596 |
| 1110 | 9538 | Normally you update your working copy using |
10600 |
| 1111 | 9542 | Use |
10604 |
| 1112 | 9546 | Roll back (Undo) revisions in the repository | 10608 |
| 1113 | 9550 | rollback | 10612 |
| 1114 | 9566 | The easiest way to revert the changes from a single revision, or from a range of revisions, is to use the revision log dialog. This is also the method to use of you want to discard recent changes and make an earlier revision the new HEAD. | 10629 |
| 1115 | 9570 | Select the file or folder in which you need to revert the changes. If you want to revert all changes, this should be the top level folder. | 10633 |
| 1116 | 9574 | Select |
10637 |
| 1117 | 9578 | Select the revision you wish to revert. If you want to undo a range of revisions, select the first one and hold the |
10641 |
| 1118 | 9582 | Or if you want to make an earlier revision the new HEAD revision, |
10645 |
| 1119 | 9587 | You have reverted the changes within your working copy. Check the results, then commit the changes. | 10650 |
| 1120 | 9595 | To undo a larger range of revisions, you can use the Merge dialog. The previous method uses merging behind the scenes; this method uses it explicitly. | 10659 |
| 1121 | 9599 | In your working copy select |
10663 |
| 1122 | 9603 | In the |
10667 |
| 1123 | 9607 | In the |
10671 |
| 1124 | 9611 | make sure the |
10675 |
| 1125 | 9615 | In the |
10679 |
| 1126 | 9619 | Click |
10683 |
| 1127 | 9627 | Since TortoiseSVN never loses data, your rolled backrevisions still exist as intermediate revisions in the repository. Only the HEAD revision was changed to a previous state. If you want to make revisions disappear completely from your repository, erasing all trace that they ever existed, you have to use more extreme measures. Unless there is a really good reason to do this, it is |
10692 |
| 1128 | 9631 | The only way to remove data from the repository is to use the Subversion command line tool |
10696 |
| 1129 | 9635 | Compare two revisions of a file or folder | 10700 |
| 1130 | 9651 | If you want to compare two revisions in an item's history, for example revisions 100 and 200 of the same file, just use |
10719 |
| 1131 | 9655 | If you want to compare the same item in two different trees, for example the trunk and a branch, you can use the repository browser to open up both trees, select the file in both places, then use |
10723 |
| 1132 | 9659 | If you want to compare two trees to see what has changed, for example the trunk and a tagged release, you can use |
10727 |
| 1133 | 9663 | Include a common sub-project | 10731 |
| 1134 | 9675 | Sometimes you will want to include another project within your working copy, perhaps some library code. You don't want to make a duplicate of this code in your repository because then you would lose connection with the original (and maintained) code. Or maybe you have several projects which share core code. There are at least 3 ways of dealing with this. | 10745 |
| 1135 | 9683 | Set the |
10753 |
| 1136 | 9687 | Commit the new folder. Now when you update, Subversion will pull a copy of that project from its repository into your working copy. The sub-folders will be created automatically if required. Each time you update your main working copy, you will also receive the latest version of all external projects. | 10757 |
| 1137 | 9691 | Of the three methods described, this is the only one which needs no setup on the client side. Once externals are specified in the folder properties, all clients will get populated folders when they update. | 10761 |
| 1138 | 9699 | Create a new folder within your project to contain the common code, but do not add it to Subversion | 10770 |
| 1139 | 9703 | Select |
10774 |
| 1140 | 9707 | The two working copies are independent. When you commit changes to the parent, changes to the nested WC are ignored. Likewise when you update the parent, the nested WC is not updated. | 10778 |
| 1141 | 9715 | If you use the same common core code in several projects, and you do not want to keep multiple working copies of it for every project that uses it, you can just check it out to a separate location which is related to all the other projects which use it. For example: C:\\Projects\\Proj1\n C:\\Projects\\Proj2\n C:\\Projects\\Proj3\n C:\\Projects\\Common\n |
10787 |
| 1142 | 9719 | If your projects are scattered in unrelated locations you can use a variant of this, which is to put the common code in one location and use drive letter substitution to map that location to something you can hard code in your projects, eg. Checkout the common code to SUBST X: \"D:\\Documents\\framework\"\n #include \"X:\\superio\\superio.h\"\n |
10797 |
| 1143 | 9723 | This method will only work in an all-PC environment, and you will need to document the required drive mappings so your team know where these mysterious files are. This method is strictly for use in closed development environments, and not recommended for general use. | 10806 |
| 1144 | 9735 | If you frequently need to open the repository browser at a particular location, you can create a desktop shortcut using the automation interface to TortoiseProc. Just create a new shortcut and set the target to: TortoiseProc.exe /command:repobrowser /path:\"url/to/repository\"\n |
10820 |
| 1145 | 9739 | Ignore files which are already versioned | 10827 |
| 1146 | 9751 | If you accidentally added some files which should have been ignored, how do you get them out of version control without losing them? Maybe you have your own IDE configuration file which is not part of the project, but which took you a long time to set up just the way you like it. | 10841 |
| 1147 | 9755 | If you have not yet committed the add, then all you have to do is use |
10845 |
| 1148 | 9759 | If the files are already in the repository, they have to be deleted from the repository and added to the ignore list. Fortunately TortoiseSVN has a convenient shortcut for doing this. |
10849 |
| 1149 | 9767 | If you have a working copy which you want to convert back to a plain folder tree without the |
10858 |
| 1150 | 9775 | If you have a working copy which you no longer need, how do you get rid of it cleanly? Easy - just delete it in Windows Explorer! Working copies are private local entities, and they are self-contained. | 10867 |
| 1151 | 9779 | Useful Tips For Administrators | 10871 |
| 1152 | 9783 | This appendix contains solutions to problems/questions you might have when you are responsible for deploying TortoiseSVN to multiple client computers. | 10875 |
| 1153 | 9787 | Deploy TortoiseSVN via group policies | 10879 |
| 1154 | 9809 | deploy | 10903 |
| 1155 | 9813 | The TortoiseSVN installer comes as an MSI file, which means you should have no problems adding that MSI file to the group policies of your domain controller. | 10907 |
| 1156 | 9817 | A good walk-through on how to do that can be found in the knowledge base article 314934 from Microsoft: |
10911 |
| 1157 | 9821 | Versions 1.3.0 and later of TortoiseSVN must be installed under |
10915 |
| 1158 | 9841 | TortoiseSVN checks if there's a new version available every few days. If there is a newer version available, a dialog shows up informing the user about that. | 10937 |
| 1159 | 9849 | If you're responsible for a lot of users in your domain, you might want your users to use only versions you have approved and not have them install always the latest version. You probably don't want that upgrade dialog to show up so your users don't go and upgrade immediately. | 10945 |
| 1160 | 9853 | Versions 1.4.0 and later of TortoiseSVN allow you to redirect that upgrade check to your intranet server. You can set the registry key 1.4.1.6000\n A new version of TortoiseSVN is available for you to download!\n http://192.168.2.1/downloads/TortoiseSVN-1.4.1.6000-svn-1.4.0.msi\n |
10949 |
| 1161 | 9857 | Setting the |
10958 |
| 1162 | 9861 | SVN_ASP_DOT_NET_HACK | 10962 |
| 1163 | 9873 | As of version 1.4.0 and later, the TortoiseSVN installer doesn't provide the user with the option to set the |
10974 |
| 1164 | 9877 | But that option is only hidden for the user. You still can force the TortoiseSVN installer to set that environment variable by setting the msiexec /i TortoiseSVN-1.4.0.msi ASPDOTNETHACK=TRUE\n |
10978 |
| 1165 | 9893 | As of version 1.5.0 and later, TortoiseSVN allows you to disable (actually, hide) context menu entries. Since this is a feature which should not be used lightly but only if there is a compelling reason, there is no GUI for this and it has to be done directly in the registry. This can be used to disable certain commands for users who should not use them. But please note that only the context menu entries in the |
10997 |
| 1166 | 9897 | The registry keys which hold the information on which context menus to show are |
11001 |
| 1167 | 9901 | Each of these registry entries is a |
11005 |
| 1168 | 9905 | Menu entries and their values | 11009 |
| 1169 | 10075 | Example: to disable the Relocatethe Delete unversioned itemsand the Settingsmenu entries, add the values assigned to the entries like this: 0x0000000000080000\n + 0x0000000080000000\n + 0x2000000000000000\n = 0x2000000080080000\n |
11179 |
| 1170 | 10079 | To enable the menu entries again, simply delete the two registry keys. | 11189 |
| 1171 | 10087 | Since all commands for TortoiseSVN are controlled through command line parameters, you can automate it with batch scripts or start specific commands and dialogs from other programs (e.g. your favourite text editor). | 11197 |
| 1172 | 10091 | Remember that TortoiseSVN is a GUI client, and this automation guide shows you how to make the TortoiseSVN dialogs appear to collect user input. If you want to write a script which requires no input, you should use the official Subversion command line client instead. | 11201 |
| 1173 | 10111 | The TortoiseSVN GUI program is called |
11222 |
| 1174 | 10115 | Since some of the commands can take a list of target paths (e.g. committing several specific files) the parameter can take several paths, separated by a |
11226 |
| 1175 | 10119 | TortoiseSVN uses temporary files to pass multiple arguments between the shell extension and the main program. From TortoiseSVN 1.5.0 on and later, parameter is obsolete and there is no need to add it anymore. | 11230 |
| 1176 | 10123 | You can also specify a file which contains a list of paths, separated by newlines. The file must be in UTF-16 format. If you pass such a file, use instead of . To have TortoiseProc delete that file after the command is finished, you can pass the parameter . | 11234 |
| 1177 | 10127 | The progress dialog which is used for commits, updates and many more commands usually stays open after the command has finished until the user presses the |
11238 |
| 1178 | 10131 | To specify a different location of the configuration file, use the parameter . This will override the default path, including any registry setting. | 11242 |
| 1179 | 10135 | don't close the dialog automatically | 11246 |
| 1180 | 10139 | auto close if no errors | 11250 |
| 1181 | 10143 | auto close if no errors and conflicts | 11254 |
| 1182 | 10147 | auto close if no errors, conflicts and merges | 11258 |
| 1183 | 10151 | To close the progress dialog at the end of a command automatically without using the permanent setting you can pass the parameter. |
11262 |
| 1184 | 10155 | The table below lists all the commands which can be accessed using the TortoiseProc.exe command line. As described above, these should be used in the form |
11266 |
| 1185 | 10167 | Shows the about dialog. This is also shown if no command is given. | 11279 |
| 1186 | 10238 | filter by everything | 11350 |
| 1187 | 10242 | filter by messages | 11354 |
| 1188 | 10246 | filter by path | 11358 |
| 1189 | 10250 | filter by authors | 11362 |
| 1190 | 10254 | filter by revisions | 11366 |
| 1191 | 10258 | filter by bug ID | 11370 |
| 1192 | 10262 | Opens the log dialog. The |
11374 |
| 1193 | 10271 | Opens the checkout dialog. The |
11383 |
| 1194 | 10275 | Opens the import dialog. The |
11387 |
| 1195 | 10299 | Updates the working copy in |
11411 |
| 1196 | 10322 | Opens the commit dialog. The |
11434 |
| 1197 | 10326 | Adds the files in |
11438 |
| 1198 | 10330 | Reverts local modifications of a working copy. The |
11442 |
| 1199 | 10338 | Cleans up interrupted or aborted operations and unlocks the working copy in |
11450 |
| 1200 | 10348 | Marks a conflicted file specified in |
11460 |
| 1201 | 10356 | Opens the switch dialog. The |
11468 |
| 1202 | 10360 | Exports the working copy in |
11472 |
| 1203 | 10385 | Opens the merge dialog. The |
11497 |
| 1204 | 10389 | Opens the merge all dialog. The |
11501 |
| 1205 | 10393 | Brings up the branch/tag dialog. The |
11505 |
| 1206 | 10401 | Removes the file(s) in |
11513 |
| 1207 | 10405 | Renames the file in |
11517 |
| 1208 | 10423 | Starts the external diff program specified in the TortoiseSVN settings. The |
11535 |
| 1209 | 10427 | Depending on the URLs and revisions to compare, this either shows a unified diff (if the option is set), a dialog with a list of files that have changed or if the URLs point to files starts the diff viewer for those two files. | 11539 |
| 1210 | 10431 | The options , , and must be specified. The options , , and are optional. | 11543 |
| 1211 | 10435 | Starts the conflict editor specified in the TortoiseSVN settings with the correct files for the conflicted file in |
11547 |
| 1212 | 10439 | Opens the relocate dialog. The |
11551 |
| 1213 | 10455 | Opens the check-for-modifications dialog. The |
11567 |
| 1214 | 10468 | Starts the repository browser dialog, pointing to the URL of the working copy given in |
11580 |
| 1215 | 10476 | Adds all targets in |
11588 |
| 1216 | 10480 | Opens the blame dialog for the file specified in . | 11592 |
| 1217 | 10484 | If the options and are set, then the dialog asking for the blame range is not shown but the revision values of those options are used instead. | 11596 |
| 1218 | 10488 | If the option is set, TortoiseBlame will open with the specified line number showing. | 11600 |
| 1219 | 10492 | The options , and are also supported. | 11604 |
| 1220 | 10504 | Saves a file from an URL or working copy path given in |
11616 |
| 1221 | 10508 | Creates a patch file for the path given in |
11620 |
| 1222 | 10512 | Shows the revision graph for the path given in |
11624 |
| 1223 | 10516 | Locks a file or all files in a directory given in |
11628 |
| 1224 | 10520 | Unlocks a file or all files in a directory given in |
11632 |
| 1225 | 10524 | Rebuilds the windows icon cache. Only use this in case the windows icons are corrupted. A side effect of this (which can't be avoided) is that the icons on the desktop get rearranged. To suppress the message box, pass |
11636 |
| 1226 | 10528 | Shows the properties dialog for the path given in |
11640 |
| 1227 | 10532 | Examples (which should be entered on one line): TortoiseProc.exe /command:commit\n /path:\"c:\\svn_wc\\file1.txt*c:\\svn_wc\\file2.txt\"\n /logmsg:\"test log message\" /closeonend:0\n \n TortoiseProc.exe /command:update /path:\"c:\\svn_wc\\\" /closeonend:0\n \n TortoiseProc.exe /command:log /path:\"c:\\svn_wc\\file1.txt\"\n /startrev:50 /endrev:60 /closeonend:0\n |
11644 |
| 1228 | 10544 | Using special URLs, it is also possible to call TortoiseProc from a web page. | 11666 |
| 1229 | 10548 | TortoiseSVN registers a new protocol |
11670 |
| 1230 | 10552 | The format of the |
11674 |
| 1231 | 10556 | tsvncmd:command:cmd?parameter:paramvalue?parameter:paramvalue | 11678 |
| 1232 | 10560 | with |
11682 |
| 1233 | 10564 | The following commands are allowed with |
11686 |
| 1234 | 10568 | \n <a href=\"tsvncmd:command:showcompare?\n url1:https://stexbar.googlecode.com/svn/trunk/StExBar/src/setup/Setup.wxs?\n url2:https://stexbar.googlecode.com/svn/trunk/StExBar/src/setup/Setup.wxs?\n revision1:188?revision2:189\">compare</a>\n |
11690 |
| 1235 | 10573 | An example URL might look like this: |
11700 |
| 1236 | 10581 | The image diff tool has a few command line options which you can use to control how the tool is started. The program is called |
11708 |
| 1237 | 10585 | The table below lists all the options which can be passed to the image diff tool on the command line. | 11712 |
| 1238 | 10597 | Path to the file shown on the left. | 11724 |
| 1239 | 10602 | A title string. This string is used in the image view title instead of the full path to the image file. | 11729 |
| 1240 | 10606 | Path to the file shown on the right. | 11733 |
| 1241 | 10610 | If specified, the image diff tool switches to the overlay mode (alpha blend). | 11737 |
| 1242 | 10614 | If specified, the image diff tool fits both images together. | 11741 |
| 1243 | 10618 | Shows the image info box. | 11745 |
| 1244 | 10622 | Example (which should be entered on one line): TortoiseIDiff.exe /left:\"c:\\images\\img1.jpg\" /lefttitle:\"image 1\"\n /right:\"c:\\images\\img2.jpg\" /righttitle:\"image 2\"\n /fit /overlay\n |
11749 |
| 1245 | 10626 | Command Line Interface Cross Reference | 11758 |
| 1246 | 10638 | Sometimes this manual refers you to the main Subversion documentation, which describes Subversion in terms of the Command Line Interface (CLI). To help you understand what TortoiseSVN is doing behind the scenes, we have compiled a list showing the equivalent CLI commands for each of TortoiseSVN's GUI operations. | 11770 |
| 1247 | 10642 | Even though there are CLI equivalents to what TortoiseSVN does, remember that TortoiseSVN does |
11774 |
| 1248 | 10646 | If you think you have found a bug in TortoiseSVN, we may ask you to try to reproduce it using the CLI, so that we can distinguish TortoiseSVN issues from Subversion issues. This reference tells you which command to try. | 11778 |
| 1249 | 10650 | Conventions and Basic Rules | 11782 |
| 1250 | 10654 | In the descriptions which follow, the URL for a repository location is shown simply as |
11786 |
| 1251 | 10658 | Because TortoiseSVN is a Windows Shell Extension, it is not able to use the notion of a current working directory. All working copy paths must be given using the absolute path, not a relative path. | 11790 |
| 1252 | 10662 | Certain items are optional, and these are often controlled by checkboxes or radio buttons in TortoiseSVN. These options are shown in [square brackets] in the command line definitions. | 11794 |
| 1253 | 10666 | \n svn checkout [-depth ARG] [--ignore-externals] [-r rev] URL PATH\n |
11798 |
| 1254 | 10672 | The depth combo box items relate to the |
11806 |
| 1255 | 10677 | If |
11811 |
| 1256 | 10681 | If you are checking out a specific revision, specify that after the URL using |
11815 |
| 1257 | 10685 | \n svn info URL_of_WC\n svn update [-r rev] PATH\n |
11819 |
| 1258 | 10690 | Updating multiple items is currently not an atomic operation in Subversion. So TortoiseSVN first finds the HEAD revision of the repository, and then updates all items to that particular revision number to avoid creating a mixed revision working copy. | 11827 |
| 1259 | 10694 | If only one item is selected for updating or the selected items are not all from the same repository, TortoiseSVN just updates to HEAD. | 11831 |
| 1260 | 10698 | No command line options are used here. |
11835 |
| 1261 | 10706 | \n svn info URL_of_WC\n svn update [-r rev] [-depth ARG] [--ignore-externals] PATH\n |
11843 |
| 1262 | 10711 | In TortoiseSVN, the commit dialog uses several Subversion commands. The first stage is a status check which determines the items in your working copy which can potentially be committed. You can review the list, diff files against BASE and select the items you want to be included in the commit. | 11851 |
| 1263 | 10723 | If |
11867 |
| 1264 | 10727 | If you check any unversioned files and folders, those items will first be added to your working copy. | 11871 |
| 1265 | 10737 | When you click on OK, the Subversion commit takes place. If you have left all the file selection checkboxes in their default state, TortoiseSVN uses a single recursive commit of the working copy. If you deselect some files, then a non-recursive commit ( |
11885 |
| 1266 | 10741 | \n svn commit -m \"LogMessage\" [-depth ARG] [--no-unlock] PATH...\n |
11889 |
| 1267 | 10748 | 11898 | |
| 1268 | 10752 | If |
11902 |
| 1269 | 10761 | If you use Diff from the main context menu, you are diffing a modified file against its BASE revision. The output from the CLI command above also does this and produces output in unified-diff format. However, this is not what TortoiseSVN is using. TortoiseSVN uses TortoiseMerge (or a diff program of your choosing) to display differences visually between full-text files, so there is no direct CLI equivalent. | 11915 |
| 1270 | 10765 | You can also diff any 2 files using TortoiseSVN, whether or not they are version controlled. TortoiseSVN just feeds the two files into the chosen diff program and lets it work out where the differences lie. | 11919 |
| 1271 | 10769 | \n svn log -v -r 0:N --limit 100 [--stop-on-copy] PATH\n or\n svn log -v -r M:N [--stop-on-copy] PATH\n |
11923 |
| 1272 | 10774 | By default, TortoiseSVN tries to fetch 100 log messages using the --limit method. If the settings instruct it to use old APIs, then the second form is used to fetch the log messages for 100 repository revisions. | 11932 |
| 1273 | 10778 | If |
11936 |
| 1274 | 10787 | The initial status check looks only at your working copy. If you click on |
11953 |
| 1275 | 10795 | The revision graph is a feature of TortoiseSVN only. There's no equivalent in the command line client. | 11961 |
| 1276 | 10799 | What TortoiseSVN does is an svn info URL_of_WC\n svn log -v URL\n |
11965 |
| 1277 | 10807 | \n svn info URL_of_WC\n svn list [-r rev] -v URL\n |
11977 |
| 1278 | 10812 | You can use |
11985 |
| 1279 | 10816 | The |
11989 |
| 1280 | 10820 | This command has no CLI equivalent. It invokes TortoiseMerge or an external 3-way diff/merge tool to look at the files involved in the conflict and sort out which lines to use. | 11993 |
| 1281 | 10843 | The first stage is a status check which determines the items in your working copy which can potentially be reverted. You can review the list, diff files against BASE and select the items you want to be included in the revert. | 12028 |
| 1282 | 10847 | When you click on OK, the Subversion revert takes place. If you have left all the file selection checkboxes in their default state, TortoiseSVN uses a single recursive ( |
12032 |
| 1283 | 10865 | The first stage is a status check which determines the files in your working copy which can potentially be locked. You can select the items you want to be locked. | 12058 |
| 1284 | 10869 | \n svn lock -m \"LockMessage\" [--force] PATH...\n |
12062 |
| 1285 | 10874 | 12069 | |
| 1286 | 10878 | If |
12073 |
| 1287 | 10891 | \n svn copy -m \"LogMessage\" URL URL\n or\n svn copy -m \"LogMessage\" URL@rev URL@rev\n or\n svn copy -m \"LogMessage\" PATH URL\n |
12090 |
| 1288 | 10900 | The Branch/Tag dialog performs a copy to the repository. There are 3 radio button options: |
12105 |
| 1289 | 10904 | \n svn info URL_of_WC\n svn switch [-r rev] URL PATH\n |
12109 |
| 1290 | 10909 | \n svn merge [--dry-run] --force From_URL@revN To_URL@revM PATH\n |
12117 |
| 1291 | 10914 | The |
12124 |
| 1292 | 10918 | \n svn diff From_URL@revN To_URL@revM\n |
12128 |
| 1293 | 10923 | The |
12135 |
| 1294 | 10927 | \n svn export [-r rev] [--ignore-externals] URL Export_PATH\n |
12139 |
| 1295 | 10932 | This form is used when accessed from an unversioned folder, and the folder is used as the destination. | 12146 |
| 1296 | 10936 | Exporting a working copy to a different location is done without using the Subversion library, so there's no matching command line equivalent. | 12150 |
| 1297 | 10940 | What TortoiseSVN does is to copy all files to the new location while showing you the progress of the operation. Unversioned files/folders can optionally be exported too. | 12154 |
| 1298 | 10944 | In both cases, if |
12158 |
| 1299 | 10948 | \n svn switch --relocate From_URL To_URL\n |
12162 |
| 1300 | 10957 | \n svnadmin create --fs-type fsfs PATH\n |
12173 |
| 1301 | 10962 | If you selected a folder, TortoiseSVN first scans it recursively for items which can be added. | 12180 |
| 1302 | 10966 | \n svn import -m LogMessage PATH URL\n |
12184 |
| 1303 | 10976 | If you use TortoiseBlame to view the blame info, the file log is also required to show log messages in a tooltip. If you view blame as a text file, this information is not required. | 12202 |
| 1304 | 10984 | \n svn propget svn:ignore PATH > tempfile\n {edit new ignore item into tempfile}\n svn propset svn:ignore -F tempfile PATH\n |
12210 |
| 1305 | 10989 | Because the |
12219 |
| 1306 | 10998 | TortoiseSVN creates a patch file in unified diff format by comparing the working copy with its BASE version. | 12230 |
| 1307 | 11002 | Applying patches is a tricky business unless the patch and working copy are at the same revision. Luckily for you, you can use TortoiseMerge, which has no direct equivalent in Subversion. | 12234 |
| 1308 | 11010 | This appendix contains a more detailed discussion of the implementation of some of TortoiseSVN's features. | 12242 |
| 1309 | 11018 | Every file and folder has a Subversion status value as reported by the Subversion library. In the command line client, these are represented by single letter codes, but in TortoiseSVN they are shown graphically using the icon overlays. Because the number of overlays is very limited, each overlay may represent one of several status values. | 12250 |
| 1310 | 11022 | 12254 | |
| 1311 | 11026 | 12258 | |
| 1312 | 11030 | 12262 | |
| 1313 | 11034 | 12266 | |
| 1314 | 11038 | 12270 | |
| 1315 | 11042 | 12274 | |
| 1316 | 11046 | 12278 | |
| 1317 | 11050 | 12282 | |
| 1318 | 11054 | 12286 | |
| 1319 | 11058 | If an item has subversion status |
12290 |
| 1320 | 11062 | An item can only have one Subversion status value. For example a file could be locally modified and it could be marked for deletion at the same time. Subversion returns a single status value - in this case |
12294 |
| 1321 | 11066 | When TortoiseSVN displays the status recursively (the default setting), each folder displays an overlay reflecting its own status and the status of all its children. In order to display a single |
12298 |
| 1322 | 11070 | In fact, you may find that not all of these icons are used on your system. This is because the number of overlays allowed by Windows is limited to 15. Windows uses 4 of those, and the remaining 11 can be used by other applications. If there are not enough overlay slots available, TortoiseSVN tries to be a Good Citizen (TM)and limits its use of overlays to give other apps a chance. |
12302 |
| 1323 | 11074 | 12306 | |
| 1324 | 11078 | 12310 | |
| 1325 | 11082 | 12314 | |
| 1326 | 11086 | 12318 | |
| 1327 | 11090 | 12322 | |
| 1328 | 11094 | Securing Svnserve using SSH | 12326 |
| 1329 | 11098 | This section provides a step-by-step guide to setting up Subversion and TortoiseSVN to use the |
12330 |
| 1330 | 11102 | In this implementation we create a single SSH user account for all subversion users, and use different authentication keys to differentiate between the real Subversion users. | 12334 |
| 1331 | 11106 | In this appendix we assume that you already have the subversion tools installed, and that you have created a repository as detailed elsewhere in this manual. Note that you should |
12338 |
| 1332 | 11110 | Much of the information here comes from a tutorial provided by Marc Logemann, which has been archived at |
12342 |
| 1333 | 11114 | You can also watch a video tutorial created by Maximo Migliari which takes you through all the important steps. Watch it on |
12346 |
| 1334 | 11122 | You need to have SSH enabled on the server, and here we assume that you will be using OpenSSH. On most distributions this will already be installed. To find out, type: ps xa | grep sshd\n |
12355 |
| 1335 | 11126 | One point to note is that if you build Subversion from source and do not provide any argument to |
12362 |
| 1336 | 11130 | To check that everything is OK, login in as the target user with SSH and type: which svnserve\n |
12366 |
| 1337 | 11134 | Create a new user which we will use to access the svn repository: useradd -m svnuser\n |
12373 |
| 1338 | 11142 | Install Cygwin SSH daemon as described here: |
12384 |
| 1339 | 11146 | Create a new Windows user account |
12388 |
| 1340 | 11150 | If there is no password file yet then create one from the Cygwin console using: mkpasswd -l > /etc/passwd\n |
12392 |
| 1341 | 11154 | SSH Client Tools for use with TortoiseSVN | 12399 |
| 1342 | 11158 | Grab the tools we need for using SSH on the windows client from this site: |
12403 |
| 1343 | 11166 | The next step is to create a key pair for authentication. There are two possible ways to create keys. The first is to create the keys with PuTTYgen on the client, upload the public key to your server and use the private key with PuTTY. The other is to create the key pair with the OpenSSH tool ssh-keygen, download the private key to your client and convert the private key to a PuTTY-style private key. | 12411 |
| 1344 | 11170 | Create Keys using ssh-keygen | 12415 |
| 1345 | 11174 | Login to the server as ssh-keygen -b 1024 -t dsa -N passphrase -f keyfile\n ls -l keyfile*\n |
12419 |
| 1346 | 11178 | Append the public key to those in the cat keyfile.pub >> /home/svnuser/.ssh/authorized_keys\n |
12428 |
| 1347 | 11182 | In order to use the private key we generated, we have to convert it to a putty format. This is because the private key file format is not specified by a standards body. After you download the private key file to your client PC, start PuTTYgen and use |
12435 |
| 1348 | 11186 | Create Keys using PuTTYgen | 12439 |
| 1349 | 11190 | Use PuTTYgen to generate a public-key/private-key pair and save it. Copy the public key to the server and append it to those in the cat keyfile.pub >> /home/svnuser/.ssh/authorized_keys\n |
12443 |
| 1350 | 11198 | To test the connection we will use PuTTY. Start the program and on the |
12454 |
| 1351 | 11202 | Click on |
12458 |
| 1352 | 11206 | You may need to edit PubkeyAuthentication yes\n PasswordAuthentication no\n PermitEmptyPasswords no\n ChallengeResponseAuthentication no\n |
12462 |
| 1353 | 11214 | So far we have only tested that you can login using SSH. Now we need to make sure that the SSH connection can actually run svnserve. On the server modify |
12476 |
| 1354 | 11218 | Note: This is all on one very long line. command=\"svnserve -t -r <ReposRootPath> --tunnel-user=<author>\",\n no-port-forwarding,no-agent-forwarding,no-X11-forwarding,\n no-pty ssh-rsa <PublicKey> <Comment>\n |
12480 |
| 1355 | 11222 | 12489 | |
| 1356 | 11226 | 12493 | |
| 1357 | 11230 | 12497 | |
| 1358 | 11234 | 12501 | |
| 1359 | 11238 | Right click on any folder in Windows Explorer and select svn+ssh://svnuser@SvnConnection/repos\n |
12505 |
| 1360 | 11242 | Click on |
12512 |
| 1361 | 11246 | Note that by default TortoiseSVN uses its own version of Plink to connect. This avoids a console window popping up for every authentication attempt, but it also means that there is nowhere for error messages to appear. If you receive the error Unable to write to standard output, you can try specifying Plink as the client in TortoiseSVN's network settings. This will allow you to see the real error message generated by Plink. |
12516 |
| 1362 | 11254 | One way to simplify the URL in TortoiseSVN is to set the user inside the PuTTY session. For this you have to load your already defined session svn+ssh://SvnConnection/repos\n |
12524 |
| 1363 | 11258 | At the time of writing PuTTY does not check all saved configurations, so if you have multiple configurations with the same server name, it will pick the first one which matches. Also, if you edit the default configuration and save it, the auto login user name is |
12531 |
| 1364 | 11262 | Many people like to use Pageant for storing all their keys. Because a PuTTY session is capable of storing a key, you don't always need Pageant. But imagine you want to store keys for several different servers; in that case you would have to edit the PuTTY session over and over again, depending on the server you are trying to connect with. In this situation Pageant makes perfect sense, because when PuTTY, Plink, TortoisePlink or any other PuTTY-based tool is trying to connect to an SSH server, it checks all private keys that Pageant holds to initiate the connection. | 12535 |
| 1365 | 11266 | For this task, simply run Pageant and add the private key. It should be the same private key you defined in the PuTTY session above. If you use Pageant for private key storage, you can delete the reference to the private key file in your saved PuTTY session. You can add more keys for other servers, or other users of course. | 12539 |
| 1366 | 11270 | If you don't want to repeat this procedure after every reboot of your client, you should place Pageant in the auto-start group of your Windows installation. You can append the keys with complete paths as command line arguments to Pageant.exe | 12543 |
| 1367 | 11274 | The last way to connect to an SSH server is simply by using this URL inside TortoiseSVN: svn+ssh://svnuser@100.101.102.103/repos\n svn+ssh://svnuser@mydomain.com/repos\n |
12547 |
| 1368 | 11278 | If you use this last method, be sure you do not have a default username set in PuTTY. We have had reports of a bug in PuTTY causing connections to close in this case. To remove the default user, simply clear |
12555 |
| 1369 | 11282 | Language Packs and Spell Checkers | 12559 |
| 1370 | 11286 | The standard installer has support only for English, but you can download separate language packs and spell check dictionaries separately after installation. | 12563 |
| 1371 | 11310 | The documentation has also been translated into several different languages. You can download translated manuals from the |
12589 |
Total:1371
String marked as fuzzy is not in final shape.
| Index | Line | English | Line | Native |
| 1 | - | TortoiseSVN is a free open-source Windows client for the time machine. |
91 | TortoiseSVN é um aplicativo gratuito de código aberto para o sistema de controle de versão time machine. |
| 2 | - | TortoiseSVN integrates seamlessly into the Windows shell (i.e. the explorer). This means you can keep working with the tools you're already familiar with. And you do not have to change into a different application each time you need the functions of version control. | 120 | TortoiseSVN se integra sem intermediários com a interface do windows (ex. o explorer). Isto significa que você pode continuar trabalhando com as ferramentas que você já está familiarizado. E você não precisa abrir outra aplicação cada vez que precisa das funções do controle de versão! |
| 3 | - | And you are not limited to using the Windows Explorer; TortoiseSVN's context menus work in many other file managers, and also in the File/Open dialog which is common to most standard Windows applications. You should, however, bear in mind that TortoiseSVN is intentionally developed as an extension for the Windows Explorer. Thus it is possible that in other applications the integration is not as complete and e.g. the icon overlays may not be shown. | 125 | E você não é forçado a usar o Windows Explorer. Os menus do TortoiseSVN funcionam com muitos outros gerenciadores de arquivos, e em janelas Arquivo/Abrir que são comuns em muitas das aplicações padrões do Windows. Você deverá, no entanto, ter em mente que TortoiseSVN é desenvolvido intensionamente como uma externsão do Windows Explorer. Assim é provavel que em outras aplicações a integração não seja completa e por exemplo a sobreposição dos ícones podem não funcionar. |
| 4 | - | Graphical User Interface | 138 | '%s' travado pelo usuário '%s'.\n |
| 5 | - | Although most people just download the installer, you also have full read access to the source code of this program. You can browse it on this link |
219 | TortoiseSVN é um projeto de Código Aberto. Isto significa que vocë tem total acesso para ver o código fonte do projeto. Você pode navegar entre os arquivo no endereço |
| 6 | - | Both TortoiseSVN and Subversion are developed by a community of people who are working on those projects. They come from different countries all over the world, working together to create great software. | 228 | Tanto TortoiseSVN como Subversion são desenvolvidos por pessoas que trabalhando nesses projetos. Elas são de diferentes países de todo o mundo e trabalham juntas para criar aplicativos poderosos. |
| 7 | - | In 2002, Tim Kemp found that Subversion was a very good version control system, but it lacked a good GUI client. The idea for a Subversion client as a Windows shell integration was inspired by the similar client for CVS named TortoiseCVS. Tim studied the source code of TortoiseCVS and used it as a base for TortoiseSVN. He then started the project, registered the domain |
237 | Em 2002, Tim Kemp descobriu que Subversion era um bom sistema de controle de versão, mas pecava em relação à interface. A idéia para um aplicativo baseado no Subversion como uma extensão da interface do windows foi inspirada em um aplicativo similar para CVS chamado TortoiseCVS. |
| 8 | - | Around that time, Stefan Küng was looking for a good and free version control system and found Subversion and the source for TortoiseSVN. Since TortoiseSVN was still not ready for use, he joined the project and started programming. He soon rewrote most of the existing code and started adding commands and features, up to a point where nothing of the original code remained. | 242 | Tim estudou o código fonte do TortoiseCVS e usou isso como base para o TortoiseSVN. Ele então começou o projeto, registrou o domínio |
| 9 | - | As Subversion became more stable it attracted more and more users who also started using TortoiseSVN as their Subversion client. The user base grew quickly (and is still growing every day). That's when Lübbe Onken offered to help out with some nice icons and a logo for TortoiseSVN. He now takes care of the website and manages the many translations. | 247 | Com a estabilidade do Subversion atraindo mais e mais usuários esses também começaram a usar o TortoiseSVN como aplicativo cliente do Subversion. Os usuários comuns aumentaram rapidamente (e continua aumentando a cada dia). Foi quando Lübbe Onken ofereceu ajuda com alguns bons ícones e uma logomarca para TortoiseSVN. E ele cuida também do Website e administra as traduções. |
| 10 | - | for the hard work to get TortoiseSVN to what it is now, and his leadership of the project | 268 | pelo trabalho duro para deixar o TortoiseSVN o que é hoje |
| 11 | - | for the patches, bug reports and new ideas, and for helping others by answering questions on our mailing list | 317 | pelas correções, reporte de problemas e novas idéias, e por ajudar aos outros respondendo perguntas na nossa lista de discussão. |
| 12 | - | This book is written for computer-literate folk who want to use Subversion to manage their data, but prefer to use a GUI client rather than a command line client. TortoiseSVN is a windows shell extension and it is assumed that the user is familiar with the windows explorer and how to use it. | 334 | Este arquivo foi escrito para profissionais de informática que querem usar Subversion para controlar seus dados, mas acham pouco prático usar a linha de comando para isso. Já que TortoiseSVN é uma extensão da interface do windows assume-se que o usuário está familiarizado com o windows explorer e sabe como usá-lo. |
| 13 | - | This |
339 | Este |
| 14 | - | Where extreme care has to be taken. Data corruption or other nasty things may occur if these warnings are ignored. | 416 | Onde deve-se ter um cuidado excessivo, dados podem ser corrompidos ou coisas desagradáveis podem acontecer se esses avisos forem ignorados. |
| 15 | - | Support for Windows 98, Windows ME and Windows NT4 was dropped in version 1.2.0 and Windows 2000 support was dropped in 1.7.0. You can still download and install older versions if you need them. | 442 | TortoiseSVN pode ser executado com o Windows 2000 SP2, Windows XP ou mais atual. Windows 98, Windows ME e Windows NT4 não são mais suportados desde a versão 1.2.0 do TortoiseSVN, mas você ainda pode baixar essas versões antigas se você realmente precisar delas. |
| 16 | - | TortoiseSVN comes with an easy to use installer. Double click on the installer file and follow the instructions. The installer will take care of the rest. Don't forget to reboot after installation. | 455 | TortoiseSVN vem com um instalador simples. Dê um duplo clique no arquivo do instalador e siga as instruções. O instalador cuidará do resto. |
| 17 | - | If you encounter any problems during or after installing TortoiseSVN please refer to our online FAQ at |
468 | Se você encontrar qualquer problema durante ou depois de instalar o TortoiseSVN por favor verifique primeiro |
| 18 | - | But what are the changes? Right click on one of the changed files and select |
579 | Você pode utilizar o comando Resolvido para múltiplos arquivos se clicar com o botão direito do mouse na pasta que contém os arquivos e selecionar |
| 19 | - | Viewing the Project History | 600 | O estilo de projeto Tigris |
| 20 | - | If you want to undo the effects of a particular revision, start with the Log dialog and find the offending revision. Select |
633 | Se você quer fazer uma simples renomeação de arquivo ou diretório, use |
| 21 | - | TortoiseSVN does not support |
1205 | Futuras versões do TortoiseSVN não suportarão acesso ao repositório BDB através do protocolo |
| 22 | - | import this structure into the repository via a |
1373 | importe esta estrutura para dentro do repositório através de um |
| 23 | - | To install svnserve as a native windows service, execute the following command all on one line to create a service which is automatically started when windows starts. sc create svnserve binpath= \"c:\\svnserve\\svnserve.exe --service\n --root c:\\repos\" displayname= \"Subversion\" depend= tcpip\n start= auto\n sc create svnserve binpath= \"\n \\\"C:\\Program Files\\Subversion\\bin\\svnserve.exe\\\"\n --service --root c:\\repos\" displayname= \"Subversion\"\n depend= tcpip start= auto\n sc description svnserve \"Subversion server (svnserve)\"\n |
1679 | Para instalar o svnserve como um serviço nativo no windows, execute o seguinte comando em uma única linha para criar um serviço que será iniciado automaticamente quando o windows iniciar. sc create svnserve binpath= \"c:\\svnserve\\svnserve.exe --service \n --root c:\\repos\" displayname= \"Subversion\" depend= tcpip \n start= auto\n sc create svnserve binpath= \"\n \\\"C:\\Arquivos de Programas\\Subversion\\bin\\svnserve.exe\\\"\n --service --root c:\\repos\" displayname= \"Subversion\" \n depend= tcpip start= auto\n sc description svnserve \"Servidor Subversion (svnserve)\"\n |
| 24 | - | Authentication With a Windows Domain | 2244 | Autenticação Básica com svnserve |
| 25 | - | Immediate children, including folders | 2949 | Filhos diretos, incluindo pastas |
| 26 | - | The Progress dialog showing a commit in progress | 3266 | Janela de progresso mostrando atualização terminada |
| 27 | - | The progress dialog uses colour coding to highlight different commit actions |
3314 | A janela de progresso faz uso de código de cores para sublinhar diferentes ações de atualização |
| 28 | - | A file conflict occurs when two or more developers have changed the same few lines of a file. As Subversion knows nothing of your project, it leaves resolving the conflicts to the developers. Whenever a conflict is reported, you should open the file in question, and search for lines starting with the string <<<<<<< filename\n your changes\n =======\n code merged from repository\n >>>>>>> revision\n |
3488 | Um conflito de arquivo ocorre quando dois ou mais desenvolvedores tenham modificado as mesmas linhas de um arquivo. Como Subversion não conhece seu projeto, a solução de conflitos fica por conta dos desenvolvedores. Sempre que um conflito é reportado, você deverá abrir o arquivo em questão e procurar por linhas que iniciam com a sequência \t<<<<<<< nome do arquivo\n \t\tsuas modificações\n \t=======\n \t\tcódigo incluído desde o repositório\n \t>>>>>>> revisão\n \t |
| 29 | - | 4018 | ||
| 30 | - | Compare and blame with working BASE | 4152 | Comparar e ver &autoria com a BASE de trabalho |
| 31 | - | Compare and blame with previous revision | 4177 | Comparar e ver autoria com a revisão anterior |
| 32 | - | Merge Tracking Features | 4550 | .mesclagem-esquerda.r%ld |
| 33 | - | merge tracking log | 4555 | Não foi possível abrir log |
| 34 | - | Statistical Information | 4669 | Obtendo informações... |
| 35 | - | Difference to another branch/tag | 4820 | Alternar a cópia de trabalho para outro ramo / rótulo |
| 36 | - | Difference with blame information | 4881 | Comparar e ver &autoria com a BASE de trabalho |
| 37 | - | 4910 | ||
| 38 | - | 4919 | ||
| 39 | - | 4924 | ||
| 40 | - | The image difference viewer | 4997 | Visualizador das Diferenças do Arquivo |
| 41 | - | External Diff/Merge Tools | 5026 | Opções Avançadas de Comparação/Combinação |
| 42 | - | Beyond Compare | 5075 | &Comparar URLs |
| 43 | - | Araxis Merge | 5084 | &Caminhos de combinação |
| 44 | - | Explorer context menu for unversioned files | 5126 | Menu de contexto do Explorerer para arquivos controlados |
| 45 | - | select the files you want to add | 5147 | selecione os arquivos ou diretórios que você quer mover |
| 46 | - | svn:keywords | 5676 | svn:keywords |
| 47 | - | Edit properties at HEAD revision | 5757 | &Tempo limite, em segundos, antes de atualizar a última revisão |
| 48 | - | Automatic property setting | 5802 | Nome ruim de propriedade |
| 49 | - | auto-props | 5807 | Ocultar &Automaticamente |
| 50 | - | Conflicts on properties | 5840 | Propriedades não versionadas na revisão %ld:\n |
| 51 | - | TortoiseSVN Project Properties | 5849 | por iniciar o projeto TortoiseSVN |
| 52 | - | Merge a range of revisions | 6365 | Combinar um intervalo de &revisões |
| 53 | - | This method covers the case when you have made one or more revisions to a branch (or to the trunk) and you want to port those changes across to a different branch. | 6370 | Esse método cobre o caso em que foi feita uma ou mais revisões em um ramo (ou ao tronco) e se deseja transportar essas mudanças para um ramo diferente. |
| 54 | - | The Merge Wizard - Select Revision Range | 6420 | &Para: (revisão e URL finais do intervalo para combinar) |
| 55 | - | The Merge Wizard - Reintegrate Merge | 6481 | Reintegrar combinação %s em %s |
| 56 | - | The Merge Wizard - Tree Merge | 6506 | Selecionar as URLs para combinação em árvore |
| 57 | - | Reviewing the Merge Results | 6567 | mostra um sumário dos resultados |
| 58 | - | Handling Conflicts during Merge | 6636 | Conflito de mesclagem durante commit |
| 59 | - | The Merge Conflict Callback Dialog | 6645 | Conflito de mesclagem durante commit |
| 60 | - | Merge a Completed Branch | 6674 | A&grupar por ramo |
| 61 | - | merge reintegrate | 6679 | Reintegrar Combinação |
| 62 | - | The Merge reintegrate Dialog | 6684 | Reintegrar combinação %s em %s |
| 63 | - | Feature Branch Maintenance | 6693 | A&grupar por ramo |
| 64 | - | The Locking Dialog | 6770 | A Janela de Importação |
| 65 | - | Checking Lock Status | 6795 | Estado desconhecido para comando de trava |
| 66 | - | The Check for Modifications Dialog | 6800 | Verificar alterações na cópia de trabalho |
| 67 | - | The Locking Hook Scripts | 6833 | Configurar Script para Eventos |
| 68 | - | unified diff | 6862 | Comparação &unificada |
| 69 | - | Creating a Patch File | 6875 | Lista de Arquivo de Correção |
| 70 | - | The Create Patch dialog | 6884 | Caixa de diálogo do ecrã |
| 71 | - | Applying a Patch File | 6905 | Lista de Arquivo de Correção |
| 72 | - | Blame for Files | 6962 | Selecionar visualizador para arquivos de comparação |
| 73 | - | The Annotate / Blame Dialog | 6967 | Caixa de diálogo do ecrã |
| 74 | - | TortoiseBlame | 6988 | TortoiseBlame |
| 75 | - | Compare and Blame with Working BASE | 7057 | Comparar e ver &autoria com a BASE de trabalho |
| 76 | - | server-side actions | 7079 | Rotinas de eventos no servidor |
| 77 | - | Delete or rename the file. | 7112 | Não é possível apagar o ficheiro INI '%s' |
| 78 | - | View/Edit the file's properties. | 7121 | Exporta um conjunto de propriedades para um arquivo |
| 79 | - | Create a new folder in the repository. | 7142 | Criar cópia no repositório a partir de: |
| 80 | - | Delete or rename the folder. | 7151 | Ou no caso de um diretório movido ... |
| 81 | - | Added or copied items | 7248 | Itens excluídos ou perdidos. |
| 82 | - | Branch tip revision | 7273 | C&riar um ramo/rótulo a partir da revisão |
| 83 | - | Working copy revision | 7282 | Revisão da Cópia de Trabalho Atual |
| 84 | - | Modified working copy | 7291 | Cópia de trabalho '%s' travada |
| 85 | - | Changing the View | 7320 | &Tela inteira |
| 86 | - | Group branches | 7325 | &Iniciar Grupo |
| 87 | - | Align trees on top | 7346 | Alinhar árvores pelo topo |
| 88 | - | Reduce cross lines | 7355 | Reduzir cruzamento de &linhas |
| 89 | - | Differential path names | 7364 | Distinguir &caminhos |
| 90 | - | Show all revisions | 7373 | Mostrar tod&as as revisões |
| 91 | - | Show HEAD revisions | 7382 | &Mostrar últimas revisões |
| 92 | - | Exact copy sources | 7391 | Cópia e&xata das fontes |
| 93 | - | Fold tags | 7400 | Dobrar &rótulos |
| 94 | - | Hide deleted paths | 7409 | Ocultar caminhos &excluídos |
| 95 | - | Hide unchanged branches | 7418 | Ocultar &ramos não utilizados |
| 96 | - | Show WC revision | 7427 | Mostrar revisão da cópia de &trabalho |
| 97 | - | Show WC modifications | 7436 | &Mostrar alterações na cópia de trabalho |
| 98 | - | Tree stripes | 7453 | Conflito de árvore |
| 99 | - | Show overview | 7462 | Mostrar a visão geral do gráfico todo |
| 100 | - | Using the Graph | 7475 | Gráfico de Barras |
| 101 | - | Pruning Trees | 7524 | duas árvores |
| 102 | - | Exporting a Subversion Working Copy | 7553 | '%s' não é uma cópia de trabalho |
| 103 | - | unversioned 'working copy' | 7562 | Cópia de trabalho '%s' travada |
| 104 | - | The Export-from-URL Dialog | 7571 | &Da Cópia de Trabalho na URL: |
| 105 | - | Exporting single files | 7596 | Ficheiros HTML (*.html;*.htm)|*.html;*.htm| |
| 106 | - | Exporting a Change Tree | 7609 | Reduzir árvore &seguinte |
| 107 | - | Relocating a working copy | 7635 | Cópia de trabalho '%s' travada |
| 108 | - | URL changed | 7644 | Caminhos mudados:\n |
| 109 | - | repository URL changed | 7649 | Repositório svn ilegal '%s' |
| 110 | - | server moved | 7654 | servidor movido |
| 111 | - | The Relocate Dialog | 7663 | A Janela de Importação |
| 112 | - | Set the Properties on Folders | 7854 | Não foi possível setar permissão em '%s' |
| 113 | - | Check for updates | 7981 | Verificar atualizações |
| 114 | - | Subversion configuration file | 8046 | Arquivo de con&figuração do Subversion: |
| 115 | - | TortoiseSVN Dialog Settings 1 | 8091 | Abre a janela de configurações. |
| 116 | - | Default number of log messages | 8104 | &Número padrão de mensagens de log |
| 117 | - | Font for log messages | 8113 | &Fonte para mensagens de log: |
| 118 | - | Short date / time format in log messages | 8122 | Formato curto de &data/hora no histórico |
| 119 | - | Can double-click in log list to compare with previous revision | 8131 | Duplo-clique na lista de comentários para comparar com revisão anterior |
| 120 | - | Auto-close | 8140 | Fechar Tudo |
| 121 | - | Always close dialogs for local operations | 8161 | Sempre fechar as janelas para operações locais |
| 122 | - | Use recycle bin when reverting | 8170 | Usar lixeira para fazer reversão |
| 123 | - | Default checkout path | 8187 | Caminho '%s' não encontrado |
| 124 | - | Default checkout URL | 8196 | Entrada padrão não possui URL |
| 125 | - | TortoiseSVN Dialog Settings 2 | 8205 | Abre a janela de configurações. |
| 126 | - | Recurse into unversioned folders | 8214 | Usar recursividade nas pastas não versionadas |
| 127 | - | Use auto-completion of file paths and keywords | 8227 | &Usar autocompletar para caminhos de arquivo e palavras-chave |
| 128 | - | Timeout in seconds to stop the auto-completion parsing | 8236 | &Tempo limite, em segundos, para parar a interpretação do autocompletar |
| 129 | - | Max. items to keep in the log message history | 8253 | Máximo de itens no histórico de mensagens de log |
| 130 | - | Select items automatically | 8274 | Selecionar itens automaticamente |
| 131 | - | Contact the repository on startup | 8283 | &Contatar o repositório ao iniciar |
| 132 | - | Show Lock dialog before locking files | 8292 | Mostrar janela de Bloqueio antes de bloquear arquivos |
| 133 | - | TortoiseSVN Colour Settings | 8309 | Páginas de Configuração de Cores |
| 134 | - | Possible or real conflict / obstructed | 8322 | conflito / obstrução possível ou real |
| 135 | - | Items added to the repository. | 8339 | Não foi possível abrir repositório '%s' |
| 136 | - | Missing / deleted / replaced | 8344 | faltando / excluído / substituído |
| 137 | - | Filter match | 8401 | Correspondência de filtro |
| 138 | - | Revision Graph Settings | 8410 | Filtro do Gráfico de Revisões |
| 139 | - | Classification Patterns | 8419 | Padrões de Classificação |
| 140 | - | Unchanged Node | 8484 | Nó não alterado |
| 141 | - | Current HEAD revision in the repository. | 8497 | caminho '%s' não existe na revisão HEAD |
| 142 | - | Folded Tag Markers | 8534 | Copiar (Ramo / Rótulo) |
| 143 | - | Selected Node Markers | 8543 | Tipo de Nó: diretório\n |
| 144 | - | Stripes | 8552 | Faixas |
| 145 | - | Icon Overlay Settings | 8561 | Sobreposição de Ícones::Controladores de Sobreposição |
| 146 | - | SUBST drives | 8684 | Unidades &Fixas |
| 147 | - | Icon Set Selection | 8708 | Sobreposição de Ícones::Conjunto de Ícones |
| 148 | - | Enabled Overlay Handlers | 8721 | Habilitar Controladores de Sobreposição |
| 149 | - | The Settings Dialog, Icon Handlers Page | 8726 | Exibir estatísticas para o cache de log selecionado |
| 150 | - | Network Settings | 8735 | Configurações avançadas |
| 151 | - | External Program Settings | 8783 | Erro chamando programa externo |
| 152 | - | the conflicted file, the result of the merge operation | 8879 | A última combinação tentou adicionar o arquivo '%s' |
| 153 | - | Diff/Merge Advanced Settings | 8907 | Opções Avançadas de Comparação/Combinação |
| 154 | - | Unified Diff Viewer | 8924 | Programas Externos::Visualizador de Arquivo de Comparação Unificado |
| 155 | - | Saved Data Settings | 8937 | Ajustar preferências\n Preferências |
| 156 | - | URL history | 8952 | Histórico de URLs |
| 157 | - | Log messages (Input dialog) | 8965 | Mensagens de log (Janela de entrada) |
| 158 | - | Log messages (Show log dialog) | 8974 | Mensagens de log (Mostra janela de log) |
| 159 | - | Dialog sizes and positions | 8983 | Dimensões e posições das janelas |
| 160 | - | Authentication data | 8992 | Dados de autenticação |
| 161 | - | Action log | 9005 | Registro de ações |
| 162 | - | Log Caching | 9022 | Cache de Log |
| 163 | - | log cache | 9027 | Estatísticas de Cache de Log |
| 164 | - | Enable log caching | 9040 | &Habilitar cache de log |
| 165 | - | Allow ambiguous URLs | 9053 | Permitir URLs &ambíguas |
| 166 | - | Allow ambiguous UUIDs | 9062 | Permitir &UUIDs ambíguos |
| 167 | - | If the repository cannot be contacted | 9071 | Se o repositório não pode ser acessado |
| 168 | - | Timeout before updating the HEAD revision | 9084 | &Tempo limite, em segundos, antes de atualizar a última revisão |
| 169 | - | Days of inactivity until small caches get removed | 9093 | &Dias de inatividade até que pequenos caches sejam removidos |
| 170 | - | Maximum size of removed inactive caches | 9102 | Tamanho &máximo [kByte] de um cache inativo removido |
| 171 | - | Maximum number of tool failures before cache removal | 9111 | Número máximo de &falhas da ferramenta até a remoção do cache |
| 172 | - | Cached Repositories | 9120 | Repositórios em Cache |
| 173 | - | Log Cache Statistics | 9141 | Estatísticas de Cache de Log |
| 174 | - | The Settings Dialog, Log Cache Statistics | 9146 | Exibir estatísticas para o cache de log selecionado |
| 175 | - | The last time the cache content was changed. | 9179 | Última vez que o conteúdo do cache foi alterado |
| 176 | - | Client Side Hook Scripts | 9236 | Rotinas de eventos no servidor |
| 177 | - | Pre-connect | 9324 | Gancho Pré-Conexão |
| 178 | - | Possible values are: |
9381 | Valores possíveis: 0 (totalmente transparente) .. 255 (opaco) |
| 179 | - | Issue Tracker Integration | 9426 | &Bugtraq (Integração com Gerenciador de Casos) |
| 180 | - | Even though TortoiseSVN and TortoiseMerge are free, you can support the developers by sending in patches and play an active role in the development. You can also help to cheer us up during the endless hours we spend in front of our computers. | 9631 | Mesmo TortoiseSVN e TortoiseMerge sendo gratuitos, você pode ajudar os desenvolvedores enviando correções e desempenhar um papel ativo no desenvolvimento. Você pode ajudar também ajudar nos divertindo nas infindáveis horas que gastamos na frente dos computadores. |
| 181 | - | While working on TortoiseSVN we love to listen to music. And since we spend many hours on the project we need a |
9636 | Enquanto trabalhamos com o TortoiseSVN nós amamos escutar música. E já que nós gastamos muitas horas no projeto nós precisamos de |
| 182 | - | The SubWCRev Program | 9641 | Programa interrompido. |
| 183 | - | version extraction | 9646 | %s, versão %s\n compilado %s, %s\n \n |
| 184 | - | version number in files | 9663 | Ficheiros de recurso devem ter a mesma versão! |
| 185 | - | The SubWCRev Command Line | 9672 | linha de comando do cliente |
| 186 | - | List of available command line switches | 9697 | Lista de opções disponíveis na linha de comando |
| 187 | - | Switch | 9705 | Alternar |
| 188 | - | Description | 9714 | Descrição |
| 189 | - | Replaced with the comment of the lock. | 9871 | especifica comentário de trava ARG |
| 190 | - | True if the item is versioned. | 10013 | Já existe um item versionado '%s' |
| 191 | - | plugin | 10190 | Falha ao carregar 'plugin' |
| 192 | - | Hook-script on the server | 10562 | Rotinas de eventos no servidor |
| 193 | - | Project properties | 10579 | propriedades do projeto |
| 194 | - | Use the revision log dialog | 10624 | Invocando a Janela de Histórico de Revisão |
| 195 | - | Use the merge dialog | 10654 | usa ARG como comando merge |
| 196 | - | Use |
10687 | usa semântica estrita |
| 197 | - | compare files | 10704 | Nível: arquivos\n |
| 198 | - | compare folders | 10709 | Comparando Diretórios |
| 199 | - | changes | 10714 | apagando mudanças |
| 200 | - | common projects | 10735 | Índice dos projetos |
| 201 | - | vendor projects | 10740 | Índice dos projetos |
| 202 | - | Use a nested working copy | 10765 | '%s' não é uma cópia de trabalho |
| 203 | - | Use a relative location | 10782 | Relativo ao esquema |
| 204 | - | Create a shortcut to a repository | 10810 | Não foi possível abrir repositório '%s' |
| 205 | - | shortcut | 10815 | Criar atalho |
| 206 | - | remove versioning | 10831 | Controle de diretório |
| 207 | - | detach from repository | 10836 | Obtendo informações do repositório... |
| 208 | - | Unversion a working copy | 10853 | Cópia de trabalho '%s' travada |
| 209 | - | Remove a working copy | 10862 | Cópia de trabalho '%s' travada |
| 210 | - | group policies | 10884 | &Iniciar Grupo |
| 211 | - | domain controller | 10898 | Domínio Windows |
| 212 | - | Redirect the upgrade check | 10919 | Não foi possível verificar o diretório '%s' |
| 213 | - | upgrade check | 10924 | submeter |
| 214 | - | automation | 11212 | automatizando |
| 215 | - | List of available commands and options | 11270 | Lista de atalhos do teclado e comandos. |
| 216 | - | \n svn diff PATH > patch-file\n |
12223 | O caminho do arquivo de correção/diferença para aplicar para o diretório. |
| 217 | - | Setting Up a Linux Server | 12350 | Configurando um Servidor Windows |
| 218 | - | The TortoiseSVN user interface has been translated into many different languages, so you may be able to download a language pack to suit your needs. You can find the language packs on our |
12579 | A interface do TortoiseSVN tem sido traduzido em muitos idiomas diferentes, então, você pode ter disponível um pacote para sanar sua necessidade. Você pode encontrar os pacotes de idioma em nossa |
| 219 | - | Each language pack is packaged as a |
12584 | Cada pacote de idioma é como um |
| 220 | - | The installer automatically adds the US and UK English dictionaries. If you want other languages, the easiest option is simply to install one of TortoiseSVN's language packs. This will install the appropriate dictionary files as well as the TortoiseSVN local user interface. After the installation finishes, the dictionary will be available too. | 12609 | O instalador automaticamente adiciona os dicionários ingleses US e UK. Se você quer outros idiomas, a opção mais fácil é simplesmente instalar o pacote de idioma do TortoiseSVN. Isto instalará o dicionário apropriado conforme o idioma do TortoiseSVN local. Na próxima reinicialização, o dicionário também estará disponível. |
| 221 | - | Glossary | 12650 | Glossário |
| 222 | - | A Subversion command that is used to add a file or directory to your working copy. The new items are added to the repository when you commit. | 12655 | Um comando do Subversion que é usado para adicionar um arquivo ou diretório para a sua cópia de trabalho. Os novos itens são adicionados para o repositório quando você submetê-los. |
| 223 | - | The current base revision of a file or folder in your |
12664 | A revisão base atual de um arquivo ou diretório na sua |
| 224 | - | This command is for text files only, and it annotates every line to show the repository revision in which it was last changed, and the author who made that change. Our GUI implementation is called TortoiseBlame and it also shows the commit date/time and the log message when you hover the mouse of the revision number. | 12669 | Este comando é apenas para arquivos texto, e ele apresenta para cada lista a revisão do repositório a qual pertence a última alteração, e o autor que fez a alteração. Nossa implementação de interface é chamada TortoiseBlame e também mostra a data/hora da submissão e a mensagem de log quando você passar o mouse sobre o número da revisão. |
| 225 | - | Berkeley DB. A well tested database backend for repositories, that cannot be used on network shares. Default for pre 1.2 repositories. | 12678 | Berkeley DB. Uma base de dados bem testada para repositórios, que não pode ser usada em uma rede compartilhada. Padrão para repositórios anteriores a versão 1.2. |
| 226 | - | A term frequently used in revision control systems to describe what happens when development forks at a particular point and follows 2 separate paths. You can create a branch off the main development line so as to develop a new feature without rendering the main line unstable. Or you can branch a stable release to which you make only bug fixes, while new developments take place on the unstable trunk. In Subversion a branch is implemented as a cheap copy. |
12687 | Um termo frequentemente usado em sistemas de controle de versão descreve o que acontece quando o desenvolvimento se ramifica num ponto em particular e segue dois caminhos diferentes. Você pode criar uma ramificação desligada da linha principal de desenvolvimento, logo, pode desenvolver novas funcionalidades sem desestabilizar a linha principal. Ou você pode criar uma ramificação da versão estável para a qual você apenas fará correções de erros, enquanto insere novas funcionalidades em uma versão instável no tronco. No Subversion uma ramificação é criada como uma cópia leve. |
| 227 | - | A Subversion command which creates a local working copy in an empty directory by downloading versioned files from the repository. | 12692 | Um comando do Subversion que cria uma cópia local em uma diretório vazio baixando os arquivos controlados do repositório. |
| 228 | - | To quote from the Subversion book: Recursively clean up the working copy, removing locks and resuming unfinished operations. If you ever get aNote that in this context |
12697 | Uma citação do livro do Subversion: Limpar recursivamente a cópia de trabalho, removendo travas e encerrando operação não finalizadas. Se você sempre recebe o erroNote que neste contexto, |
| 229 | - | This Subversion command is used to pass the changes in your local working copy back into the repository, creating a new repository revision. | 12702 | Este comando do Subversion é usado para passar as alterações da sua cópia de trabalho de volta para o repositório, criando uma nova revisão no repositório. |
| 230 | - | When changes from the repository are merged with local changes, sometimes those changes occur on the same lines. In this case Subversion cannot automatically decide which version to use and the file is said to be in conflict. You have to edit the file manually and resolve the conflict before you can commit any further changes. | 12711 | Quando as alterações do repositório são combinadas com as alterações locais, algumas vezes estas alterações ocorrem nas mesmas linhas. Neste caso Subversion não pode decidir automaticamente qual versão usar e o arquivo é marcado como em conflito. Você precisa editar este arquivo manualmente e resolver o conflito antes que você possa submeter qualquer alteração adicional. |
| 231 | - | In a Subversion repository you can create a copy of a single file or an entire tree. These are implemented as cheap copieswhich act a bit like a link to the original in that they take up almost no space. Making a copy preserves the history of the item in the copy, so you can trace changes made before the copy was made. |
12720 | Em um repositório do Subversion você pode criar uma cópia de de um arquivo apenas ou de uma estrutura inteira. Estas cópias são feitas como cópias leves que funcionam mais ou menos como um atalho para o arquivo original, e que consome quase nenhum espaço. Fazendo a cópia preserva-se o histórico do item em uma cópia, então você pode rastrear as alterações feitas antes da cópia ser feita. |
| 232 | - | When you delete a versioned item (and commit the change) the item no longer exists in the repository after the committed revision. But of course it still exists in earlier repository revisions, so you can still access it. If necessary, you can copy a deleted item and resurrectit complete with history. |
12725 | Quando vocë excluir um item controlado (e submeter a alteração) este item não existirá mais no repositório depois da revisão submetida. Mas é claro que continuará a existir em revisões anteriores no repositório, logo você pode continuar acessando o arquivo. Se necessário, você pode copiar um item excluído e recuperaro mesmo completamente com o histórico. |
| 233 | - | Shorthand for Show Differences. Very useful when you want to see exactly what changes have been made. |
12730 | Atalho para Mostrar Diferenças. Muito prático quando você quer ver exatamente as alterações que foram feitas. |
| 234 | - | This command produces a copy of a versioned folder, just like a working copy, but without the local |
12735 | Este comando produz uma cópia de uma diretório controlado, assim como uma cópia de trabalho, mas sem os diretórios locais |
| 235 | - | A proprietary Subversion filesystem backend for repositories. Can be used on network shares. Default for 1.2 and newer repositories. | 12744 | Um sistema de arquivo proprietário do Subversion para repositórios. Pode ser usado em uma rede compartilhada. O padrão para a versão do repositório 1.2 ou posterior. |
| 236 | - | The latest revision of a file or folder in the |
12757 | A última revisão do arquivo ou diretório no |
| 237 | - | Subversion command to import an entire folder hierarchy into the repository in a single revision. | 12762 | Comando do Subversion para importar um diretório e sua subestrutura inteira para o repositório em uma única revisão. |
| 238 | - | When you take out a lock on a versioned item, you mark it in the repository as non-committable, except from the working copy where the lock was taken out. | 12767 | Quando você bloqueia um item controlado, você marca o item no repositório como um arquivo não atualizável, exceto para a cópia de trabalho que bloqueiou o arquivo. |
| 239 | - | Show the revision history of a file or folder. Also known as History. |
12776 | Mostra o histórico de revisão de um arquivo ou diretório. Também conhecido como Histórico. |
| 240 | - | Show the revision history of a file or folder. Also known as Log. |
12785 | Mostra o histórico de revisões de um arquivo ou diretório. Também conhecido como Log. |
| 241 | - | The process by which changes from the repository are added to your working copy without disrupting any changes you have already made locally. Sometimes these changes cannot be reconciled automatically and the working copy is said to be in conflict. | 12790 | O processo pelo qual as mudanças do repositório são adicionadas na sua cópia de trabalho sem perder qualquer alteração que você tenha feita localmente. Algumas vezes essas alterações não podem ser combinar automaticamente e a cópia de trabalho indicará que há conflito. |
| 242 | - | Merging happens automatically when you update your working copy. You can also merge specific changes from another branch using TortoiseSVN's Merge command. | 12795 | Combinar acontece automaticamente quando você atualiza sua cópia de trabalho. Você pode também combinar mudanças específicas de outra ramificação usando o comando Combinar do TortoiseSVN. |
| 243 | - | If a working copy has changes to text files only, it is possible to use Subversion's Diff command to generate a single file summary of those changes in Unified Diff format. A file of this type is often referred to as a Patch, and it can be emailed to someone else (or to a mailing list) and applied to another working copy. Someone without commit access can make changes and submit a patch file for an authorized committer to apply. Or if you are unsure about a change you can submit a patch for others to review. |
12804 | Se uma cópia de trabalho possui alterações apenas em arquivos texto, é possível usar o comando Diferenças do Subversion para gerar um arquivo simples de resumo dessas alterações no formato Unified Diff. Um arquivo deste tipo é oferecido como Correção, e ele pode ser enviado por e-mail para alguém (ou para uma lista de discussão) e ser aplicado em outra cópia de trabalho. Alguém sem acesso para submissão pode fazer alterações e enviar um arquivo de correção para alguém com permissão de escrita submeter as alterações. Ou se você não tem certeza sobre a alteração você pode enviar o arquivo de correção para outros revisarem. |
| 244 | - | In addition to versioning your directories and files, Subversion allows you to add versioned metadata - referred to as propertiesto each of your versioned directories and files. Each property has a name and a value, rather like a registry key. Subversion has some special properties which it uses internally, such as |
12813 | Como complemento para versionamento de diretórios e arquivos, Subversion permite adicionar metadados controlados - referenciado como propriedadespara cada diretório ou arquivo controlado. Cada propriedade tem um nome e um valor, assim como uma chave de registro. Subversion tem algumas propriedades especiais que são usadas internamente, tal como |
| 245 | - | If your repository moves, perhaps because you have moved it to a different directory on your server, or the server domain name has changed, you need to relocateyour working copy so that its repository URLs point to the new location. |
12818 | Se seu repositório for movido, talvez porque você precisou movê-lo para um diretório diferente no servidor, ou porque o nome do domínio do servidor foi alterado, você precisa realocarsua cópia de trabalho para a nova URL onde o seu repositório está localizado. |
| 246 | - | Note: you should only use this command if your working copy is referring to the same location in the same repository, but the repository itself has moved. In any other circumstance you probably need the Switchcommand instead. |
12823 | Nota: você deverá somente usar este comando se sua cópia de trabalho aponta para o mesmo local no mesmo repositório, mas o repositório foi movido. Em qualquer outra circustância você provavelmente deverá usar Alternarao invés deste comando. |
| 247 | - | A repository is a central place where data is stored and maintained. A repository can be a place where multiple databases or files are located for distribution over a network, or a repository can be a location that is directly accessible to the user without having to travel across a network. | 12832 | Um repositório é um lugar central onde os dados são guardados e mantidos. Um repositório pode ser um lugar onde várias bases de dados ou arquivos são localizados para distribuir pela rede, ou um repositório pode ser um local que é diretamente acessado pelos usuários sem ter que atravessar uma rede. |
| 248 | - | When files in a working copy are left in a conflicted state following a merge, those conflicts must be sorted out by a human using an editor (or perhaps TortoiseMerge). This process is referred to as Resolving Conflicts. When this is complete you can mark the conflicted files as being resolved, which allows them to be committed. |
12837 | Quando os arquivos na cópia de trabalho são 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 então será permtido submeter estes arquivos. |
| 249 | - | Subversion keeps a local pristinecopy of each file as it was when you last updated your working copy. If you have made changes and decide you want to undo them, you can use the revertcommand to go back to the pristine copy. |
12842 | Subversion mantém uma cópia local originalde cada arquivo de como ele era quando foi feita a última atualização da cópia de trabalho. Se você fez alterações e decidir que quer desfazê-las, você pode usar o comando reverterpara voltar para a revisão original. |
| 250 | - | Every time you commit a set of changes, you create one new revisionin the repository. Each revision represents the state of the repository tree at a certain point in its history. If you want to go back in time you can examine the repository as it was at revision N. |
12851 | Cada vez que você submete um conjunto de alterações, você cria uma nova revisãono repositório. Cada revisão representa um estado da estrutura do repositório em um certo ponto de sua história. Se você quer voltar no tempo você pode examiar o repositório como ele era na revisão N. |
| 251 | - | In another sense, a revision can refer to the set of changes that were made when that revision was created. | 12856 | De outro ponto de vista, uma revisão pode referenciar um conjunto de mudanças que foram feitas quando a revisão foi criada. |
| 252 | - | Just as files can have properties, so can each revision in the repository. Some special revprops are added automatically when the revision is created, namely: |
12865 | Assim como os arquivo possuem propriedades, assim também é para cada revisão no repositório. Algumas revprops especiais são adicionadas automaticamente quando a revisão é criada, chamadas: |
| 253 | - | A frequently-used abbreviation for Subversion. | 12874 | Uma abreviação frequentemente usada para Subversion. |
| 254 | - | The name of the Subversion custom protocol used by the svnserverepository server. |
12879 | O nome do protocolo personalizado do Subversion usado pelo servidor de respotório svnserve. |
| 255 | - | Just as Update-to-revisionchanges the time window of a working copy to look at a different point in history, so Switchchanges the space window of a working copy so that it points to a different part of the repository. It is particularly useful when working on trunk and branches where only a few files differ. You can switch your working copy between the two and only the changed files will be transferred. |
12884 | Assim como Atualizar para a revisãoaltera a versão de uma cópia de trabalho apontando para um ponto diferente no histórico, assim também Alternaraltera o espaço de uma cópia de trabalho que aponta para uma parte diferente do repositório. Isto é particularmente útil quando se está trabalhando no tronco e na ramificação e apenas poucos arquivos são diferentes. Você pode alternar sua cópia de trabalho entre os dois e somente os arquivos diferentes serão transferidos. |
| 256 | - | This Subversion command pulls down the latest changes from the repository into your working copy, merging any changes made by others with local changes in the working copy. | 12889 | Este comando do Subversion baixa as últimas alterações do repositório para a sua cópia de trabalho, combinando qualquer alteração feita por outros usuários com suas alterações locais na cópia de trabalho. |
| 257 | - | This is your local sandbox, the area where you work on the versioned files, and it normally resides on your local hard disk. You create a working copy by doing a Checkoutfrom a repository, and you feed your changes back into the repository using Commit. |
12894 | 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 cópia de trabalho executando um Obterde um repositório, e você envia suas alterações de volta para o repositório executando um Submeter. |
Total:257
This test check if all escaped chars are known and its using match with English. Even you get red here it may be legal for your language.
This test is in developing now. Ignored are: \r \n (wee new line style test) and \".
| Index | Line | English | Line | Native |
| 1 | A file conflict occurs when two or more developers have changed the same few lines of a file. As Subversion knows nothing of your project, it leaves resolving the conflicts to the developers. Whenever a conflict is reported, you should open the file in question, and search for lines starting with the string <literal><<<<<<<</literal>. The conflicting area is marked like this: <screen>\n <<<<<<< filename\n your changes\n =======\n code merged from repository\n >>>>>>> revision\n </screen> Also, for every conflicted file Subversion places three additional files in your directory: <placeholder-1/> |
3008 | Um conflito de arquivo ocorre quando dois ou mais desenvolvedores tenham modificado as mesmas linhas de um arquivo. Como Subversion não conhece seu projeto, a solução de conflitos fica por conta dos desenvolvedores. Sempre que um conflito é reportado, você deverá abrir o arquivo em questão e procurar por linhas que iniciam com a sequência <literal><<<<<<<</literal>. A área de conflito é assinalada desta forma: <screen>\n \t<<<<<<< nome do arquivo\n \t\tsuas modificações\n \t=======\n \t\tcódigo incluído desde o repositório\n \t>>>>>>> revisão\n \t</screen> Também, para cada arquivo em conflito, Subversion inclui três arquivos adicionais em seu diretório: <placeholder-1/> |
Total:1
PASS
Next few sections informs about duplicate accelerators in translation. There is no reason to be stressed about this, but some translators like to know it. In a fact even English translation contains duplicate.
RC checking is currently off for this language. If you like enable it for your translation drop me an email.