| Note from user visits by Hyrum - Jan., Feb. 2010 |
| |
| Introduction |
| ============ |
| I've recently had an opportunity to visit with a number of corporate users |
| of Subversion. My basic question was "what should you think the future of |
| Subversion should be?" While not everybody spoke to that question, all the |
| responses were illuminating, so I'm recording them here for posterity. |
| |
| (These aren't all of the people I've talked to, just the ones which had the |
| most feedback.) |
| |
| |
| User 1 |
| ====== |
| |
| Background |
| ---------- |
| A large corporate installation of Subversion. The development manager I |
| spoke with supervises several thousand developers. They use Subversion, but |
| there is some grassroots movement from his developers to switch to a DVCS. |
| |
| Concerns |
| -------- |
| Branching & merging too slow |
| Overall speed |
| "Branching & merging fixed by the end of the year, or you are dead." |
| Refactoring support |
| "If you are going to fail, I'll leave as soon as possible." |
| Great interest in obliterate support |
| |
| Places Subversion stands out |
| ---------------------------- |
| Multi-platform support |
| (others) |
| |
| Take-aways |
| ---------- |
| Overall, the meeting was a bit negative, but that's what I expected (and asked |
| for, even). Hearing folks' concerns is how we improve. In the end, I came |
| to the realization that we wouldn't be having the conversation if folk like |
| him didn't see hope, and didn't want to see improvement. As a development |
| manager, the idea of moving to a DVCS is not very appealing at all, and he |
| wants to see Subversion succeed. |
| |
| |
| User 2 |
| ====== |
| |
| Background |
| ---------- |
| Another large corporate installation, recently moved from CVS to Subversion. |
| ~3000 developers. |
| |
| Concerns |
| -------- |
| Obliterate support |
| Tags are useless (would essentially like revnum aliases of some kind) |
| No zero-change commit support. |
| Long option names |
| Atomic import (a delete and import in one rev) |
| Merge ancestry issues are painful |
| Want 'svn diff@WORKING' |
| Various scalability concerns |
| Long-running merge operations |
| |
| Places Subversion stands out |
| ---------------------------- |
| Much better than CVS in every practical way |
| |
| Take-aways |
| ---------- |
| A lot of the Concerns are actually somewhat-valid feature requests. We should |
| attempt to vet them, and if found justifiable, implement them. |
| |
| |
| User 3 |
| ====== |
| |
| Background |
| ---------- |
| Large multinational corporate, many regions each with relatively few developers |
| (10-20 per region say), couple of hundred in HQ. Beginning to work with |
| outsourced development centres. Moved from VSS to SVN 18 months ago (but |
| planning longer). |
| |
| |
| Concerns |
| -------- |
| * Performance. Base product is 20,000 files in a few hundred Mb Data, plus |
| smaller modules. Initial checkin of the base often fails and has to be |
| performed piecemeal. Some log commands take a while, TortoiseSVN's revision |
| graph is unusable. |
| * Server-based configuration. It's not nice when a user forgets to set his |
| global-excludes for example. |
| * Obliterate support would be nice to clean up the repo. |
| * Archiving support also - ie to delete revisions over 2 years old, for |
| example, whilst keeping newer revisions. |
| * Better admin tools in general, our repo is 12Gb now, so svnadmin |
| dump/filter/load is almost impractical. |
| * Tags are useless (almost), we'd want revnum aliases too. Especially would |
| like to create a single tag, but then use that to hold all releases - eg, |
| 1 tag branch where each revision is a release. Merging makes this slightly |
| difficult and not suitable as we just want to 'merge' onto the tag by copying |
| the current file over, not by merging revisions, not by doing a checkout and |
| commit. |
| * Search - there's no good ability that can index a repo for searching, nor to |
| search log comments. |
| |
| Places Subversions stands out |
| ----------------------------- |
| * Simple and easy to use. |
| * Good repository view - the directory structure is easy to understand and has |
| good visibility. |
| * Excellent integration with other tools. "right thing done right" when |
| combined with other best-of-breed tools can be beautiful (eg bugtracker, |
| requirements/project management, document repositories), plus other utilities |
| such as TortoiseSVN and Apache views. |
| * Svnsync. |
| |
| |
| Other Users |
| =========== |
| I talked to one user who had actually written a custom client, which allowed |
| them to implement overlay checkouts, which was important for their work flow. |
| I was duly impressed, in a sort of "what-in-the-world?" way. |
| |
| A chip design firm is interested in using Subversion to version their |
| artifacts, and was interested to know what kinds of integration exist for |
| the various chip design tools. |