CVS question

Sep 29, 2004
18,656
67
91
Stupid, I know. But i have to ask because I think I am going insane.

At work, we have a nice lab setup. Probably 30 or so PCs scattered throughout a few buidlings/labs. One older server has CVS on it and all projects use it. It has tape backup, etc.

We also have 4 new development PCs for my project. And one new server for our project (call it Poop) And the other server with CVS on it. We really did not need Poop, but it is there. All new PCs and servers are backed up with their own external drive or similar system.

The 4 PCs have a mapped drive to Poop. The project lead wants to make directories on the Poop with userA, userB, etc. And when doing development, he wants us to checkout our files to the mapped drive using these directories instead of the local C drive. And do our development that way. Reason being that since we bought the server, we need to find a use for it just in case someone asks how we are using it. My brain imploded! Not because there is a reason rooted in better development practices. But some political BS that is idiotic at best. In my 10 years of programming, have a never heard such a stupid thing.

So, I have to ask. If you had a server and 4 PC clients that you develop on, where would you do the checkout to? The C drive or the mapped server drive?
 

Ken g6

Programming Moderator, Elite Member
Moderator
Dec 11, 1999
16,419
4,187
75
I dunno - if you each have your own directory on the server, and somebody who doesn't commit alot has his/her computer die, I think you might all be glad of having the files on the server. Presumably the server has images taken periodically, so your in-progress work is safer there.

Or maybe your boss wants the work done on a shared drive so he can see how much you're getting done? :evil:
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
All new PCs and servers are backed up with their own external drive or similar system.

Why would you backup everyone's PC individually? I'd just backup the data on the server and that would inadvertantly give you a reason to use the server.

Also, I'd ditch CVS. It's crap, at the very least you should be using SVN and I'd be trying to get people to use git.
 

mundane

Diamond Member
Jun 7, 2002
5,603
8
81
Originally posted by: Nothinman
All new PCs and servers are backed up with their own external drive or similar system.

Why would you backup everyone's PC individually? I'd just backup the data on the server and that would inadvertantly give you a reason to use the server.

Also, I'd ditch CVS. It's crap, at the very least you should be using SVN and I'd be trying to get people to use git.

Offtopic - what advantage does git buy you in this centralized environment? (disclaimer: I have yet to use it).

From what little I understand, git is better suited for distributed projects, especially ones in which there doesn't need to be a central authority. SVN seems to be a better fit, especially they have a dedicated server machine(s).

On topic - setup the extra machine for regression testing, or as a build machine. Toss a couple of VMs on there, different OSes to test deployment.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Offtopic - what advantage does git buy you in this centralized environment? (disclaimer: I have yet to use it).

You can still designate one repo as a central source if you want, people can do 'git push' to have their changes pushed to a remote repository.

git is very fast, handles file renames, you don't have to be connected to the repo to look at things like changelogs and is going to handle binary files better. And git bisect is awesome for figuring out which patch broke something.

Here's a fairly old thread with some of Linus' reasons why distributed is better than centralized: http://kerneltrap.org/mailarchive/git/2005/10/30/195694

From what little I understand, git is better suited for distributed projects, especially ones in which there doesn't need to be a central authority. SVN seems to be a better fit, especially they have a dedicated server machine(s).

Or distributed in that you want to work on a project on your laptop while you're at home, on a plane, etc. With CVS you've got to have a connection to the repository to do much.
 
Sep 29, 2004
18,656
67
91
Originally posted by: Nothinman
All new PCs and servers are backed up with their own external drive or similar system.

Why would you backup everyone's PC individually? I'd just backup the data on the server and that would inadvertently give you a reason to use the server.

Also, I'd ditch CVS. It's crap, at the very least you should be using SVN and I'd be trying to get people to use git.

Remember when I said it was CVS on an older server. Want me to find out what version it is on Monday? I think it is a 10 year old version of CVS running in Unix. Not Linux, Unix.

SVN is subversion I am assuming? I agree to an extent. It would be a hard sale where I work. People are opposed to change. It is pretty bad. I have to admit though. CVS only has one thing I don't like about it. The lack of ability to move files and/or rename them without loosing the history.

I gave up after trying to invoke change after the Tortoise debacle. On our PC,s I wanted to have WinCVS installed in addition to Tortoise. You would imagine, no big deal right. No, they wanted me to do a write up explaining how it is cost effective. Yes, the free tool that takes 1 minute to install ..... apparently required a lengthy discussion over several meetings.

They spent to much time over the past ten years refining their "process". It is a good one I admit but holy waste of time and money. Sadly, they are ignoring any current methodologies that are in use like Extreme Programming (which another department uses). Extreme programming has its place and sadly, our department would not use it because it is a PITA to just try to move an OK button over to the right 3 pixels.

Everything has it's own external backup. PCs and servers. The server is not required to do backups. The thing is, we could backup our PC to the server I'd imagine.
 
Sep 29, 2004
18,656
67
91
Originally posted by: mundane
Originally posted by: Nothinman
All new PCs and servers are backed up with their own external drive or similar system.

Why would you backup everyone's PC individually? I'd just backup the data on the server and that would inadvertantly give you a reason to use the server.

Also, I'd ditch CVS. It's crap, at the very least you should be using SVN and I'd be trying to get people to use git.

Offtopic - what advantage does git buy you in this centralized environment? (disclaimer: I have yet to use it).

From what little I understand, git is better suited for distributed projects, especially ones in which there doesn't need to be a central authority. SVN seems to be a better fit, especially they have a dedicated server machine(s).

On topic - setup the extra machine for regression testing, or as a build machine. Toss a couple of VMs on there, different OSes to test deployment.

Our target ssytemis a PowerPC processor running VxWorks :) Forgot to mention that this is embedded work. Testing is done by doing an X86 build locally. Another total pain in the pass discussion. Anyone want to explain unit testing for me to the person above me? 30 units of software development under his belt and I feel like I am talking to a new hire just out of community college when it comes to talking about actual development.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Not Linux, Unix.

Unix is a generic term, that's like saying "Not Ford, a Car".

I gave up after trying to invoke change after the Tortoise debacle. On our PC,s I wanted to have WinCVS installed in addition to Tortoise. You would imagine, no big deal right. No, they wanted me to do a write up explaining how it is cost effective. Yes, the free tool that takes 1 minute to install ..... apparently required a lengthy discussion over several meetings.

If my place was that opposed to change I'd be looking for another job.
 

degibson

Golden Member
Mar 21, 2008
1,389
0
0
Originally posted by: IHateMyJob2004
...we need to find a use for it just in case someone asks how we are using it...

It sounds like your backup situation is overprovisioned (individual system backups to external storage)... but servers can do more than just hold data. Here are three ideas for how to use Poop differently (though you may already have these machines deployed):

* Why not set up Poop as a continuous build machine?
* How about a continuous test machine?
* Why don't you set up Poop as a monitor? Have it look around the network and gauge health, etc. With N=~30, you're at a good place to consider doing so. For instance, compute MD5 hashes of everybody's code, log it, and see when it changes. You can detect when people make changes (detect lazy workers, ha), or you can also detect bit rot on disks.

(BTW, if Poop lives in or near someone's cube, or if you have heat/noise issues in general at your workplace, clock the processor and memory way down)

Using Poop as storage:
1) Decreases reliability (assuming Poop is no more reliable than userA's desktop, i.e. isn't RAID'ed, and that work is done on Poop with only a single backup of Poop)
2) Is redundant, considering user_i's desktop has another backup solution
3) There are probably other reasons its a useless idea

Lastly, this is the most that I've typed Poop since I was in the 8th grade.