On what SVN can do that DVCSes can't
On what SVN can do that DVCSes can't
Posted Apr 7, 2010 3:40 UTC (Wed) by dlang (guest, #313)In reply to: On what SVN can do that DVCSes can't by iabervon
Parent article: On projects and their goals
there were two cases mentioned as "git can't do this" that I see as reasonably easy to deal with
for your #2 (secret key) you could do a publicly accessible repository without the key, then a private repository that uses the subproject feature to refer to specific states in the public tree and also has the key in it.
I'm not finding it, but someone mentioned circuits changing and the effort to re-route the circuit board when schematic changes were made. This could be a similar thing, one project where multiple people can change the schematic, but then someone (project lead, whoever) decides that this version of the schematic is likely enough to be useful to have someone spend the day routing the board. that version of the schematic would be checked in as a subproject to the repository that contains the board routing.
or you could just only do the routing work when assigned to do so, rather than after any change.
an engineer's workstation with a TB of space could probably handle the cad files without much trouble. but is that really what the person cares about? In reality you don't have an engineer who cares about every detail of every part on the car. You have the engineers working on the axle who care about all the details of that, but the engineer working on the car as a whole is going to select axle version X and use it (ore more likely, axle model X, with specific external attachments, and variations of that model are invisible to that engineer)
This sounds like another perfect case for subprojects.
your final case (propriatary formats that can't be diffed) is a case where any VCS can do no better than storing copies of each one, but it may not be appropriate for these files to be in the VCS in the first place. Just like datbases have the concept of large objects where the database contains how to get to the object, not a copy of the object itself, the VCS may be better off storing such things elsewhere and just keeping a link to it. Git doesn't do this today, but it's been discussed, just nobody has wanted the feature badly enough to code it (or pay someone else to do so)