Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 814201
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T01:28:53+00:00 2026-05-15T01:28:53+00:00

I need to setup a Kohana dev environment that allows me to make full

  • 0

I need to setup a Kohana dev environment that allows me to make full use of shared module / system classes across separate applications. Each application typically belonging to a different client. I use Git for source control, but am struggling to come up with a clean deployment method that will allow me to pull only those parts of the dev environment specific to a client / app down into that client’s production environment (assuming that the client’s production environment will have Git installed).

Dev enviroment:

- kohana
  - applications
     - clientapp1
     - clientapp2
  - modules
  - public_html
     - clientapp1
     - clientapp2
  - system
     - 3.0.1
     - 3.0.5

Client 1’s production environment:

- /
 - applications
     - clientapp1
 - modules
 - public_html
     - client_app1
 - system
     - 3.0.5

Naturally, I want to have total control over each client “sub repo” as if it were an independent repo (in terms of gitignore, etc). I have seen topics that cover Git’s sparse checkout feature, but it seems like it may cause a few problems down the line from a maintenance point of view, and I don’t like the idea of the entire repo’s metadata existing in client’s production environment repo.

As you can probably tell, I’m not exactly a Git poweruser, so any suggestions / wisdom are very welcome!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T01:28:54+00:00Added an answer on May 15, 2026 at 1:28 am

    Ideally, each of your directories (app/clientapp1, app/clientapp2, public_html/clientapp1, …) is a submodule

    I.e: main project git repo:

    kohana
      - applications
      - modules
      - public_html
      - system
    

    Where you add your submodules:

    - kohana
      - applications
         - clientapp1  -> remote: /path/to/app_client1app Git repo
         - clientapp2  -> remote: /path/to/app_client2app Git repo
      - modules
      - public_html
         - clientapp1  -> remote: /path/to/pubhtml_client1app Git repo
         - clientapp2  -> remote: /path/to/pubhtml_client2app Git repo
      - system
         - 3.0.1  -> remote: /path/to/sys Git repo, tag 3.0.1
         - 3.0.5  -> remote: /path/to/sys Git repo, tag 3.0.5
    

    The fact that you are using only submodules allows you:

    - /
      - applications
         - clientapp1  -> remote: /path/to/app_client1app Git repo
      - modules
      - public_html
         - clientapp1  -> remote: /path/to/pubhtml_client1app Git repo
      - system
         - 3.0.5  -> remote: /path/to/sys Git repo, tag 3.0.5
    
    • to define another main project, this time used for deployment
    • work directly in special deployment branches within those submodules, allowing you to control their files in a client specific environment.
      (see true nature of submodules)
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.