Merged in the bug fixes from EDK I.
[people/mcb30/edk2.git] / www / subversion_setup.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
2 <HTML>\r
3 <HEAD>\r
4         <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">\r
5         <TITLE>Subversion Setup Guide</TITLE>\r
6         <META NAME="GENERATOR" CONTENT=" 2.0  (Win32)">\r
7         <META NAME="CREATED" CONTENT="20080121;12074440">\r
8         <META NAME="CHANGEDBY" CONTENT="Larry Hauch">\r
9         <META NAME="CHANGED" CONTENT="20080121;14380303">\r
10         <STYLE TYPE="text/css">\r
11         <!--\r
12                 H2.heading-2 { font-family: tahoma, verdana, sans-serif; color="GRAY"; font-size: 18pt; }\r
13                 H3.heading-3 { font-size: 16pt; font-variant: small-caps; }\r
14         -->\r
15         </STYLE>\r
16 </HEAD>\r
17 <BODY LANG="en-US" DIR="LTR">\r
18   <H1>Setup Guide for Subversion for EDK II</H1>\r
20     <TR>\r
21       <TD>\r
22         <P><DIV>After you have completed the steps on this page, you will have\r
23           a working copy (edk2 WORKSPACE) of the EDK II development tree. Refer\r
24           to BuildNotes.txt and BuildNotes2.txt in the edk2 folder of \r
25           information on building EDK2.</DIV></P>\r
26         <H2 CLASS="heading-2">Table of Contents<A NAME="TOP"></A></H2>\r
27         <UL>\r
28                 <LI><A HREF="#Requirements">Requirements</A></LI>\r
29                 <LI><A HREF="#TortoiseSVN">Windows TortoiseSVN Client</A></LI>\r
30                 <LI><A HREF="#CLI">Windows SVN Command-Line Client</A></LI>\r
31                 <LI><A HREF="#UNIX">UNIX-based OS SVN Command-Line Client</A></LI>\r
32         </UL>\r
33 \r
34         <P><BR></P>\r
35         <H2 CLASS="heading-2"><A NAME="Requirements"></A>Requirements</H2>\r
36         <DIV ID="requirements" DIR="LTR"><A NAME="requirements_table"></A>\r
37         At least one SVN client is required to be able to obtain the EDK II \r
38         source code.\r
39         The following table lists the locations for obtaining SVN clients.\r
41             <TR>\r
42               <TD ALIGN=CENTER><B> Name </B></TD>\r
43               <TD ALIGN=CENTER><B> Version </B></TD>\r
44               <TD ALIGN=CENTER><B> URL </B></TD>\r
45             </TR>\r
46             <TR>\r
47               <TD>\r
48                 <P ALIGN=CENTER><I>TortoiseSVN</I></P>\r
49               </TD>\r
50               <TD>\r
51                 <P ALIGN=CENTER>1.4.5</P>\r
52               </TD>\r
53               <TD>\r
54                 <P ALIGN=CENTER><A HREF="">\r
55        </A></P>\r
56               </TD>\r
57             </TR>\r
58             <TR>\r
59               <TD>\r
60                 <P ALIGN=CENTER><I>Windows SVN Command Line Tool</I></P>\r
61               </TD>\r
62               <TD>\r
63                 <P ALIGN=CENTER>1.4.5</P>\r
64               </TD>\r
65               <TD>\r
66                 <P ALIGN=CENTER>\r
67                   <A HREF="">\r
68          ID=91</A></P>\r
69               </TD>\r
70             </TR>\r
71         \r
72             <TR>\r
73               <TD>\r
74                 <P ALIGN=CENTER><I>Mac OS/X SVN Command Line Tool</I></B></P>\r
75               </TD>\r
76               <TD>\r
77                 <P ALIGN=CENTER>1.4.4</P>\r
78               </TD>\r
79               <TD>\r
80                 <P ALIGN=CENTER>\r
81                   <A HREF="">\r
82         </A></P>\r
83               </TD>\r
84             </TR>\r
85             <TR>\r
86               <TD>\r
87                 <P ALIGN=CENTER><I>Linux SVN Command Line Tool</I></B></P>\r
88               </TD>\r
89               <TD>\r
90                 <P ALIGN=CENTER>1.4.5</P>\r
91               </TD>\r
92               <TD>\r
93                 <P ALIGN=CENTER>\r
94                   <A HREF="">\r
95         </A></P>\r
96               </TD>\r
97             </TR>\r
98         </TABLE>\r
99         </DIV>\r
100         <P><A HREF="#Top"><IMG SRC="top_arrow.jpg" BORDER="0"></A>&nbsp;\r
101            <A HREF="#Top">Back to Top</A></P>\r
102         <DIV>\r
103             <P><BR></P>\r
104             <H2 CLASS="heading-2"><A NAME="TortoiseSVN"></A>\r
105               Install and Configure TortoiseSVN on Windows Platforms</H2>\r
106             <P><DIV>TortoiseSVN is a Windows shell extension; it integrates in\r
107               the file explorer. That means you can use it with any tool that\r
108               you are most familiar with.  All commands are available directly\r
109               from the windows explorer. Translation packs are \r
110               <A HREF="">\r
111               available</A> to transform the GUI into your native language.\r
112             </DIV></P>\r
113             <H3 CLASS="heading-3">Installation Steps</H3>\r
114             <P>The TortoiseSVN software uses the Microsoft standard software\r
115               "Installer" process (.msi file.) <BR>&nbsp;\r
116               <DIV ALIGN=CENTER><img src="Install.jpg" BORDER="0" /></DIV><BR>\r
117               The customized setup screen can be modifed to enable the English\r
118               (US) dictionary - the English (GB) dictionary does not need to be\r
119               installed.  (If you install a Translation pack, the dictionary for\r
120               the specific language is also included.)<BR>\r
121               The dictionary is used for spell-checking of the messages window \r
122               when performing check-ins.<BR>&nbsp;\r
123               <DIV ALIGN=CENTER><img src="CustomSetup.jpg" BORDER="0" /></DIV><BR>\r
124               If you install multiple dictionaries, check the TortoiseSVN \r
125               language settings.  This is covered in the configuration steps \r
126               below.<BR>\r
127               It should be noted that all messages should be in US English.<BR>\r
128               &nbsp;<br>\r
129               The minimum version for TortoiseSVN is 1.4.4, however, later \r
130               versions should function correctly. <BR>\r
131               <I><B>Note:</B> While the installation program will present you\r
132               with an option to restart the system, you may select the "Manual\r
133               Restart", as restarting of the system is not required.</I>\r
134             </P>\r
135             <H3 CLASS="heading-3">Configuration Steps</H3>\r
136             <P><DIV ALIGN="LEFT">\r
137               <OL TYPE="1">\r
138                 <LI VALUE="1">Open a Windows File Explorer Window in the \r
139                   directory where you would like to do the checkout.</LI>\r
140                 <LI>Right-click somewhere in the background of that window.</LI>\r
141                 <LI>From the pop-up menu, select TortoiseSVN (If you install a \r
142                   Translation pack, the dictionary for the specific language is \r
143                   also included.) <LI>\r
144               <LI>TortoiseSVN Settings</LI>\r
145               </OL>\r
146               <OL TYPE="A">\r
147                 <LI TYPE="A" VALUE="A">\r
148                   <FONT FACE="Arial Black, verdana, sans-serif">\r
149                     General Tab</FONT></LI><BR>\r
150                   Select your language using the drop down dialog.<BR>\r
151                   We recommend that the Automatically check... feature be \r
152                   disabled.<BR>\r
153                   <DIV><IMG SRC="General.jpg"/></DIV>\r
154                 <LI><FONT FACE="Arial Black, verdana, sans-serif">\r
155                   Look and Feel -> Icon Overlays Tab</FONT></LI><BR>\r
156                   This page allows you to choose the items for which \r
157                   TortoiseSVN will display icon overlays.<BR>\r
158                   Network drives can be very slow, so by default icons are\r
159                   not shown for working copies located on network shares.<BR>\r
160                   Caching is done directly inside the shell extension dll, \r
161                   but only for the currently visible folder. Each time you \r
162                   navigate to another folder, the status information is \r
163                   fetched again.<BR>\r
164                   <b>Advantage</b>: needs only very little memory (around 1 \r
165                   MB of RAM) and can show the status in realtime.<BR>\r
166                   <b>Disadvantage</b>: Since only one folder is cached, the\r
167                   overlays don't show the status recursively. For big working\r
168                   copies, it can take more time to show a folder in explorer\r
169                   than with the default cache. Also the mime-type column is\r
170                   not available.\r
171                   <DIV><IMG SRC="IconSettings.jpg"/></DIV>\r
172                 <LI><FONT FACE="Arial Black, verdana, sans-serif">\r
173                   Network Tab</FONT></LI><BR>\r
174                   If you are behind a firewall, you need to configure your \r
175                   proxy settings. Configure the proxy as follows. (You may \r
176                   not get outside of your company firewall without a proxy.)<BR>\r
177                   For <I>Server <u>a</u>ddress:</I>  replace \r
178          with the name of your company's \r
179                   proxy server.<BR>\r
180                   For <I><u>P</u>ort:</I> entry the proxy port number used by \r
181                   your company. The example is using 911, your company may use \r
182                   a different port number.<BR>\r
183                   The SSH client is not required, however, we recommend \r
184                   installing one for any command line access you may need in the\r
185                   future.  In this example, the PuTTY SSH client has been \r
186                   installed in the folder: C:\Bin.</BR>\r
187                   <DIV><IMG SRC="Network.jpg"/></DIV>\r
188               </OL>\r
189             </DIV></P>\r
190             <H3 CLASS="heading-3">First Check-out Steps</H3>\r
191             <P><DIV ALIGN="LEFT">\r
192               <OL TYPE="1">\r
193                 <LI VALUE="1"> Right Click in the Explorer Window in the \r
194                   directory that you want the Edk2 source checked-out.</LI>\r
195                 <LI>Select SVN Checkout</LI>\r
196                   <DIV ALIGN=CENTER><IMG SRC="WindowsExplorer.jpg"/></DIV>\r
197                 <LI>Fill in the URL of the repository in the Checkout Dialog \r
198                   like so:\r
199                   <DIV ALIGN=CENTER><IMG SRC="CheckoutDialog.jpg"/></DIV></LI>\r
200                 <LI>The first time you access the repository, you <i>might</i>\r
201                   be asked to accept, permanent, or reject the Security\r
202                   Certificate. Always Accept permanent.<BR>\r
203                   <DIV ALIGN=CENTER><IMG SRC="Cert2.jpg"/></DIV>\r
204                   Note: the above certificate is for a different server using\r
205                   TortoiseSVN.  The EDK II server will be:\r
206         <BR>\r
207                   Occasionally, the security certificate will be updated on\r
208                   this server, when it is, you will be queried with the same\r
209                   dialog box.</LI>\r
210                 <LI>Prior to the checkout, an Authentication Dialog window will\r
211                   open.  You need to enter your Login name from\r
212                   and your password.<BR>\r
213                   <DIV ALIGN=CENTER><IMG SRC="AuthenticationDialog.jpg"/></DIV></LI>\r
214                   After a few seconds, the transfer will begin with status shown as\r
215                   below.\r
216                   <BR>\r
217                   <DIV ALIGN=CENTER><IMG SRC="TSVN_COStatus.jpg"/></DIV>\r
218               </OL>\r
219             </DIV></P>\r
220             <H3>Congratulations, your TortoiseSVN setup is complete!</H3>\r
221         </DIV>\r
222         <P><A HREF="#Top"><IMG SRC="top_arrow.jpg" BORDER="0"></A>&nbsp;\r
223            <A HREF="#Top">Back to Top</A></P>\r
224         <DIV>\r
225             <P><BR></P>\r
226             <H2 CLASS="heading-2"><A NAME="CLI"></A>\r
227               Install and Configure Windows Command Line Interface</H2>\r
228             <P><DIV>\r
229               The command line client will allow you to execute SVN commands\r
230               from the command prompt.  This functionality permits access to\r
231               the source code repository from scripts. <BR>\r
232               After installing the command into a directory that is in the\r
233               system environment variable: PATH (echo %PATH%), you will need\r
234               to navigate to your home folder:<BR><DIV>\r
235               <FONT FACE="Courier New, courier, monospace" color="#771100">\r
236               cd %HOMEPATH%</FONT><BR></DIV>\r
237               and, if not created by the installation, create a folder, \r
238               <B>.subversion</B>. Once\r
239               the .subversion folder exists, cd to that folder and using\r
240               your favorite text editor, edit the file: &quot;servers&quot;\r
241               (you may have to create this file).  It must be a plain text\r
242               file, and it cannot have a file extension.<BR>\r
243               The file should look like the following (do not worry if you\r
244               have to create a blank file, the content is very simple):\r
245               <DIV ALIGN=CENTER><IMG SRC="ServersFileTop.jpg"/></DIV><BR>\r
246               All lines in this file that start with the hash &quot;#&quot;\r
247               character are comments that are ignored.  You will need to\r
248               add a few simple lines of text. (If the file was not created\r
249               during the install, just add a [groups] line before all of\r
250               the remaining lines in the file.)  \r
251               <UL TYPE=1>\r
252                 <LI VALUE=1>\r
253                   Locate the [groups] section and add the following two lines:<BR>\r
254                   <DIV>\r
255                   <FONT FACE="Courier New, courier, monospace" color="#771100">\r
256                   tianocore = *<BR>[tianocore]</FONT></DIV><BR>\r
257                 </LI>\r
258                 <LI>\r
259                   Add the following two lines:<BR>\r
260                   <DIV>\r
261                   <FONT FACE="Courier New, courier, monospace" color="#771100">\r
262                   http-proxy-server =<BR>\r
263                   http-proxy-port = 911</FONT></DIV><BR>\r
264                   Your company's IT support should be able to provide you with the\r
265                   correct proxy server name and proxy port number.<BR>&nbsp;<BR>\r
266                 </LI>\r
267                 <LI>\r
268                   Locate the [global] section and add the following line: (Note:\r
269                   if you are creating a file, add a [globals] line, then add\r
270                   the following.)<BR>\r
271                   <DIV>\r
272                   <FONT FACE="Courier New, courier, monospace" color="#771100">\r
273                   http-proxy-exceptions = *</FONT><BR></DIV>&nbsp;\r
274                   A short servers file, created from scratch, should look like:<BR>\r
275                   <DIV ALIGN=CENTER><IMG SRC="Servers.jpg" /></DIV><BR>\r
276                   If you do not use SVN internally, the global section and the\r
277                   http-proxy-exceptions line can be omitted.<BR>&nbsp;\r
278                 </LI>\r
279               </UL>\r
280             </DIV></P>\r
281             <H3 CLASS="heading-3">First Check-out Steps</H3>\r
282             <P><DIV ALIGN="LEFT">\r
283               <OL TYPE="1">\r
284                 <LI VALUE="1"> Open a command prompt window, change to the \r
285                   directory where you want to checkout the EDK II tree and\r
286                   type:<BR>\r
287                   <DIV>\r
288                   <FONT FACE="Courier New, courier, monospace" color="#771100">\r
289                   svn co</FONT>\r
290                   <BR>&nbsp;</DIV></LI>\r
291                 <LI>Select SVN Checkout</LI>\r
292                   <DIV ALIGN=CENTER><IMG SRC="CommandLineCO.jpg"/></DIV>\r
293                 <LI>The first time you access the repository, the SSL security\r
294                   certificate will not validate, and you will be asked to \r
295                   <FONT FACE="Courier New, courier, monospace" color="#771100">\r
296                   <BR>\r
297                   (R)eject, accept (t)emporarily or accept (p)ermanently?</FONT>\r
298                   <BR> Always accept permanently.<BR>\r
299                   <DIV ALIGN=CENTER><IMG SRC="Certificate.jpg" /></DIV><BR>\r
300                   Occasionally, the security certificate will be updated on\r
301                   this server. Any time it gets updated, you will queried with \r
302                   the same dialog.<BR>&nbsp;</LI>\r
303                 <LI>You will be prompted for your username and password.\r
304                   Use your login name and password.  After a few\r
305                   seconds, the transfer will begin with status shown as below.\r
306                   <BR>\r
307                   <DIV ALIGN=CENTER><IMG SRC="COStatus.jpg"/></DIV>\r
308                 </LI>\r
309               </OL>\r
310             </DIV></P>\r
311             <H3>Congratulations, your Windows CLI setup is complete!</H3>\r
312         </DIV>\r
313         <P><A HREF="#Top"><IMG SRC="top_arrow.jpg" BORDER="0"></A>&nbsp;\r
314            <A HREF="#Top">Back to Top</A></P>\r
315         <DIV>\r
316             <P><BR></P>\r
317             <H2 CLASS="heading-2"><A NAME="UNIX"></A>\r
318               Install and Configure Command Line Interface (Linux & OS/X)</H2>\r
319             <P><DIV>\r
320               Follow your platform administration guide for installing the\r
321               subversion package (either a pre-built binary for your OS, or\r
322               sources.)<BR>\r
323               The command line client will allow you to execute SVN commands\r
324               from a shell prompt as well as to access the source code \r
325               repository from shell scripts. <BR>\r
326               After installing the command into a directory that is in the\r
327               system environment variable: PATH (echo $PATH,) you will need \r
328               to navigate to your home folder:<BR><DIV>\r
329               <FONT FACE="Courier New, courier, monospace" color="#771100">\r
330               cd ~username</FONT><BR></DIV>\r
331               where username is your login name (your home directory) and, \r
332               if not created by the installation, create a folder, \r
333               <B>.subversion</B>. Once\r
334               the .subversion folder exists, cd to that folder and using\r
335               your favorite text editor, edit the file: &quot;servers&quot;\r
336               (you may have to create this file).  It must be a plain text\r
337               file, and it cannot have a file extension.<BR>\r
338               The file should look like the following (do not worry if you\r
339               have to create a blank file, the content is very simple.):\r
340               <DIV ALIGN=CENTER><IMG SRC="NixServersFileTop.jpg"/></DIV><BR>\r
341               All lines in this file that start with the hash &quot;#&quot;\r
342               character are comments that are ignored.  You will need to\r
343               add a few simple lines of text. (If the file was not created\r
344               during the install, just add a [groups] line before all of\r
345               the remaining lines in the file.)  \r
346               <UL TYPE=1>\r
347                 <LI VALUE=1>\r
348                   Locate the [groups] section and add the following two lines:<BR>\r
349                   <DIV>\r
350                   <FONT FACE="Courier New, courier, monospace" color="#771100">\r
351                   tianocore = *<BR>[tianocore]</FONT></DIV><BR>\r
352                 </LI>\r
353                 <LI>\r
354                   Add the following two lines:<BR>\r
355                   <DIV>\r
356                   <FONT FACE="Courier New, courier, monospace" color="#771100">\r
357                   http-proxy-server =<BR>\r
358                   http-proxy-port = 911</FONT></DIV><BR>\r
359                   Your company's IT support should be able to provide you with the\r
360                   correct proxy server name and proxy port number.<BR>&nbsp;<BR>\r
361                 </LI>\r
362                 <LI>\r
363                   Locate the [global] section and add the following line: (Note:\r
364                   if you are creating a file, add a [globals] line, then add\r
365                   the following.)<BR>\r
366                   <DIV>\r
367                   <FONT FACE="Courier New, courier, monospace" color="#771100">\r
368                   http-proxy-exceptions = *</FONT><BR></DIV>&nbsp;\r
369                   A short servers file, created from scratch, should look like:<BR>\r
370                   <DIV ALIGN=CENTER><IMG SRC="NixServers.jpg" /></DIV><BR>\r
371                   If you do not use SVN internally, the global section and the\r
372                   http-proxy-exceptions line can be omitted.<BR>&nbsp;\r
373                 </LI>\r
374               </UL>\r
375             </DIV></P>\r
376             <H3 CLASS="heading-3">First Check-out Steps</H3>\r
377             <P><DIV ALIGN="LEFT">\r
378               <OL TYPE="1">\r
379                 <LI VALUE="1"> Open a command prompt window, change to the \r
380                   directory where you want to checkout the EDK II tree and\r
381                   type:<BR>\r
382                   <DIV>\r
383                   <FONT FACE="Courier New, courier, monospace" color="#771100">\r
384                   svn co</FONT>\r
385                   <BR>&nbsp;</DIV></LI>\r
386                 <LI>Select SVN Checkout</LI>\r
387                   <DIV ALIGN=CENTER><IMG SRC="NixCommandLineCO.jpg"/></DIV>\r
388                 <LI>The first time you access the repository, the SSL security\r
389                   certificate will not validate, and you will be asked to \r
390                   <FONT FACE="Courier New, courier, monospace" color="#771100">\r
391                   <BR>\r
392                   (R)eject, accept (t)emporarily or accept (p)ermanently?</FONT>\r
393                   <BR> Always accept permanently.<BR>\r
394                   <DIV ALIGN=CENTER><IMG SRC="Certificate.jpg" /></DIV><BR>\r
395                   Occasionally, the security certificate will be updated on\r
396                   this server. Any time it gets updated, you will queried with \r
397                   the same dialog.<BR>&nbsp;</LI>\r
398                 <LI>You will be prompted for your username and password.\r
399                   Use your login name and password.  After a few\r
400                   seconds, the transfer will begin with status shown as below.\r
401                   <BR>\r
402                   <DIV ALIGN=CENTER><IMG SRC="NixCOStatus.jpg"/></DIV>\r
403                 </LI>\r
404               </OL>\r
405             </DIV></P>\r
406             <H3>Congratulations, your SVN setup is complete!</H3>\r
407         </DIV>\r
408         <P><A HREF="#Top"><IMG SRC="top_arrow.jpg" BORDER="0"></A>&nbsp;\r
409            <A HREF="#Top">Back to Top</A></P>\r
410       </TD>\r
411     </TR>\r
412   </TABLE>\r
413 </BODY>\r
414 </HTML>\r