I can't comment on the priority or possible timeframe for this feature, but I am definitely interested in hearing the community's needs here. I'll add to your list of questions with this:
7) What has been your experience with merging changes to workbooks by two or more different users at a time? Is it generally easy to resolve conflicts, or is it difficult to safely merge the XML content of .twb workbook files?
@Robert Morton - yes that's a good question. How do people manage conflicts that show up when the source code is checked-in?
Personally, I would be surprised if anything workable came out of merging the XML content. There must be some extraordinary programmers who could change workbooks by editing the XML source rather than using the Tableau interface --- just like I once knew a programmer who would change output to the printer by directly editing the postscript file --- but it seems there would be too many potential "gotchas" to make a habit of it.
All good questions. We only have desktop, so some don't apply to us, but I'll answer the ones that do.
1) SVN. We use it in cases where we have shared access to files being updated by multiple team members, but I also use a local SVN instance on my laptop to keep a history of my own changes for some complex or long lived workbooks.
2) We don't ever put anything in the Tableau repository, workbooks are just filed in the logical place in the folder structure along with other files for the client, project or whatever.
3) Generally just TWB. Anything that is an XML file makes sense though (TDS etc). Sometimes I do put TWBX files in to preserve point in time views of the data.
4) to 6) don't apply as we are desktop only.
7) I do sometimes use comparison to a prior version to see what someone has touched (or even remind myself what I touched). Whilst I do sometimes resort to XML hacks, I can't say I have ever tried that as a way of merging branched versions or resolving conflicts. There be dragons.
In addtion to source code control, what methods and/or tools are being used to support migrations from UAT to Production Servers (assuming that all DEV is done on desktops)?