190 likes | 313 Views
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
E N D
Introduction to SubversiveSubversion 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 Introduction to Subversive
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, …) Introduction to Subversive
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) Introduction to Subversive
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 Introduction to Subversive
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 Introduction to Subversive
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 Introduction to Subversive
Subversive Components Introduction to Subversive
Subversive Architecture Introduction to Subversive
Screenshots • Repository Perspective • Create Repository Introduction to Subversive
Screenshots • Repository Perspective • Repository Browsing Introduction to Subversive
Screenshots • Repository Perspective • Menu Introduction to Subversive
Screenshots • Team Menu Introduction to Subversive
Screenshots • Synchronize Introduction to Subversive
1.0 Track (Eclipse 3.1) Version => Downloads 1.0.2 => 7000 (23.8.2006) 1.0.3 => 3200 (22.9.2006) Total, some 10 000+ users 1.1. Track (Eclipse 3.2) Version => Downloads 1.1.0.M4 => 2900 (15.9.2006) 1.1.0.M5 => 2600 (29.9.2006) Subversive Users Introduction to Subversive
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 Introduction to Subversive
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 Introduction to Subversive
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 Introduction to Subversive
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? Introduction to Subversive