Update little document
[TortoiseGit.git] / doc / source / en / TortoiseGit / tsvn_dug / dug_relocate.xml
blobc7b594bbca417ff0f9b1615ace7427cb31c4f7eb
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <!DOCTYPE sect1 SYSTEM "../../../dtd/dblite.dtd">\r
3 <sect1 id="tsvn-dug-relocate">\r
4         <title>Relocating a working copy</title>\r
5         <indexterm>\r
6                 <primary>relocate</primary>\r
7         </indexterm>\r
8         <indexterm>\r
9                 <primary>URL changed</primary>\r
10         </indexterm>\r
11         <indexterm>\r
12                 <primary>repository URL changed</primary>\r
13         </indexterm>\r
14         <indexterm>\r
15                 <primary>server moved</primary>\r
16         </indexterm>\r
17         <indexterm>\r
18                 <primary>moved server</primary>\r
19         </indexterm>\r
20         <?dbhh topicname="HIDD_RELOCATE"?>\r
21         <para>\r
22                 <figure id="tsvn-dug-relocate-dia-1">\r
23                         <title>The Relocate Dialog</title>\r
24                         <graphic fileref="../images/Relocate.png"/>\r
25                 </figure>\r
26                 If your repository has for some reason changed it's\r
27                 location (IP/URL). Maybe you're even stuck and can't\r
28                 commit and you don't want to checkout your working\r
29                 copy again from the new location and to move all your\r
30                 changed data back into the new working copy,\r
31                 <menuchoice>\r
32                         <guimenu>TortoiseGit</guimenu>\r
33                         <guimenuitem>Relocate</guimenuitem>\r
34                 </menuchoice>\r
35                 is the command you are looking for. It basically\r
36                 does very little: it scans all <filename>entries</filename> files in the\r
37                 <filename>.svn</filename> folder and changes the URL of\r
38                 the entries to the new value.\r
39         </para>\r
40         <para>\r
41                 You may be surprised to find that TortoiseGit contacts the repository\r
42                 as part of this operation. All it is doing is performing some simple\r
43                 checks to make sure that the new URL really does refer to the same\r
44                 repository as the existing working copy.\r
45         </para>\r
46         <warning>\r
47                 <para>\r
48                         <emphasis>This is a very infrequently used operation</emphasis>.\r
49                         The relocate command is <emphasis>only</emphasis> used if the URL of the\r
50                         repository root has changed. Possible reasons are:\r
51                         <itemizedlist>\r
52                                 <listitem>\r
53                                         <para>The IP address of the server has changed.</para>\r
54                                 </listitem>\r
55                                 <listitem>\r
56                                         <para>The protocol has changed (e.g. http:// to https://).</para>\r
57                                 </listitem>\r
58                                 <listitem>\r
59                                         <para>The repository root path in the server setup has changed.</para>\r
60                                 </listitem>\r
61                         </itemizedlist>\r
62                         Put another way, you need to relocate when your working copy is referring\r
63                         to the same location in the same repository, but the repository itself\r
64                         has moved.\r
65                 </para>\r
66                 <para>\r
67                         It does not apply if:\r
68                         <itemizedlist>\r
69                                 <listitem>\r
70                                         <para>\r
71                                                 You want to move to a different Subversion repository. In that case\r
72                                                 you should perform a clean checkout from the new repository location.\r
73                                         </para>\r
74                                 </listitem>\r
75                                 <listitem>\r
76                                         <para>\r
77                                                 You want to switch to a different branch or directory within the \r
78                                                 same repository. To do that you should use\r
79                                                 <menuchoice>\r
80                                                         <guimenu>TortoiseGit</guimenu>\r
81                                                         <guimenuitem>Switch...</guimenuitem>\r
82                                                 </menuchoice>.\r
83                                                 Read <xref linkend="tsvn-dug-switch-1"/> for more information.\r
84                                         </para>\r
85                                 </listitem>\r
86                         </itemizedlist>\r
87                 </para>\r
88                 <para>\r
89                         If you use relocate in either of the cases above, it\r
90                         <emphasis>will corrupt your working copy</emphasis> and you will get many\r
91                         unexplainable error messages while updating, committing, etc.\r
92                         Once that has happened, the only fix is a fresh checkout.\r
93                 </para>\r
94         </warning>\r
95 </sect1>\r