fixed svn specific stuff
[TortoiseGit.git] / doc / source / en / TortoiseGit / tsvn_dug / dug_wcstatus.xml
blob57036777dd6e1dae3896a767e8d3c783f3882cc7
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <!DOCTYPE sect1 SYSTEM "../../../dtd/dblite.dtd">\r
3 <sect1 id="tsvn-dug-wcstatus">\r
4         <title>Getting Status Information</title>\r
5         <indexterm>\r
6                 <primary>status</primary>\r
7         </indexterm>\r
8         <indexterm>\r
9                 <primary>view changes</primary>\r
10         </indexterm>\r
11         <indexterm>\r
12                 <primary>working tree status</primary>\r
13         </indexterm>\r
14         <para>\r
15                 While you are working on your working tree you often need to know\r
16                 which files you have changed/added/removed or renamed, or even which\r
17                 files got changed and committed by others.\r
18         </para>\r
19         <sect2 id="tsvn-dug-wcstatus-1">\r
20                 <title>Icon Overlays</title>\r
21                 <indexterm>\r
22                         <primary>overlays</primary>\r
23                 </indexterm>\r
24                 <indexterm>\r
25                         <primary>icons</primary>\r
26                 </indexterm>\r
27                 <para>\r
28                         <figure id="tsvn-dug-wcstatus-dia-1">\r
29                                 <title>Explorer showing icon overlays</title>\r
30                                 <graphic fileref="../images/Overlays.png"/>\r
31                         </figure>\r
32                 </para>\r
33                 <para>\r
34                         Now that you have checked out a working tree from a Git\r
35                         repository you can see your files in the windows explorer with\r
36                         changed icons. This is one of the reasons why TortoiseGit is so\r
37                         popular. TortoiseGit adds a so called overlay icon to each\r
38                         file icon which overlaps the original file icon. Depending on\r
39                         the Git status of the file the overlay icon is different.\r
40                 </para>\r
41                 <para>\r
42                         <graphic fileref="../images/InGitIcon.png"/>\r
43                         A fresh checked out working tree has a green checkmark as overlay.\r
44                         That means the Git status is <emphasis>normal</emphasis>.\r
45                 </para>\r
46                 <para>\r
47                         <graphic fileref="../images/ModifiedIcon.png"/>\r
48                         As soon as you start editing a file,\r
49                         the status changes to <emphasis>modified</emphasis>\r
50                         and the icon overlay then changes to a red exclamation\r
51                         mark. That way you can easily see which files were changed\r
52                         since you last updated your working tree and need to be committed.\r
53                 </para>\r
54                 <para>\r
55                         <graphic fileref="../images/ConflictIcon.png"/>\r
56                         If during an update a <emphasis>conflict</emphasis> occurs then\r
57                         the icon changes to a yellow exclamation mark.\r
58                 </para>\r
59                 <para>\r
60                         <graphic fileref="../images/ReadOnlyIcon.png"/> \r
61                         Staged. If you use "git update-index" to tell git this file will be commited,\r
62                         Git makes that file staged.\r
63                 </para>\r
64                 <!--\r
65                 <para>\r
66                         <graphic fileref="../images/LockedIcon.png"/> \r
67                         If you hold a lock on a file, and the Git status is\r
68                         <emphasis>normal</emphasis>, this icon overlay reminds you that you\r
69                         should release the lock if you are not using it to allow others to\r
70                         commit their changes to the file.\r
71                 </para>\r
72                 -->\r
73                 <para>\r
74                         <graphic fileref="../images/DeletedIcon.png"/> \r
75                         This icon shows you that some files or folders inside the current folder\r
76                         have been scheduled to be <emphasis>deleted</emphasis> from version control\r
77                         or a file under version control is missing in a folder.\r
78                 </para>\r
79                 <para>\r
80                         <graphic fileref="../images/AddedIcon.png"/> \r
81                         The plus sign tells you that a file or folder has been scheduled to be\r
82                         <emphasis>added</emphasis> to version control.\r
83                 </para>\r
84                 <para>\r
85                         <graphic fileref="../images/IgnoredIcon.png"/> \r
86                         The bar sign tells you that a file or folder is\r
87                         <emphasis>ignored</emphasis> for version control purposes.\r
88                         This overlay is optional.\r
89                 </para>\r
90                 <para>\r
91                         <graphic fileref="../images/UnversionedIcon.png"/> \r
92                         This icon shows files and folders which are not under version control,\r
93                         but have not been ignored.\r
94                         This overlay is optional.\r
95                 </para>\r
96                 <para>\r
97                         In fact, you may find that not all of these icons are used on your system.\r
98                         This is because the number of overlays allowed by Windows is very limited\r
99                         and if you are also using an old version of TortoiseCVS, then there are\r
100                         not enough overlay slots available.\r
101                         TortoiseGit tries to be a <quote>Good Citizen (TM)</quote>\r
102                         and limits its use of overlays to give other apps a chance too.\r
103                 </para>\r
104                 <para>\r
105                         Now that there are more Tortoise clients around (TortoiseCVS, TortoiseHG, ...)\r
106                         the icon limit becomes a real problem. To work around this, the TortoiseSVN\r
107                         project introduced a common shared icon set, loaded as a DLL, which can be\r
108                         used by all Tortoise clients. Check with your client provider to see if\r
109                         this has been integrated yet :-)\r
110                 </para>\r
111                 <para>\r
112                         For a description of how icon overlays correspond to Git\r
113                         status and other technical details, read\r
114                         <xref linkend="tsvn-app-internals-overlays"/>.\r
115                 </para>\r
116         </sect2>\r
117         <sect2>\r
118                 <title>TortoiseGit Columns In Windows Explorer</title>\r
119                 <indexterm>\r
120                         <primary>Explorer Columns</primary>\r
121                 </indexterm>\r
122                 <para>\r
123                         The same information which is available from the icon overlays\r
124                         (and much more) can be displayed as additional columns in\r
125                         Windows Explorer's Details View.\r
126                 </para>\r
127                 <para>\r
128                         Simply right click on one of the headings of a column, choose\r
129                         <guimenuitem>More...</guimenuitem> from the context menu displayed. A\r
130                         dialog will appear where you can specify the columns and their\r
131                         order, which is displayed in the <quote>Detailed View</quote>. Scroll down\r
132                         until the entries starting with Git come into view. Check the\r
133                         ones you would like to have displayed and close the dialog by\r
134                         pressing <guibutton>OK</guibutton>. The columns will be appended\r
135                         to the right of those currently displayed. You can reorder them by\r
136                         drag and drop, or resize them, so that they fit your needs.\r
137                 </para>\r
138                 <important>\r
139                         <para>The additional columns in the Windows Explorer are not\r
140                         available on Vista, since Microsoft decided to not allow such\r
141                         columns for <emphasis>all</emphasis> files anymore but only\r
142                         for specific file types.</para>\r
143                 </important>\r
144                 <tip>\r
145                         <para>\r
146                                 If you want the current layout to be displayed in all your\r
147                                 working trees, you may want to make this the default view.\r
148                         </para>\r
149                 </tip>\r
150         </sect2>\r
151         <sect2 id="tsvn-dug-wcstatus-2">\r
152                 <?dbhh topicname="HIDD_CHANGEDFILES"?>\r
153                 <title>Status</title>\r
154                 <indexterm>\r
155                         <primary>status</primary>\r
156                 </indexterm>\r
157                 <indexterm>\r
158                         <primary>modifications</primary>\r
159                 </indexterm>\r
160                 <para>\r
161                         <figure id="tsvn-dug-wcstatus-dia-2">\r
162                                 <title>Check for Modifications</title>\r
163                                 <graphic fileref="../images/RepoStatus.png"/>\r
164                         </figure>\r
165                         It's often very useful to know which files you have\r
166                         changed and also which files got changed and\r
167                         committed by others. That's where the command\r
168                         <menuchoice>\r
169                                 <guimenu>TortoiseGit</guimenu>\r
170                                 <guimenuitem>Check For Modifications...</guimenuitem>\r
171                         </menuchoice>\r
172                         comes in handy.\r
173                         This dialog will show you every file that has changed in any\r
174                         way in your working tree, as well as any unversioned files\r
175                         you may have.\r
176                 </para>\r
177                 <!--\r
178                 <para>\r
179                         If you click on the\r
180                         <guibutton>Check Repository</guibutton> then you can also\r
181                         look for changes in the repository. That way\r
182                         you can check before an update if there's a possible conflict.\r
183                         You can also update selected files from the repository without\r
184                         updating the whole folder. By default, the <guibutton>Check Repository</guibutton>\r
185                         button only fetches the remote status with the checkout depth\r
186                         of the working tree. If you want to see all files and folders\r
187                         in the repository, even those you have not checked out, then you\r
188                         have to hold down the <keycap>Shift</keycap> key when you \r
189                         click on the <guibutton>Check Repository</guibutton> button.\r
190                 </para>\r
191                 -->\r
192                 <para>\r
193                         The dialog uses colour coding to highlight the status.\r
194                         <variablelist>\r
195                                 <varlistentry>\r
196                                         <term>Blue</term>\r
197                                         <listitem>\r
198                                                 <para>\r
199                                                 Locally modified items.\r
200                                                 </para>\r
201                                         </listitem>\r
202                                 </varlistentry>\r
203                                 <varlistentry>\r
204                                         <term>Purple</term>\r
205                                         <listitem>\r
206                                                 <para>\r
207                                                 Added items.\r
208                                                 Items which have been added with history have a\r
209                                                 <literal>+</literal> sign in the\r
210                                                 <guilabel>Text status</guilabel> column,\r
211                                                 and a tooltip shows where the item was copied from.\r
212                                                 </para>\r
213                                         </listitem>\r
214                                 </varlistentry>\r
215                                 <varlistentry>\r
216                                         <term>Dark red</term>\r
217                                         <listitem>\r
218                                                 <para>\r
219                                                 Deleted or missing items.\r
220                                                 </para>\r
221                                         </listitem>\r
222                                 </varlistentry>\r
223                                 <varlistentry>\r
224                                         <term>Green</term>\r
225                                         <listitem>\r
226                                                 <para>\r
227                                                 Items modified locally and in the repository.\r
228                                                 The changes will be merged on update.\r
229                                                 These <emphasis>may</emphasis> produce conflicts on update.\r
230                                                 </para>\r
231                                         </listitem>\r
232                                 </varlistentry>\r
233                                 <varlistentry>\r
234                                         <term>Bright red</term>\r
235                                         <listitem>\r
236                                                 <para>\r
237                                                 Items modified locally and deleted in repository,\r
238                                                 or modified in repository and deleted locally.\r
239                                                 These <emphasis>will</emphasis> produce conflicts on update.\r
240                                                 </para>\r
241                                         </listitem>\r
242                                 </varlistentry>\r
243                                 <varlistentry>\r
244                                         <term>Black</term>\r
245                                         <listitem>\r
246                                                 <para>\r
247                                                 Unchanged and unversioned items.\r
248                                                 </para>\r
249                                         </listitem>\r
250                                 </varlistentry>\r
251                         </variablelist>\r
252                 </para>\r
253                 <para>\r
254                         This is the default colour scheme, but you can customise those colours\r
255                         using the settings dialog.\r
256                         Read <xref linkend="tsvn-dug-settings-colours"/> for more information.\r
257                 </para>\r
258                 <para>\r
259                         Items which have been switched to a different repository path are\r
260                         also indicated using an <literal>(s)</literal> marker. You may have\r
261                         switched something while working on a branch and forgotten to switch\r
262                         back to trunk. This is your warning sign!\r
263                 </para>\r
264                 <para>\r
265                         From the context menu of the dialog you can show a diff of the\r
266                         changes. Check the local changes <emphasis>you</emphasis> made using\r
267                         <menuchoice>\r
268                                 <guimenu>Context Menu</guimenu>\r
269                                 <guimenuitem>Compare with Base</guimenuitem>\r
270                         </menuchoice>.\r
271                         Check the changes in the repository made by others using\r
272                         <menuchoice>\r
273                                 <guimenu>Context Menu</guimenu>\r
274                                 <guimenuitem>Show Differences as Unified Diff</guimenuitem>\r
275                         </menuchoice>.\r
276                 </para>\r
277                 <para>\r
278                         You can also revert changes in individual files. If you have deleted\r
279                         a file accidentally, it will show up as <emphasis>Missing</emphasis>\r
280                         and you can use <emphasis>Revert</emphasis> to recover it.\r
281                 </para>\r
282                 <para>\r
283                         Unversioned and ignored files can be sent to the recycle bin from here using\r
284                         <menuchoice>\r
285                                 <guimenu>Context Menu</guimenu>\r
286                                 <guimenuitem>Delete</guimenuitem>\r
287                         </menuchoice>.\r
288                         If you want to delete files permanently (bypassing the recycle bin) hold\r
289                         the <keycap>Shift</keycap> key while clicking on <guilabel>Delete</guilabel>.\r
290                 </para>\r
291                 <para>\r
292                         If you want to examine a file in detail, you can drag it from here\r
293                         into another application such as a text editor or IDE.\r
294                 </para>\r
295                 <para>\r
296                         The columns are customizable. If you\r
297                         <action>right click</action> on any column header you will see a\r
298                         context menu allowing you to select which columns are displayed.\r
299                         You can also change column width by using the drag handle which\r
300                         appears when you move the mouse over a column boundary. These\r
301                         customizations are preserved, so you will see the same headings\r
302                         next time.\r
303                 </para>\r
304                 <!--\r
305                 <para>\r
306                         If you are working on several unrelated tasks at once, you can also\r
307                         group files together into changelists.\r
308                         Read <xref linkend="tsvn-dug-commit-changelists"/> for more information.\r
309                 </para>\r
310                 -->\r
311                 <para>\r
312                         At the bottom of the dialog you can see a summary of the range of repository\r
313                         revisions in use in your working tree. These are the <emphasis>commit</emphasis>\r
314                         revisions, not the <emphasis>update</emphasis> revisions; they represent the\r
315                         range of revisions where these files were last committed, not the revisions\r
316                         to which they have been updated. Note that the revision range shown applies\r
317                         only to the items displayed, not to the entire working tree. If you want to\r
318                         see that information for the whole working tree you must check the\r
319                         <guilabel>Show unmodified files</guilabel> checkbox.\r
320                 </para>\r
321                 <tip>\r
322                         <para>\r
323                                 If you want a flat view of your working tree, i.e. showing all files\r
324                                 and folders at every level of the folder hierarchy, then the\r
325                                 <guilabel>Check for Modifications</guilabel> dialog is the\r
326                                 easiest way to achieve that. Just check the\r
327                                 <guilabel>Show unmodified files</guilabel> checkbox to show\r
328                                 all files in your working tree.\r
329                         </para>\r
330                 </tip>\r
331                 <!--\r
332                 <tip>\r
333                         <title>Repairing External Renames</title>\r
334                         <para>\r
335                                 Sometimes files get renamed outside of Git, and they show up\r
336                                 in the file list as a missing file and an unversioned file. To avoid\r
337                                 losing the history you need to notify Git about the connection.\r
338                                 Simply select both the old name (missing) and the new name (unversioned)\r
339                                 and use\r
340                                 <menuchoice>\r
341                                         <guimenu>Context Menu</guimenu>\r
342                                         <guimenuitem>Repair Move</guimenuitem>\r
343                                 </menuchoice>\r
344                                 to pair the two files as a rename.\r
345                         </para>\r
346                 </tip>\r
347                 -->\r
348         </sect2>\r
349         <sect2 id="tsvn-dug-diffing">\r
350                 <title>Viewing Diffs</title>\r
351                 <indexterm>\r
352                         <primary>diffing</primary>\r
353                 </indexterm>\r
354                 <para>\r
355                         Often you want to look inside your files, to have a look at what\r
356                         you've changed. You can accomplish this by selecting a file which\r
357                         has changed, and selecting <guimenuitem>Diff</guimenuitem> from\r
358                         TortoiseGit's context menu. This starts the external\r
359                         diff-viewer, which will then compare the current file with the\r
360                         pristine copy (<literal>BASE</literal> revision), which was stored\r
361                         after the last checkout or update.\r
362                 </para>\r
363                 <tip>\r
364                         <para>\r
365                                 Even when not inside a working tree or when you have multiple\r
366                                 versions of the file lying around, you can still display diffs:\r
367                         </para>\r
368                         <para>\r
369                                 Select the two files you want to compare in explorer\r
370                                 (e.g. using <keycap>Ctrl</keycap> and the mouse) and\r
371                                 choose <guimenuitem>Diff</guimenuitem> from TortoiseGit's\r
372                                 context menu. The file clicked last (the one with the focus,\r
373                                 i.e. the dotted rectangle) will be regarded as the later\r
374                                 one. \r
375                         </para>\r
376                 </tip>\r
377         </sect2>\r
378 </sect1>\r