We are in the progress of migrating our old CVS server towards git but I am getting some pushback from one of the main developers that has been working with CVS for the last 30 years. I think he has some difficulties coming to grips with git. He gave me his opinion and I was wondering how I can challenge or solve some of them:
"Is not possible to merge commits to different branches, for small projects I see that is working but for our project we still need to create separate branches to move the specific fixes." Context: Currently he creates a special release-branch every time we create a release (every quarter). Some customers upgrade to the new releases but a lot of them are still on older versions that receive frequent fixes. When he implements a fix in one of the older branches and wants to include this fix into other release-branches he is getting a lot of merge conflicts. I think the main problem stems from the fact that you cannot just merge branches with wildly different histories.
"Creating new branches and moving fixes from specific branches, not working, in CVS you can just tag certain commits and then move those ones to the one that you want, the option doesn't exits in Git" Context: Same problem as the first one.
"There is no history tree per file like in CVS (we usually check all the changes on certain files per branch) or if we want to see a list of all the files and order them per update date, the option doesn't exits in Git" Context: He apparently wants to see the evolution of a particular file in git, across different branches, not only in the current active branch.
"In general it takes quite some time to commit files, comparing with CVS, we even spend more time in Git to just commit files." Context: I think this is mainly because his merges are getting a lot of conflicts.