CVS Client

Gamingphreek

Lifer
Mar 31, 2003
11,679
0
81
Hey guys,

At work, I have been pushing HEAVILY for a CVS client of some kind (It is pitifully unorganized right now...).

We develop in VS2005 or VS2008 Professional Edition.

I was thinking of using Tortoise SVN, but recently found that git has a windows version and a bash shell. Being 100% for pushing as much *nix down peoples throats as possible ;) (Git is also very powerful of course), I would really like to use it here at work.

First off, if there is another CVS you prefer better, could you please post that?

Second off, is there anyway someone can point me to a guide for setting up a personal git repository on one of our servers at work. This isn't exactly code that we want on the git servers.

If anyone knows of a general git guide so people don't have to come and ask me something every time they want to send something upstream, that would be cool as well.

Thanks so much,
-Kevin
 

Woosta

Platinum Member
Mar 23, 2008
2,978
0
71
CVS is an outdated 80s VCS ( version control software ) that I DO NOT RECOMMEND for modern use, NOR svn for that matter. If you'd like a modern VCS, go with git or mercurial ( also called hg for short ).

There's a free online version of a book, HGBook for Mercurial: http://hgbook.red-bean.com/ . This domain also has versions of a CVS/SVN book but as stated earlier they're outdated.
 

Gamingphreek

Lifer
Mar 31, 2003
11,679
0
81
Originally posted by: Woosta
CVS is an outdated 80s VCS ( version control software ) that I DO NOT RECOMMEND for modern use, NOR svn for that matter. If you'd like a modern VCS, go with git or mercurial ( also called hg for short ).

There's a free online version of a book, HGBook for Mercurial: http://hgbook.red-bean.com/ . This domain also has versions of a CVS/SVN book but as stated earlier they're outdated.

I apologize, when I say CVS I am merely being too lazy to type the Version Control Repository.

I'll look into Mercurial. I have git installed, so I am trying to see if I can manage to set up a repository on our Local Server here in the office.

-Kevin
 

Woosta

Platinum Member
Mar 23, 2008
2,978
0
71
You could say VCS, that's the acronym for Version Control System. I suggest you not go around modern tech hangouts saying CVS :p
 

MrChad

Lifer
Aug 22, 2001
13,507
3
81
Originally posted by: Woosta
CVS is an outdated 80s VCS ( version control software ) that I DO NOT RECOMMEND for modern use, NOR svn for that matter. If you'd like a modern VCS, go with git or mercurial ( also called hg for short ).

There's a free online version of a book, HGBook for Mercurial: http://hgbook.red-bean.com/ . This domain also has versions of a CVS/SVN book but as stated earlier they're outdated.

What is wrong with SVN?
 

Woosta

Platinum Member
Mar 23, 2008
2,978
0
71
Originally posted by: MrChad
Originally posted by: Woosta
CVS is an outdated 80s VCS ( version control software ) that I DO NOT RECOMMEND for modern use, NOR svn for that matter. If you'd like a modern VCS, go with git or mercurial ( also called hg for short ).

There's a free online version of a book, HGBook for Mercurial: http://hgbook.red-bean.com/ . This domain also has versions of a CVS/SVN book but as stated earlier they're outdated.

What is wrong with SVN?

Linus could explain it better than I:

http://www.youtube.com/watch?v=4XpnKHJAok8
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
We develop in VS2005 or VS2008 Professional Edition.

While git on Linux is pretty awesome, I'd make sure to do a lot of testing with the other developers on Windows because from what I've heard it's pretty rough and I have no idea if it integrates with VS at all.

What is wrong with SVN?

While it's better than CVS it still follows the same basic ideas which are arguably bad. Some of it is just usage patterns (central server vs distributed) but some of it like handling file renames is implemenatation.
 

Ken g6

Programming Moderator, Elite Member
Moderator
Dec 11, 1999
16,665
4,605
75
If you're worried about SVN and *NIX, I'm using Nautilus SVN (Like TortoiseSVN, but for Gnome). I haven't yet figured out how to set up a SVN server with my existing Windows repositories, however.

Is there a similar interface for GIT yet?
 

MrChad

Lifer
Aug 22, 2001
13,507
3
81
Originally posted by: Nothinman
What is wrong with SVN?

While it's better than CVS it still follows the same basic ideas which are arguably bad. Some of it is just usage patterns (central server vs distributed) but some of it like handling file renames is implemenatation.

I guess my expectations are low. I am used to dealing with terrible commercial VCS systems at client sites such as CA Harvest, StarTeam, PVCS, etc, so when I can use SVN I appreciate its simplicity.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
SVN works fine for us, and we use either the command line client or Tortoise for Explorer integration. It has it's problems (nothing like CVS), but it works well. I haven't used Git, but I have heard good things about it.
 

Crusty

Lifer
Sep 30, 2001
12,684
2
81
Originally posted by: Markbnj
SVN works fine for us, and we use either the command line client or Tortoise for Explorer integration. It has it's problems (nothing like CVS), but it works well. I haven't used Git, but I have heard good things about it.

This has been my experience as well. I went to SVN from CVS and haven't looked back once.
 

nakedfrog

No Lifer
Apr 3, 2001
62,306
18,174
136
I set up our initial SVN repository here, and it's treated us well for over two years. Subversion itself runs on our Gentoo box, and we use AnkhSVN within Visual Studio (and have Tortoise installed as well, of course).
 
Sep 29, 2004
18,656
67
91
I like having CVS-NT on a wqindows server that is backed up.

Tortoise seems to be the client of choice these days. Eclipse is nice for integration wiht CVS if you are doing Java development.
 
Sep 29, 2004
18,656
67
91
Originally posted by: Woosta
You could say VCS, that's the acronym for Version Control System. I suggest you not go around modern tech hangouts saying CVS :p

Concurrent Versions System is not techy? If I went into a modern tech hangout and peopel didn't know what CVS referred to, I'd walk out of that kindergrarden classroom and head over to Radio shack.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Concurrent Versions System is not techy? If I went into a modern tech hangout and peopel didn't know what CVS referred to, I'd walk out of that kindergrarden classroom and head over to Radio shack.

I'm sure they'd know to what you were referring and they'd all start either laughing at or feeling bad for you for having to use it.
 

Gamingphreek

Lifer
Mar 31, 2003
11,679
0
81
Sorry - I was on my 2 hour commute back home (Northern VA traffic sucks during rush hour ;) )

Like I said, we have Tortoise SVN installed on my Workstation already. From what I understand, its as easy as, you right click on a folder with your source code in it and commit it to the repository?

I wish we would use Eclipse or, better yet, let us develop in Linux with gcc. The main reason we use Visual Studio is because a few of the other programmers design GUI's with MFC and .NET API's - thus Eclipse and gcc CLI wouldn't be the best for that ;)

Outside of my workstation, we have a central server which is mapped as Local Drive P:. Inside that is like all heck broke lose and the world was left with 50 out of date copies of every piece of source code imaginable. I want nuke that drive and set up a repository. I do not have Network Admin rights, so is there more to it than folder/file creation/execution rights?

Thanks so much guys!
-Kevin
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
Like I said, we have Tortoise SVN installed on my Workstation already. From what I understand, its as easy as, you right click on a folder with your source code in it and commit it to the repository?

More or less. Say you have a fresh machine with the SVN client and Tortoise, and you want to start working on Project A. You right click any folder and click SVN then Repo Browser. Enter the repository URL, and browse to the folder that contains the project. Right click on that and check it out, if you want a source controlled copy, or export it if you want a copy that is not under source control. Note that checking something out in SVN just means "get a source controlled copy." There are no locks and nobody owns the right to edit a file in SVN.

Tortoise provides pretty intuitive icons that show the status of a folder or file: green for up to date, red for modified, an exclamation for conflicted, etc. I usually start my day with an update, which attempts to bring all the local files up to date with the repo. If there are any conflicts I deal with the merges at that time. Then as I work I commit stable changes and update frequently to get colleague's changes throughout the day. Since there are no locks merging can come to be an important concept. Tortoise and SVN provide diff. tools and some other help (compare with previous version, for example) to make merges a little less painful.
 

nakedfrog

No Lifer
Apr 3, 2001
62,306
18,174
136
Ankh takes it a step further, and you don't even have to leave VS to run a diff against any previous version or resolve conflicts, update, or commit.
 

Ken g6

Programming Moderator, Elite Member
Moderator
Dec 11, 1999
16,665
4,605
75
Don't you have to have a SVN server running somewhere for the clients to connect to? Or can it be done with just files on a shared drive?
 

Crusty

Lifer
Sep 30, 2001
12,684
2
81
Originally posted by: Ken g6
Don't you have to have a SVN server running somewhere for the clients to connect to? Or can it be done with just files on a shared drive?

It can be as simple as shared files, but you can also use other methods. You can basically create a repository anywhere you like and access with a svn client through local/shared files, svn+ssh, or svn+http/s. I prefer svn+ssh because I can use LDAP to control who has access to the files on the Linux server.
 

dinkumthinkum

Senior member
Jul 3, 2008
203
0
0
Git GUI works pretty well on Windows, integrates with Explorer. It gives you two options: Git GUI (a Tk-based interface) or Git bash (the usual command-line interface conveniently opened into the current folder).

The Git GUI layout is a little busy, but it does have the typical work-flow setup with buttons for easy clicking.