Source Version Control System - what do you use and why? I need to find a solution for my company - Page 2 - Overclock.net - An Overclocking Community

Forum Jump: 

Source Version Control System - what do you use and why? I need to find a solution for my company

Reply
 
Thread Tools
post #11 of 26 (permalink) Old 12-12-2016, 07:34 AM
New to Overclock.net
 
paulclift's Avatar
 
Join Date: Jul 2016
Posts: 54
Rep: 1 (Unique: 1)
I've used BitBucket/Jira and TFS in commercial environments and I really liked both, and both can be cloud hosted.

BitBucket will be cheaper, but I think some of it depends on type of development environment and developers you use. If you're a bunch of .net guys using visual studio then you'll be more used to TFS as will potential future devs.
paulclift is offline  
Sponsored Links
Advertisement
 
post #12 of 26 (permalink) Old 12-12-2016, 09:43 AM - Thread Starter
Blessed to Serve
 
Bigceeloc's Avatar
 
Join Date: Oct 2015
Location: Michigan
Posts: 819
Rep: 15 (Unique: 9)
Ah, some follow up info is that the guys here use a program called MicroChip to write some low level language.

So they aren't tied to Microsoft. But they do use visual studio for some other things...maybe TFS would be a better overall route? But visual studio isn't the primary compiler they use, it has alot to do with MicroChip.

The beginning of wisdom is this: Get wisdom. Though it cost all you have, get understanding. - Proverbs 4:7
Bigceeloc is offline  
post #13 of 26 (permalink) Old 12-14-2016, 06:01 AM
Some call me... Bifford
 
BFRD's Avatar
 
Join Date: Dec 2004
Location: Carrollton, TX
Posts: 5,264
We use SVN (Subversion) here and CruiseControl.NET for automation. I like the integration with TortoiseSVN in windows or directly in VS. There is a good bit of integration points between SVN and almost any other product. We have it tied in to our ticketing system as well. I can check in a change and directly link the updates to a specific defect or feature. I realize that GIT is all the rage right now, but SVN has never let me down.



BFRD is offline  
Sponsored Links
Advertisement
 
post #14 of 26 (permalink) Old 12-14-2016, 06:21 AM - Thread Starter
Blessed to Serve
 
Bigceeloc's Avatar
 
Join Date: Oct 2015
Location: Michigan
Posts: 819
Rep: 15 (Unique: 9)
Thanks for the replies guys.
We are going to do a trial of GitLab it seems. I also emailed this post to the engineer to see what he thinks.

The beginning of wisdom is this: Get wisdom. Though it cost all you have, get understanding. - Proverbs 4:7
Bigceeloc is offline  
post #15 of 26 (permalink) Old 12-14-2016, 07:33 AM
New to Overclock.net
 
Avonosac's Avatar
 
Join Date: Dec 2012
Location: PA
Posts: 2,957
Rep: 158 (Unique: 114)
Quote:
Originally Posted by BFRD View Post

We use SVN (Subversion) here and CruiseControl.NET for automation. I like the integration with TortoiseSVN in windows or directly in VS. There is a good bit of integration points between SVN and almost any other product. We have it tied in to our ticketing system as well. I can check in a change and directly link the updates to a specific defect or feature. I realize that GIT is all the rage right now, but SVN has never let me down.

Really? Never tried to do a merge with any refactoring in it?


axesmiley.pngaxesmiley.pngaxesmiley.pngaxesmiley.pngaxesmiley.pngaxesmiley.pngaxesmiley.pngaxesmiley.pngaxesmiley.png


Avonosac is offline  
post #16 of 26 (permalink) Old 12-14-2016, 09:24 AM
New to Overclock.net
 
Mrzev's Avatar
 
Join Date: Feb 2008
Location: Texas
Posts: 2,258
Rep: 96 (Unique: 76)
Quote:
Originally Posted by BFRD View Post

We use SVN (Subversion) here and CruiseControl.NET for automation. I like the integration with TortoiseSVN in windows or directly in VS. There is a good bit of integration points between SVN and almost any other product. We have it tied in to our ticketing system as well. I can check in a change and directly link the updates to a specific defect or feature. I realize that GIT is all the rage right now, but SVN has never let me down.

I feel the same way, and used the EXACT SAME THING. SVN with TortiseSVN gui and my build system\test used CC.net as well. The one downside that we ran into was trying to do gated checkins. I heard there was a way to do it with hooks or something, but I never got around to implementing it. I do miss tortiseSVN... it made everything easy and straight forward.
Quote:
Originally Posted by Avonosac View Post

Really? Never tried to do a merge with any refactoring in it?


axesmiley.pngaxesmiley.pngaxesmiley.pngaxesmiley.pngaxesmiley.pngaxesmiley.pngaxesmiley.pngaxesmiley.pngaxesmiley.png

I did all the time, and it comes down to the quality of the merge tool that you use. I don't think that GIT has a merge tool built in. When i was using SVN, i used Visual Studio 2010-2012 merge tool which worked ok, and Beyond Compare which i recall worked better. With TortoiseSVN, merging, tagging, labeling, and branching was all very straight forward and easy.


Thinking more about it.... they are all the same IMO. It all depends on the GUI tool that you use in the end. My distaste for GIT is probably the same reason why I cant stand Java... i have not found an IDE that works the way I want it to. The tools that should make things easier just ends up adding more work for me. I'm sure if I find a good GUI tool for GIT I will be happy again..... i wonder if Tortoise makes one???



Mrzev is offline  
post #17 of 26 (permalink) Old 12-14-2016, 01:18 PM
New to Overclock.net
 
Avonosac's Avatar
 
Join Date: Dec 2012
Location: PA
Posts: 2,957
Rep: 158 (Unique: 114)
Quote:
Originally Posted by Mrzev View Post

Warning: Spoiler! (Click to show)
I feel the same way, and used the EXACT SAME THING. SVN with TortiseSVN gui and my build system\test used CC.net as well. The one downside that we ran into was trying to do gated checkins. I heard there was a way to do it with hooks or something, but I never got around to implementing it. I do miss tortiseSVN... it made everything easy and straight forward.
I did all the time, and it comes down to the quality of the merge tool that you use. I don't think that GIT has a merge tool built in. When i was using SVN, i used Visual Studio 2010-2012 merge tool which worked ok, and Beyond Compare which i recall worked better. With TortoiseSVN, merging, tagging, labeling, and branching was all very straight forward and easy.


Thinking more about it.... they are all the same IMO. It all depends on the GUI tool that you use in the end. My distaste for GIT is probably the same reason why I cant stand Java... i have not found an IDE that works the way I want it to. The tools that should make things easier just ends up adding more work for me. I'm sure if I find a good GUI tool for GIT I will be happy again..... i wonder if Tortoise makes one???

Uh... git is like.. by definition a merge tool. With git, you have to manually merge orders of magnitude less often, even with more weird activity going on in the repository. As I said before, git can be devolved down to a centralized repository model, but how they function is very, very different. It is clear you are looking for a VCS which has the same view on versioning code, used in the same way, and if you use Git in a way it wasn't intended to be used it could be frustrating.

GUI breaks many of the advantages of Git, but Tortoise does make a tool for it. Have you used IntelliJ IDEA for Java? It has a solid GUI for git from what I understand as well, but if your a .NET guy then I'm not sure you're interested in the command line paradigm, and it certainly isn't built for the M$ development sandbox.


Avonosac is offline  
post #18 of 26 (permalink) Old 12-15-2016, 11:19 AM
New to Overclock.net
 
Mrzev's Avatar
 
Join Date: Feb 2008
Location: Texas
Posts: 2,258
Rep: 96 (Unique: 76)
Quote:
Originally Posted by Avonosac View Post

Uh... git is like.. by definition a merge tool. With git, you have to manually merge orders of magnitude less often, even with more weird activity going on in the repository. As I said before, git can be devolved down to a centralized repository model, but how they function is very, very different. It is clear you are looking for a VCS which has the same view on versioning code, used in the same way, and if you use Git in a way it wasn't intended to be used it could be frustrating.

GUI breaks many of the advantages of Git, but Tortoise does make a tool for it. Have you used IntelliJ IDEA for Java? It has a solid GUI for git from what I understand as well, but if your a .NET guy then I'm not sure you're interested in the command line paradigm, and it certainly isn't built for the M$ development sandbox.

When I was talking about merging, i was talking more along the lines of when someone updates the repo before you check in, and you need to merge your code in with there's. GIT and SVN both do differentials when you push in the data. Its not saving another whole copy, it only saves what was changed. I dont consider that merging at all.

I just picked up TortiseGIT and I'm happy with that. I dont mind CMD stuff, I do a bunch of it with all sorts of other apps like today i will need to do a bunch of FFMPEG stuff. My issue with CMD is trying to remember the arguments for everything. I cant remember if you push first, or commit. What is the argument to add a message to the commit... how do I add files... how do i remove files.... how do i view the history of this file????? If i knew all the cmds on the top of my head, its no biggie, but I just can never remember those. To right click a file and click "history" is very easy and typically formatted in a nicer way, but im sure you can grep the output or add more flags to sort the data how you want it in CMD too. Every time I use GIT on WINDOWS (not linux), I have issues with credentials, I think most of them derive from the fact that I forget i need to launch Pagent.

I was in charge of the SVN, and TFS instance at my previous job for a group of 22 developers working on 5 active projects and 15 legacy projects, and in that 3 year time, I ran into less issues than I have in the shorter span of me using GIT. The ONLY annoying issue I ran into on SVN (and probably would happen on GIT), was where a file with the same name got checked in 2x one uppercase one lower case, and when pulling windows would freak out because windows files are not unique if the casing is different, while linux (where svn was running) sees them as different files.


I have not had to do any java in 2 years, but I need to find a new IDE because i hate Eclipse. I am sure whatever tool i find will have nice support for GIT.



Mrzev is offline  
post #19 of 26 (permalink) Old 12-16-2016, 07:10 AM
New to Overclock.net
 
Avonosac's Avatar
 
Join Date: Dec 2012
Location: PA
Posts: 2,957
Rep: 158 (Unique: 114)
Quote:
Originally Posted by Mrzev View Post

Warning: Spoiler! (Click to show)
When I was talking about merging, i was talking more along the lines of when someone updates the repo before you check in, and you need to merge your code in with there's. GIT and SVN both do differentials when you push in the data. Its not saving another whole copy, it only saves what was changed. I dont consider that merging at all.

I just picked up TortiseGIT and I'm happy with that. I dont mind CMD stuff, I do a bunch of it with all sorts of other apps like today i will need to do a bunch of FFMPEG stuff. My issue with CMD is trying to remember the arguments for everything. I cant remember if you push first, or commit. What is the argument to add a message to the commit... how do I add files... how do i remove files.... how do i view the history of this file????? If i knew all the cmds on the top of my head, its no biggie, but I just can never remember those. To right click a file and click "history" is very easy and typically formatted in a nicer way, but im sure you can grep the output or add more flags to sort the data how you want it in CMD too. Every time I use GIT on WINDOWS (not linux), I have issues with credentials, I think most of them derive from the fact that I forget i need to launch Pagent.

I was in charge of the SVN, and TFS instance at my previous job for a group of 22 developers working on 5 active projects and 15 legacy projects, and in that 3 year time, I ran into less issues than I have in the shorter span of me using GIT. The ONLY annoying issue I ran into on SVN (and probably would happen on GIT), was where a file with the same name got checked in 2x one uppercase one lower case, and when pulling windows would freak out because windows files are not unique if the casing is different, while linux (where svn was running) sees them as different files.


I have not had to do any java in 2 years, but I need to find a new IDE because i hate Eclipse. I am sure whatever tool i find will have nice support for GIT.

All of your issues sound like windows issues to me. You like your GUI's but you don't like the baggage that comes with it (the terrible file system as a start). It sounds like you aren't using Git Bash, but are trying to use the native terminal for everything, and honestly that entire experience is so poor I install git on machines I never plan to code on, just to get a familiar defaulted git bash shell.

You are clearly more versed in SVN, which is why you would be more comfortable using it, but it is also why you have so much trouble with git. You committed so completely to the SVN way of doing things, any change in the workflow seems wrong and alien to you, and your years of experience scream 'this is wrong' when you're going through things.

The problem is, Git merges all of those issues you think might be a problem for you. When I first started with git, I actually had to work hard to contrive a change to our code base which would cause git an issue. The only way I could guarantee a merge conflict was editing the exact same line in the history of both branches in a merge, but even then git has an uncanny ability to pick the right one.

The reason you think SVN and Git have parity on the diffs they store, is because you don't understand that Git stores your information in a fundamentally different way. SVN stores your docs, and then a version of them in history, the changes are stored but the document is kept complete. Git on the other hand stores your history tree, and the changes and replays them in order to build your document.

SVN keeps the most up to date 'truth' and tries to handle the history for merges to get to the right result of the joining of two truth's. Git however just combines the history of both branches, and is able to apply orders of magnitude more of it without conflict before the results require intervention. SVN tracks changes at the file level, Git tracks changes at the line level (kinda).


Avonosac is offline  
post #20 of 26 (permalink) Old 12-19-2016, 07:54 AM - Thread Starter
Blessed to Serve
 
Bigceeloc's Avatar
 
Join Date: Oct 2015
Location: Michigan
Posts: 819
Rep: 15 (Unique: 9)
Very good info guys fellas! I will check in w/ our software engineer and see what he thinks about it so far. Maybe after the holidays.

The beginning of wisdom is this: Get wisdom. Though it cost all you have, get understanding. - Proverbs 4:7
Bigceeloc is offline  
Reply

Quick Reply
Message:
Options

Register Now

In order to be able to post messages on the Overclock.net - An Overclocking Community forums, you must first register.
Please enter your desired user name, your email address and other required details in the form below.
User Name:
If you do not want to register, fill this field only and the name will be used as user name for your post.
Password
Please enter a password for your user account. Note that passwords are case-sensitive.
Password:
Confirm Password:
Email Address
Please enter a valid email address for yourself.
Email Address:

Log-in



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Show Printable Version Show Printable Version
Email this Page Email this Page


Forum Jump: 

Posting Rules  
You may post new threads
You may post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off