During February 2011, WANdisco twice held a one-day conference that included a Subversion "round table" feedback session. Attendees were mainly on the technical side - project admins and sys admins - and some were customers. The points below were raised in those discussions. The purpose of this report is to record feedback from the users, so the replies given by committers at the time are not reported. Some discussion points are omitted because I forgot to record them or because they did not seem relevant to being reported here. I apologize for any mistakes I may have made in understanding or reporting the feedback. Editorial comments are marked with '[...]'. * Do we have a standard repo that people can use to reproduce bugs against? [The questioner felt that would make it easier for them to report bugs.] * Can we comment on branching and merging: why svn throws so many apparently trivial conflicts? * Can we split mrg-tracking phase from mrg application phase (like ClearCase does)? That would reduce user frustration because at least they'd see progress. Separating these two phases could potentially give users more flexibility in tackling a large merge. Going further: in a merge dry run, could we cache the mrg-tracking phase result so that a subsequent real merge doesn't need to re-calculate it? * Changelists - does anyone use them? Are they good enough? They don't support overlapped changes (multiple changelists for different changes in the same file). * Branch management tools: Do we plan to support commands for marking a branch as "end of life" (like deleted, except still visible in branch listings) and "locked" as in a code-freeze? These can be done by pre-commit hooks but would be very useful as client-side commands. * Merge info. There are mergeinfo conflicts when merging a branch (presumably when merging in both directions). Any improvements in this? Does WCNG make mergeinfo a first-class citizen? These users delete all mergeinfo on trunk after merging to a branch. Enables bi-directional merging. They never need to merge *from* trunk. [Did I get that right? I didn't properly understand this scenario.] These users delete mergeinfo relating to a branch when they delete the branch. It seems that mergeinfo is obsolete. Two of the attendees do. [Did I get this right?] * Verbose mode for svn commands. To help with diagnosing and reporting bugs, could we give more detailed diagnostic output, like e.g. "ssh -vv" does? [I think the questioner was imagining debug output at the level of the RA commands that we issue, or similar.] * Gnome keyring. It's flaky: to get password into it first time doesn't always work. [Others agree. Perhaps not Subversion's fault - it seems to be like this with other software too.] * Merge dry run bug: A prop conflict invokes the interactive resolver, but shouldn't. [This had already been fixed in trunk. It has now been proposed for back-port.] * Merge: can we improve user experience by having a multi-phase option? That is, one in which svn stops after each "hard" bit (a history segment that involves one or more conflicts, perhaps) and lets the user sort it out (perhaps resolving and committing the result). The user can then resume the merge from that point later. Advantages in perceived usability: the user is involved and seeing progress and so more likely to be sympathetic to the delays, as well as improved chance of success. * Off-line commits - what exactly is intended? [We indicated that the main options we're envisaging are better described as "shelving" (putting a change aside, like a patch file, to work on something else) and "checkpoint" (save the current state and carry on from there).] What about the AccuRev "Keep" command? That saves changes that are local to this WC, but saves them in the repo. They go away when the WC is deleted. Why use shelving rather than another WC? [Answer: Because some people have very big WCs.] My users have big WCs and would love shelving. Is there currently any better (faster) way to check out a new WC to work in? [Answer: Copy an existing one and then run 'revert' and/or 'switch'.] * Cancellation often doesn't work, at least not quickly. It would be good to test it. * We use GitSvn. It downloads a complete repo quicker than a trunk checkout, and then have most of Git's strengths - off-line commits, hunk-based commits, fast history access. As a user, once you've tried it you won't want to go back to plain Svn. * You mentioned several times that you'd like feedback from the user community. How should we go about giving this feedback to the Subversion team? Can we have some tracker where we can vote for issues? [We explained about dev@ etc.] * Would TortoiseSVN do 3-way merges? It often seems to do 2-way merges. [Tortoise does do 3-way merges when it can, but Svn doesn't always give it all three file-version references.] * Could TortoiseSVN warn before upgrading a WC to 1.7? Otherwise users will not realize their other clients need to be upgraded at the same time. [Seems like we should, both in TortoiseSVN and command-line client.] * The Svn warning given when a WC is too new confuses users and they ask their admin. If it could simply read "You need a newer client" instead of "This client is too old", that would help.