Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   C/C++ (http://www.chiefdelphi.com/forums/forumdisplay.php?f=183)
-   -   Git or SVN in WRWB (http://www.chiefdelphi.com/forums/showthread.php?t=99837)

makahn64 11-01-2012 16:02

Git or SVN in WRWB
 
Hi Folks,

I wanted to put eGit in WRWB so our team could do revision control, but WRWB is lacking the install software menu in standard Eclipse. Does anyone know how to make this work?

I see it has CVS, but this is so 1990, I shudder to use it. I'm also a big fan of github.

I guess I could just have the kids go command line, but that sort of scares me a little even though it's what I do.

Thanks,

Mitch, Team 256

P.S. SVN would be ok too.

mryfrmr 11-01-2012 16:26

Team 191 the Xcats has been a long time user of svn. And since we use java the integration is easy to boot.

shuhao 11-01-2012 16:34

Why not just use cli? It's very very good and super fast.

makahn64 11-01-2012 17:38

Re: Git or SVN in WRWB
 
Git is essentially the industry standard these days for version control, at least in my business. It is built right in to Xcode, it's easy to integrate in Eclipse (though SVN is too) and in GitHub there is an awesome, free way to back up data off site.

I'm surprised WindRiver locked down the ability to add in Eclipse plug-ins. I don't know if this is in their standard product, but if it is, I would be screaming :mad: :mad: .

Tom Bottiglieri 11-01-2012 18:46

Re: Git or SVN in WRWB
 
That's annoying. Just git commit from a terminal, I suppose. Better yet, nix the IDE all together. :)

pudgeball 11-01-2012 18:56

Re: Git or SVN in WRWB
 
<disclaimer>Before I start, I would like to say that this is my personal opinion and whatever floats your boat is fine with me. </disclaimer>

I would pick GIT over SVN because I enjoy using git more. And yes while having to teach the kids to use git through the command line is more work, I think it would benefit them. It means that they can sit down at a new machine and get going with the concepts and stuff they've learned. Plugins are nice but not necessary.

shuhao 11-01-2012 19:02

I have to say... svn is an abomination.

byteit101 11-01-2012 19:18

Re: Git or SVN in WRWB
 
svn is built in, and if you want plugins, it is eclipsed based, and as such you can either manually install plugins, or "install into eclipse" (under menu twards right), which will then give you complete plugin flexibility, allowing you to use git, mercurial, svn, or whatever you want

mikets 11-01-2012 19:48

Re: Git or SVN in WRWB
 
Just curious, our team uses Mercurial. Some people told me it is very similar to git. Does anybody have experience in both and care to share their opinions on the differences, good or bad?

shuhao 11-01-2012 20:08

A python Git clone .. slower than Git.. personally I think Git is better

byteit101 11-01-2012 20:55

Re: Git or SVN in WRWB
 
Quote:

Originally Posted by mikets (Post 1102971)
Just curious, our team uses Mercurial. Some people told me it is very similar to git. Does anybody have experience in both and care to share their opinions on the differences, good or bad?

It is, and its not. I've used both, and prefer mercurial for a number of reasons (see my github vs bitbucket profile if you don't believe me)
  1. TortoiseHG
  2. works on windows
  3. same on any platform
  4. branches
  5. newbie friendly &easier to learn
  6. undoing stuff


By far my favorite reason is TortoiseHG. Its light years ahead of tortoise git, and works on all platforms (almost) equally well. I like being able to visualize history, and imho, for merging and fancy stuff, a good gui is essential. If there was a VERY good terminal program, I might reconsider, but until then, gui's are way more intuitive and friendly than most terminal programs. Git gui feels like a kludge sometimes

Windriver is for windows. Git was originally for linux. Mercurial is written in python, which is very cross platform, making the whole experience seamless. Git on windows is more of an afterthought, requiring its own special POSIX enviroment. Go native! (git runs like a sloth on my windows machine, even git help takes ~5 seconds(!))

Again, TortoiseHG and the py code are exactly the same on win, mac, linux. tortoise git is windows only, and git works slightly differently on each platform.

Branches are interesting: in mercurial, each branch is a specific line, and you can account for it in history. Mercurial also has bookmarks, that point to specific commits, but don't have history, so if you want to see what bookmark a certain revision used to have, you are out of luck. Git's branches are essentially hg's bookmarks. There is simply a mess of named locations on the current history, and 20 branches can point to the exact same commit. Git also likes to make branches. a branch in a repo is different from the same branch in the local machine. Also, git likes to merge. way too much. (especially github)

imho, hg (and especially tortoisehg) is much easier to learn. Even just using the command line, hg has excellent, short, consice help files, while git has monsters of help pages with many things you sometimes don't want to know (though it has gotten better). Some commands/operations in git seem very odd and produce strange warnings, like checking out a previous commit. And as I will show below, reverting is funny. git tries to do too many things sometimes also. I easily found how to edit history in tortoisehg, but tortoisegit and git gui took a bit more work

you are working on something, and oops! I don't want to delete that file!
hg revert your-file-you-want-back
git checkout -- your-file-you-want-back
want to restore all your changes?
hg revert
git reset --hard



For a nice (relatively unbiased) overview, look at http://mercurial.selenic.com/wiki/GitConcepts
and of the three things git is "better" at than hg on http://whygitisbetterthanx.com/, I'd only agree GitHub (though Bitbucket is better in some areas, as it supports both git and hgm)
why? hg has cheap local branching, in both normal branches, and bookmarks, and the staging area in git is matched with tortoisehg (though they dropped hunks with 2.0, but it should be coming back soon), and/or mq (Mercurial Queues)

shuhao 11-01-2012 23:48

Quote:

Originally Posted by byteit101 (Post 1103011)
It is, and its not. I've used both, and prefer mercurial for a number of reasons (see my github vs bitbucket profile if you don't believe me)
  1. TortoiseHG
  2. works on windows
  3. same on any platform
  4. branches
  5. newbie friendly &easier to learn
  6. undoing stuff


By far my favorite reason is TortoiseHG. Its light years ahead of tortoise git, and works on all platforms (almost) equally well. I like being able to visualize history, and imho, for merging and fancy stuff, a good gui is essential. If there was a VERY good terminal program, I might reconsider, but until then, gui's are way more intuitive and friendly than most terminal programs. Git gui feels like a kludge sometimes

Windriver is for windows. Git was originally for linux. Mercurial is written in python, which is very cross platform, making the whole experience seamless. Git on windows is more of an afterthought, requiring its own special POSIX enviroment. Go native! (git runs like a sloth on my windows machine, even git help takes ~5 seconds(!))

Again, TortoiseHG and the py code are exactly the same on win, mac, linux. tortoise git is windows only, and git works slightly differently on each platform.

Branches are interesting: in mercurial, each branch is a specific line, and you can account for it in history. Mercurial also has bookmarks, that point to specific commits, but don't have history, so if you want to see what bookmark a certain revision used to have, you are out of luck. Git's branches are essentially hg's bookmarks. There is simply a mess of named locations on the current history, and 20 branches can point to the exact same commit. Git also likes to make branches. a branch in a repo is different from the same branch in the local machine. Also, git likes to merge. way too much. (especially github)

imho, hg (and especially tortoisehg) is much easier to learn. Even just using the command line, hg has excellent, short, consice help files, while git has monsters of help pages with many things you sometimes don't want to know (though it has gotten better). Some commands/operations in git seem very odd and produce strange warnings, like checking out a previous commit. And as I will show below, reverting is funny. git tries to do too many things sometimes also. I easily found how to edit history in tortoisehg, but tortoisegit and git gui took a bit more work

you are working on something, and oops! I don't want to delete that file!
hg revert your-file-you-want-back
git checkout -- your-file-you-want-back
want to restore all your changes?
hg revert
git reset --hard



For a nice (relatively unbiased) overview, look at http://mercurial.selenic.com/wiki/GitConcepts
and of the three things git is "better" at than hg on http://whygitisbetterthanx.com/, I'd only agree GitHub (though Bitbucket is better in some areas, as it supports both git and hgm)
why? hg has cheap local branching, in both normal branches, and bookmarks, and the staging area in git is matched with tortoisehg (though they dropped hunks with 2.0, but it should be coming back soon), and/or mq (Mercurial Queues)

You forgot to mention how slow it is compared to git of you're already on Linux. Even mercurial on Linux is faster than windows.

byteit101 12-01-2012 14:53

Re: Git or SVN in WRWB
 
Quote:

Originally Posted by shuhao (Post 1103220)
You forgot to mention how slow it is compared to git of you're already on Linux. Even mercurial on Linux is faster than windows.

If you are working on the giant mess that is the gits's history, I agree. If it is your standard robot code, then it it like comparing driving 40mph and 39.9mph (not noticeable)

For any robot purpose, hg is just as fast as git on linux. I think its also more of a percieved speed: git is c, which is fast, while hg is python, which is slower. However, its not very noticeable today (it may have been a few years ago though), due to some C code, and optimizations

kccowan 12-01-2012 23:29

Re: Git or SVN in WRWB
 
Our team used Mecurial / TortoiseHG last year. Having version control was great, but I'll say that we had huge issues due to the flexibility -- ended up with multiple heads by accident. And it was hard to merge changes in the right direction, so that you only had to review your own changes.

Hoping this year will be smoother.

KC

makahn64 17-01-2012 13:18

Re: Git or SVN in WRWB
 
I'll have to check out Mercurial. I agree Git is way nasty when you need roll something back (like that 40Mbyte movie you checked in by accident).

For now, I have Git on the command line while I research Mercurial...Thanks!


All times are GMT -5. The time now is 03:44.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi