20af12f69b419bdb5ce8df583dc707d995a45cef
[pintos-anon] / doc / devel.texi
1 @node Development Tools, , Debugging Tools, Top
2 @appendix Development Tools
3
4 Here are some tools that you might find useful while developing code.
5
6 @menu
7 * Tags::                        
8 * CVS::                         
9 * VNC::                         
10 @end menu
11
12 @node Tags
13 @section Tags
14
15 Tags are an index to the functions and global variables declared in a
16 program.  Many editors, including Emacs and @command{vi}, can use
17 them.  The @file{Makefile} in @file{pintos/src} produces Emacs-style
18 tags with the command @code{make TAGS} or @command{vi}-style tags with
19 @code{make tags}.
20
21 In Emacs, use @kbd{M-.} to follow a tag in the current window,
22 @kbd{C-x 4 .} in a new window, or @kbd{C-x 5 .} in a new frame.  If
23 your cursor is on a symbol name for any of those commands, it becomes
24 the default target.  If a tag name has multiple definitions, @kbd{M-0
25 M-.} will jump to the next one.  To jump back to where you were before
26 you followed the last tag, use @kbd{M-*}.
27
28 @node CVS
29 @section CVS
30
31 CVS is a version-control system.  That is, you can use it to keep
32 track of multiple versions of files.  The idea is that you do some
33 work on your code and test it, then check it into the version-control
34 system.  If you decide that the work you've done since your last
35 check-in is no good, you can easily revert to the last checked-in
36 version.  Furthermore, you can retrieve any old version of your code
37 as of some given day and time.  The version control logs tell you who
38 made changes and when.
39
40 CVS is not the best version control system out there.  However, it's
41 free, it's ubiquitous, and it's fairly easy to use.  More to the
42 point, it's already available on the Leland machines you're using for
43 the projects.
44
45 For more information, visit the @uref{https://www.cvshome.org/, , CVS
46 home page}.
47
48 @node VNC
49 @section VNC
50
51 VNC stands for Virtual Network Computing.  It is, in essence, a remote
52 display system which allows you to view a computing ``desktop''
53 environment not only on the machine where it is running, but from
54 anywhere on the Internet and from a wide variety of machine
55 architectures.  It is already installed on the Leland machines.  For
56 more information, look at the @uref{http://www.realvnc.com/, , VNC
57 Home Page}.