Introduction to Subversive Subversion support for Eclipse Eclipse Summit Europe 2006 Michal Dobisek (michal.dobisek@polarion.com) (Antonin Pokorny, antonin.pokorny@polarion.com) Subversive vs. Subversive • Subversive as existing project Polarion.org Sponsored by Polarion Software • Subversive as Eclipse Project Proposal © Polarion Software Introduction to Subversive 2 Subversion (SVN) • Version Control System • Self claimed replacement of CVS • Since 2002, now in version 1.4 • Wide acceptance in open source community… Apache Software Foundation Sourceforge Eclipse Foundation (in progress) • … And Industry Support in other IDEs (IntelliJ Idea, JBuilder, …) © Polarion Software Introduction to Subversive 3 Subversion in Eclipse • No out of the box support • Bug 37154 - [Team] Support for subversion 114 votes 3rd most demanded bug in Eclipse Bugzilla • 3rd party support (both open-source): Subversive Subclipse • Goal: SVN support in the standard Eclipse distribution (like CVS) © Polarion Software Introduction to Subversive 4 Project Subversive • Started in Q2 2005 as part of rich client for Polarion Server • Moved into separate project (and made public): March 2006 • July 2006: Version 1.0.0 released • Current status: 1.0.3 (Eclipse 3.1); 1.1.0.M5 (Eclipse 3.2) • Main design objectives Code separation to different layers with different level of abstraction Strong extensibility and reuse of different layers Support of behavior customization by external plugins Optimization in specific use-cases Performance optimization Consistent and usable UI © Polarion Software Introduction to Subversive 5 Subversive Features (1/2) • • • • • Full Subversion integration into Eclipse Environment Browse Repository Checkout projects Share projects Modify, update, commit • Most of Subversion 1.3 features (except of svn:externals) 1.4 features in progress • Automated Error reporting © Polarion Software Introduction to Subversive 6 Subversive Features (2/2) • Interactive merge operation, similar to merge in Eclipse CVS plug-in • Full projection of Eclipse refactoring operations into Subversion • Support of recommended repository layout, including trunk, branches and • • • • • • • tags layout Cross-project atomic commit Automatic resolving of conflicts Correct cancellation of operations with Subversion Recursive directory revision comparison Adding repository locations with same URL Data validation in forms Nice and usable interface © Polarion Software Introduction to Subversive 7 Subversive Components © Polarion Software Introduction to Subversive 8 Subversive Architecture © Polarion Software Introduction to Subversive 9 Screenshots • Repository Perspective Create Repository © Polarion Software Introduction to Subversive 10 Screenshots • Repository Perspective • Repository Browsing © Polarion Software Introduction to Subversive 11 Screenshots • Repository Perspective Menu © Polarion Software Introduction to Subversive 12 Screenshots • Team Menu © Polarion Software Introduction to Subversive 13 Screenshots • Synchronize © Polarion Software Introduction to Subversive 14 Subversive Users • 1.0 Track (Eclipse 3.1) • 1.1. Track (Eclipse 3.2) • Version => Downloads • 1.0.2 => 7000 (23.8.2006) • 1.0.3 => 3200 (22.9.2006) • Version => Downloads • 1.1.0.M4 => 2900 (15.9.2006) • 1.1.0.M5 => 2600 (29.9.2006) • Total, some 10 000+ users © Polarion Software Introduction to Subversive 15 Relationships to other Projects • Buckminster (http://www.eclipse.org/buckminster) Integration by Thomas Spiessens • FastTrack (http://polarion.org) Build on top of Subversive • Mylar (http://www.eclipse.org/mylar) Subversive integrates with Mylar © Polarion Software Introduction to Subversive 16 Subversive Achievements • Eclipse Plugin Central Stable among TOP10 during last 3 months • Freshmeat.net – 5th project in the Subversion category • 5 community code contributors One joined the Eclipse Proposal • 500+ forums and mailing list users, more than 1000 posts © Polarion Software Introduction to Subversive 17 Plans • • • • • • Cooperation with Subclipse, gather developer community Subversion 1.4 support SVN Client layer improvements Extensibility (API) improvements Closer Mylar integration Feature improvements • See the Project Proposal for more details http://www.eclipse.org/proposals/subversive/ • Goal: Subversion support in standard Eclipse distribution © Polarion Software Introduction to Subversive 18 What next? • • • • Check Subversive Project Proposal http://www.eclipse.org/proposals/subversive/ news://news.eclipse.org/eclipse.technology.subversive Participate • See current project home • http://polarion.org/ • Try it yourself • Thank you for the attention. Questions? © Polarion Software Introduction to Subversive 19