Abandon Your DVCS and Return to Sanity (2015)
There&#x27;s one further point the article missed, which is: locking of binary assets.<p>For any file which cannot be merged, you need to have a &quot;lock&#x2F;checkout, edit, commit&quot; workflow.<p>There&#x27;s no point allowing two people to have a PNG file in their checkout, edit it, and commit it, only for one to get the message &quot;sorry, someone else edited it, your edits are now based on an out-of-date version, deal with it&quot;. You need to enforce the &quot;lock, edit, commit&quot; workflow on all files which cannot be merged.<p>Essentially, binary files cannot be merged, and therefore all binary files require this workflow. I&#x27;m sure there are some exceptions, I think Microsoft offers a merge tool for Word files. But I&#x27;ve never seen it hooked up to a VCS. But I suppose in principle it, or a similar merge algorithm for a particular file format, could be. But even then, there&#x27;ll still be all the other binary files, for which no such merge algorithm is configured.<p>All project have some binary files e.g. PNGs. So all projects are affected by this, and require this workflow on those files.<p>Yet a DVCS cannot offer it as there is no central place to maintain the lock.<p>Subversion offers this workflow however it isn&#x27;t enabled by default.<p>A VCS needs to offer this functionality as every project needs it, and it should be enabled by default for all files the VCS doesn&#x27;t know how to merge.