Hacker News new | ask | show | jobs
by erpellan 3094 days ago
"isolated from everyone else's commits"

Assumes nobody's changes ever collide or conflict with each other.

Introduces a fear of refactoring and making improvements as you go as that increases the risk of a merge conflict.

Delays discovery of changes being made where you might be able to have some positive input until the work is 'finished'.

2 comments

> Assumes nobody's changes ever collide or conflict with each other.

I don't believe that anyone using any VCS expects every single commit to be free from "conflict" or "change collision".

In fact, the whole point of using VCS is that "conflicts" and "change collisions" are a given, thus there is a need to use a specialized tool to manage merges and handle conflicts.

> Introduces a fear of refactoring

On who? They have the exact opposite effect.

Have you ever actually used any version control system?

My point was that any branching strategy will necessarily introduce an integration delay. Instead of merging to master every hour or so, the delay is measured in days. The longer the gaps between merges the larger the change set, the greater the risk and impact of merge conflicts.

And, yes, I have! SourceSafe, CVS, StarTeam, Subversion, Perforce, ClearCase, PVCS, Mercurial and Git in (roughly) chronological order by my reckoning. Thanks for asking.

If you're that worried about merge conflicts, isn't the real problem that you haven't refactored enough for SRP? If two people are working on different things, they probably shouldn't be editing the same code.