BOB Docs

Updating codebase

I have made every effort to build this application in a way that minimizes conflicts during updates. Due to its modularity and high granularity, I expect that any conflicts arising during updates will be manageable for you.

However, it's worth noting that any change in this solution might lead to conflicts that you'll need to resolve when updating the codebase. If you plan to update, follow these steps:

Make a Backup

Even though the process seems straightforward, unexpected errors may occur, potentially leading to data loss. To prevent this, create a backup of your work. It doesn't matter whether it's stored locally or elsewhere, but make sure to back up your work.

Clean Repository

Before updating your codebase, ensure your Git repository is clean and that there are no uncommitted changes.

Add Repository as Remote

Now you need to track changes from the latest remote repository. To do this, set the remote repository for BOB choosing from:

  • bob-frontend
  • bob-backend
  • bob-deploy
git remote add upstream https://github.com/business-oriented-programming/<repository>.git

Pull Repository

To pull the latest changes from the upstream repository, use the following command:

git pull upstream main --allow-unrelated-histories --rebase

If you encounter any merge conflicts, resolve them manually. If you're unsure how to handle merge conflicts, refer to the Git documentation.

Check Dependencies

Carefully review the changes to ensure no custom code has been overwritten. Additionally, install any new dependencies by running:

bob-backend:

pip install -r requirements.txt

bob-frontend:

npm install

Run Tests

Use pytest to verify that all your code is working - only available for bob-backend:

pytest _tests

Troubleshooting

If you encounter issues during the update process:

  1. Ensure you've committed or stashed all your local changes before updating.
  2. If you struggle with merge conflicts, consider using a visual tool like integrated in PyCharm, or Webstorm.
  3. Ask for help someone familiar with git version control.

Secure your work! Use different branch and make sure all your local changes are commited to secure remote repository on a different branch.

On this page