blob: 2e0fd4d25b328c0c9a54a02a76e04cf45a38b5de [file] [log] [blame]
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.