Announcement

Collapse
No announcement yet.

Code repo structure

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Code repo structure

    Hi All

    I am currently working in a small product company and it looks like we have a problem with our code repository structure in SVN. We have a main trunk where general product development happen. We have different branches for our different customers. Customer 1 has a different branch & code/build cycle etc.. It think we have to chnage this structure fast before we end up in mess because of our increasing customer base. We cannot practically fix a bug in a branch for one customer & then merge it into 10 different branches. This does not seem to be a scalable model.

    To give you more insight we have the following developments happening:
    1) our general product development for our road map
    2) Bug fixs, patches
    3) Customer specific feature development for specific customer
    4) Customization of existing feature for customer

    My question is how do I structure my code repository?

    my thinking is our repository should be structured on a releases & not customers. That is the branching should happen based on releases & not customer specific requirements.

    So is my thinking correct? How can we handle development of customer specific features (ponint 3) or customization of existing features (pint 4) in the repository structure?
    Anybody got any suggestions.

    Cheers
    tlabs

  • #2
    How about something like this? Hope it helps, anyway.

    Trunk
    - Main development here.

    Tags
    - Releases (1.0, 1.1 etc)
    - Customer Specific releases

    Branches
    - Features (a branch for each?)
    - Ongoing customer development (long term customers who require ongoing dev)

    This might help, especially if there's a few features used by several customers.

    Then, do patches and bug fixes as patches which can then be applied to any necessary branch.

    Comment


    • #3
      Doesn't look like any of the options for --accept will do what you're wanting, as you say - that being the case it doesn't look like you will be able to do this in an automated fashion as things stand.

      Comment

      Working...
      X