Jump to content

Guidelines:DeveloperWorkflow: Difference between revisions

From Sahana Eden Wiki
Dominic (talk | contribs)
No edit summary
Dominic (talk | contribs)
Line 56: Line 56:


=== Creating Story Branches ===
=== Creating Story Branches ===
Rather than making changes in the dev branch directly, you should use a new branch for every set of changes you make, a so-called '''story branch'''.
To create a new story branch, change into your eden folder, and checkout the dev branch:
<code>
git checkout dev
</code>
From this, create the new story branch:
<code>
git checkout -b story_branch
</code>
...replacing ''story_branch'' with a descriptive name for the change set (e.g. ''bugfix_org_menu'').
You can have multiple story branches, and switch between them. However, remember that you should either stash or commit your changes before switching branches.
=== Publishing Changes ===
To publish your changes, commit them to the story branch:
<code>
git commit -a
</code>
...and then push that branch to your GitHub repo:
<code>
git push origin story_branch_name
</code>
This will copy the story branch to your repository on GitHub, or update that branch if it already exists there.
=== Submitting Pull Requests ===
To get your changes merged into the main Sahana Eden repository, you need to submit a pull request.

Revision as of 12:57, 23 October 2025

Developer Workflow

Prerequisites

Additionally, you will need:

  • git
  • a suitable programming editor (e.g. Kate)

Forking Sahana Eden

Start by creating your own fork of Sahana Eden:

  • Login to GitHub (create yourself an account, if you don't have one yet)
  • Navigate to https://github.com/sahana/eden
  • Click on the Fork button, and follow the instructions to create a new fork

This will create a new GitHub repository [yourname]/eden*, which is your own copy of sahana/eden - and the repository you will work on.

* [yourname] here stands for your GitHub username

Creating a Local Clone

Follow the steps in the Developer Handbook to set up a local instance of Sahana Eden.

When you get to Installing Eden, make sure to clone your own fork:

git clone --recursive https://github.com/[yourname]/eden.git ~/eden

...instead of sahana/eden.

Finally, configure sahana/eden as upstream repository for your clone:

git remote add upstream https://github.com/sahana/eden.git

Now you can use this local instance to test-run and verify your changes.

Adding the Development Branch

All development should be based on the dev branch of sahana/eden. To get a copy of that branch into your local clone, change into the eden folder and run these two commands:

git checkout -b dev

git pull upstream dev

This adds a copy of the Sahana Eden dev branch to your local clone, and checks out the latest developer version of the code.

Creating Story Branches

Rather than making changes in the dev branch directly, you should use a new branch for every set of changes you make, a so-called story branch.

To create a new story branch, change into your eden folder, and checkout the dev branch:

git checkout dev

From this, create the new story branch:

git checkout -b story_branch

...replacing story_branch with a descriptive name for the change set (e.g. bugfix_org_menu).

You can have multiple story branches, and switch between them. However, remember that you should either stash or commit your changes before switching branches.

Publishing Changes

To publish your changes, commit them to the story branch:

git commit -a

...and then push that branch to your GitHub repo:

git push origin story_branch_name

This will copy the story branch to your repository on GitHub, or update that branch if it already exists there.

Submitting Pull Requests

To get your changes merged into the main Sahana Eden repository, you need to submit a pull request.