The GNNV Project Development Page
todo list (as of 5/19/99)
CVS: a version control system
CVS is a handy utility that will allow us to more easily work together on GNNV,
and share changes we each make to our code. The way it works is that there is
a central repository where the "official" version of GNNV lives. Each of us
can checkout our own working copies from the repository, make changes, commit
changes back to the repository, and update our working copies.
First thing you'll want to do is to add the following line to your .cshrc file:
setenv CVSROOT /opt/cvsroot
(this just tells your shell where the repository is).
Now, if you want to check out the current source from the repository, I would
first move your current gnnv folder to some place else:
5:45:58pm <191>: mv gnnv gnnv.old
And now type:
5:45:58pm <191>: cvs checkout gnnv
A list of all the files getting checkouted will scroll down your terminal.
Note that all your directories will now have a CVS/ directory. I strongly
discourage playing with anything in a CVS/ directory -- they're mostly
administrative files that you don't need to worry about... just leave them
alone.
Now you've got a clean version of the code; go ahead and compile, and hack away
on whatever you're working on (if there were any changes you made to what's now
in gnnv.old/, now would be a good time to integrate those changes)... if there
isn't anything in gnnv.old/ that needs to be worked in, feel free to remove it.
Now let's say you've made some significant changes, everything compiles, and you
want to commit your changes to the repository. To do so, type (from gnnv/):
6:07:34pm <195>: cvs commit
If you've added new files, you'll need to explicitly add them to the repository
before you commit them:
6:07:44pm <196>: cvs add filename
The other good thing to do is to periodically update your working version so
that it's always upto date with the repository (from gnnv/):
6:23:38pm <201>: cvs update
Tuesday we can talk about this more, though in the meantime feel free to email
me if you have any questions. CVS is pretty cool (in my humble opinion), and
I think it will boost productivity; CVS is also effective at merging multiple
different copies of the same file, but it is more involved than I feel like
typing right now; again, ask me if you have questions.
Two simple rules I think we should live by while using CVS:
- Communicate often (the listserve is a good place) regarding changes you make
to files that others might also be editing -- this will avoid merging problems
that can be dealt with, but are better avoided.
- ONLY COMMIT COMPILE-ABLE CODE
If you'd like to learn more about CVS (as I'm sure you all do), you can check
out:
http://www.erc.msstate.edu/helpdesk/software/cvs/
xprep script
xprep is a handy little script for doing remote graphical work (I
mean "graphical" in the sense of any X11 window: anything more than ASCI
text). The problem with us doing remote access graphics between our sun
account and shelley or our dorm rooms is that neither shelley nor
our dorm machines are on the DNS, and therefore are only recognized by their
IP number.
Any way, the moral of the story is that you want to use xprep to create
an xterm on your local machine from your remote machine and then
do all your work from the new xterm (run netscape, or gtk+ apps, or what
have you).
Here's an example:
I'm sitting infront of my linux box (foobar.iwu.edu), but becuase it's on
the DHCP, it's only recognized on the network by it's IP number (and not
by "foobar"). Let's say I want to run a gtk+ executable on my shelley
account. Here's the process:
foobar% xhost 206.153.84.222
206.153.84.222 being added to access control list
foobar% telnet 206.153.84.222
Trying 206.153.84.222...
Connected to 206.153.84.222.
Escape character is '^]'.
UNIX(r) System V Release 4.0 (shelley)
login: aritger
Password:
Last login: Tue Oct 20 14:33:52 from 206.153.83.90
Sun Microsystems Inc. SunOS 5.5 Generic November 1995
You have mail.
shelley% xprep
+ Setting display to output to your client (206.153.83.90:0) ...
+ Running X-term on your client ...
shelley%
What I did was to first xhost shelley (note that I had to refer to her by
IP number) and then telnet in to her. Then, when I ran the xprep script
(which I have in my home account on shelley) an xterm came up on my linux
box (foobar) which I could then use to open what ever gtk program I
wanted.
Hopefully this provides more than ample explanation of how to use xprep
(if you still want to know more, do a more on the script, or ask someone
with more networking knowedge than me - you won't have to look hard).
I'd recommend having a copy of xprep on both your shelly account and your
sun account.
shift-click here to download xprep.
(you may need to change the execute bit on the script if it isn't already
set: chmod 700 xprep)
Please email me with comments:
jbryant@sun.iwu.edu
Back to the GNNV Project main page