The third Subversion conference (SubConf) 2009 started today at Munich, Germany. This is an annual conference in which the subversion committees interact with the users of Subversion Version Control system, get the user feedback and prospects for new features, and also introduce new features in future releases of subversion.
Today is the 1st day of the Subversion conference in which there were two events planned — namely, the “Subversion Hackathon” (which will span all three days) and “Subversion Developers RoundTable”.
In this event all the subversion committers, who were available today, joined together in a room where they coded and discussed about subversion features. Some of the things which were discussed in this hackathon were the usage of scratch pool inside the subversion code base and working copy next generation library related issues and solutions.
The subversion RoundTable went on for 1 hour 30 minutes, between 1900 hours and 2030 hours. This RoundTable had a panel of Subversion committers who interact with the users who are mostly administrators of subversion and some developers who uses subversion to version their code base. There were 10 people in the panel, namely Greg Stein, Julian Foad, Dave Brown, Stephen Butler, C. Michael Pilato, Hyrum Wright, Bert Huijben, Stefan Sperling, Niels Holfmeyr and Senthil Kumaran S.
The following were the questions raised in the RoundTable and the answers given by the subversion developers.
Q1. We have a Working Copy next generation library (planned for 1.7 release) under active development in Subversion, it would be great to have pre releases of the latest subversion trunk binaries released often before we get the official release, so that the users will have an opportunity to test them and report back bugs often.
Solution: The subversion community has not released binaries for any of the versions. It is the OS specific package maintainers who has provided with binary packages all these days. The community wants to give away binaries so that more people can test it, but we are in need of volunteers to do that. If you are interested in doing a regular builds of binaries, you are welcome.
Q2. A user had a work flow in which he wanted to have branches for single files.
Solution: Single file externals introduced in 1.6.x version of subversion was suggested to fit his workflow.
Q3. Will there be any change in branch and merging operations of subversion?
Solution: No, there are no such plans right now.
Q4. Is there a way to automatically resolve tree conflicts, like incoming move and incoming delete?
Solution: As of 1.6.x version of subversion, we have tree conflict detection in place, but actual resolution of tree conflicts is under development.
Trumerge is one tool which solves tree conflicts automatically and it works with 1.6.x.
Q5. Problem with UTF-8 in different operating systems
Solution: Some operating systems like Mac OSX normalize UTF-8 and store it differently in the client side. Subversion gets these bits from the client as it is and stores it in the server side. These representations, when they come to a different operating system, are messed up. It may get fixed in 1.7.x since WC-NG where the filenames are stored in the database after UTF-8 conversion in the client side.
Q6. SVN blame/praise/annotate takes a long time. For example, a svn node with 6000 revisions, 2MB size takes 4 hours when fired a blame. But these are faster in CVS. When white space changes are neglected then 4 hours become 1 hour which is again a huge delay?
Solution: CVS does a line based search and SVN does byte based search hence SVN will be slow. SVN can implement a caching mechanism to reduce the time taken. Alternatively, the implementation needs to be changed to reverse blame from forward blame which is not actively looked upon as of now. Also blaming within a revision range will be lot more faster.
Q7. Make subversion diff to create well formed XML in the diffs.
Solution: This can be achieved by plugging in an external diff/merge tool which generates well formed XML in diffs. Use 1.6.x or later version of SVN to plugin this external diff/merge tool since the exit codes are returned properly in 1.6.x.
Q8. SVN obliterate, when is it coming?
Solution: Still in development and we are working on it.
Q9. SVN search of repository, some better way of doing it.
Solution: Should be easy, possible and efficient with an SQL backend which will also have multiple advantages with compromise to speed.
Q10. Are the inherited properties implemented in WC-NG?
Solution: No, we do not have any such plan, as of now. However, WC-NG will help in doing it with ease. The basic notion of developing WC-NG library is speed, robust, enable future feature developments easy.
Check out the reports on SubConf 2009, Day 2 & Day 3.