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:
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