1

I have an android project versioned with SVN. I have three eclipse projects inside my repository. Library project, free version project, paid version project. My current repository structure is:

repository/
    branches/
    tags/
    trunk/
       freeversion/
       paidversion/
       library/

Is there a better structure for this contents?

Thanks!

rfsbraz
  • 2,101
  • 1
  • 18
  • 26

2 Answers2

1

Are the two versions of the application going to be so different that they require their own views, intents, activities, etc or does the paid version simply add more functionality to the application?

Either way, I would probably share everything except for the views, which is usually all that's going to make a difference to the user once they run the application.

Something like this:

repo/
    branches/
    tags/
    trunk/
        src/
        lib/
        views/
            free/
            premium/

Upvote for rage faces!

Andre
  • 3,150
  • 23
  • 23
1

I use the above structure, with a few tweaks to support re-use of library projects:

  • In each app project, I create an externals dir, with all library projects loaded via relative svn:externals

    svn pg svn:externals externals/ ../../libSquello libSquello ../../FacebookSDK FacebookSDK

  • In each project, I modify default.properties, to reference relative paths to libraries

    android.library.reference.1=externals/FacebookSDK android.library.reference.2=externals/libSquello

I like this approach because as my collection of apps grows, I can checkout a single project instead of needing to checkout every app to ensure I've also got the dependencies

The down-side of this approach is that you need to take a little care if you edit the library files inside multiple projects.

Phil Lello
  • 8,377
  • 2
  • 25
  • 34