Version Control API and family changes

Events happening in the community are now at Drupal community events on www.drupal.org.
You are viewing a wiki page. You are welcome to join the group and then edit it. Be bold!

Project information

Project page on drupal.org: http://drupal.org/project/versioncontrol (and related modules)
Student: Marco Villegas (marvil07 on d.o, on g.d.o and on irc)
Mentor: Jakob Petsovits (jpetso)
Co-mentor(s): Sam Boyer (sdboyer)
Application link (Google): Proposal
drupal.org issues: issue tag gsoc2009-marvil07
Current status: Implementing clases

Description

This project objective is provide all tools to make it easy a possible drupal.org migration to another Version Control System(aka VCS). By the way, after this, drupal VCS's interaction will be improved, so it provides more flexibility to use it as project management system for development.
This propose started like a jpetso propose, after that I made one based on these ideas.

Project schedule

update: after asking my mentor and co-mentor about, we got a new plan

  • Phase 0: April 23 - May 23: Community Bonding Period (Related issues: Convert Version Control API to OOP)
    • Make a draft about interaction between classes, based on actual code
    • Think about testing, and how to use it inside versioncontrol modules
    • IRC/VoIP meeting with mentor about the draft
    • worry about all legal stuff( fax my Student Foreign Certification and Proof of Enrolment to Google, etc)
  • Phase 1: May 25 - June 7 Convert Version Control API to OOP (2 weeks)
    Make versioncontrol modules OO(July 9th - July 26th)
    • see if there 's some special coding standard to OOP, if now follow views :D
    • Transversal task, implements clases: VersioncontrolBackend, VersioncontrolRepository, VersioncontrolItem, VersioncontrolLabel, VersioncontrolBranch, VersioncontrolTag, VersioncontrolAccount, VersioncontrolOperation
    • Complete tests for versioncontrol to verify all is working and convert remaining parts to OO code(now - July 12th)
      • on master branch
      • on oop branch
    • Backend class(July 13th - July 16th)
      • make git backend work with it
    • Conversion to interfaces(July 17th - July 26th)(see thinking on interfaces(aka define them))
  • July 6-13: Midterm Evaluation
  • Phase 2: July 27th - August 9th Improve user authentication (1 week)
    • .htaccess/.htpasswd auth
    • SSH keys auth
  • August 17: Final Evaluation
  • postponed(out of GSoC)
    • cvs backend working
    • subversion backend working
    • Phase 2: Some refactor of the project node integration module(if time allows it).
      • sync to oop changes if applicable
      • DVCS features
        • manage private branches in cloned repositories
        • Let clone manually by some drupal user(like clone from github)
        • manage merge or pull (gitorious vs github) requests, completing the cycle: fork, improve, merge.
    • Phase 3: Work with the community to get a DVCS deployed on drupal.org
      • Work for getting a DVCS running on d.o(after GSoC ends)
      • join forces with Daniel Hackney at his project.
      • implementing whatever is required to get core development under a DVCS

How are we working