• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. SyncEvolution Patrick Ohly
  • 2. Overview
    • SyncEvolution
      • The Plan: the road to world domination
      • The Past: 3 years and counting
      • The Future: at crossroads
    • Life as an external contributor:
      • Patch handling
  • 3. Master Plan
    • Replace proprietary protocols & data formats with open ones: SyncML, vCard 2.1/3.0, iCalendar 2.0
    • Local SyncML Clients
    • SyncML server for desktops
  • 4. The Past: Milestones; Contributions
    • 10/2005 scratching an itch: Evolution; ported Funambol C++ lib to Linux
    • 03/2006 first release 0.1; compatibility with other servers, automatic testing
    • 07/2007 Nokia Internet Tablets
    • 12/2007 Mac OS X & iPhone
    • 09/2008 release 0.8 with consistent command line & config handling, client framework complete (file sync)
  • 5. The Future: At Crossroads
    • Will other developers use SyncEvolution and contribute to it?
      • Yes, Debian packager (docs).
      • Not as part of Code Sniper program (KDE).
    • How do we get a SyncML server onto desktops?
      • Funambol server deployment complex, not written for desktops.
      • Local server can and should interact with user (assistance during merging).
  • 6. Maintaining Patches
    • Reasons for separate patches: no commit rights, code review
    • Tools:
    • copy + diff
    • patcher/quilt: maintain patch series
    • git/bzr/hg/monotone: distributed revision control systems
  • 7. Git Repository of Funambol CPP SDK Source Code
    • git clone git://github.com/pohly/funambol-cpp-client-api.git
    • Complete history since January 2006
    • Contains stable release branch used for SyncEvolution
    • Updated from Subversion regularly
    • Can track Subversion directly
  • 8. Using git
    • Commit to local branch: git add, git commit
    • Merge regularly with trunk: git pull
    • Clean up local patches: git rebase –-interactive origin/trunk
    • Publish patches: git format-patch origin/trunk, git send-email *.patch
  • 9. Conclusions
    • Try out SyncEvolution as basis for new clients: http://www.estamos.de/blog/2008/08/04/syncml-client-do-it-yourself-style/
    • Use git-svn to track Funambol source: http://www.estamos.de/blog/2008/11/20/tracking-funambol-c-client-library-with-git/
  • 10. The End