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