-
We can simply git checkout to the new version in core arches e.g.
git checkout 6.2.2
-
Then run
pip install -e .
to install all the newest pip dependencies. -
Run
yarn
oryarn install
-
In the project directory change the package.json to point at the new version e.g.
{ "name": "project", "dependencies": { "arches": "archesproject/arches#stable/6.2.2" } }
-
Run
yarn
oryarn install
in the project at the same level as the package.json. -
Use the Arches releases directory to find the version (and those inbetween if making a bigger jump) to make additional changes to the settings.py and any other additions.
When this is the case we cannot just git checkout because all our changes will be overwritten - in fact most times it will not let you git checkout until changes have been stashed. In this position we must commit our changes locally and merge.
-
Assuming Arches is installed on a server we must generate a new ssh keypair (check first that one doesnt already exist in .ssh/)
ssh-keygen
Give the key a password for protecton.
-
Add the key to github
-
Create a repo in the kint organisation called arches_customer
-
Add the repo as a remote on the server by running
git remote add kint [email protected]:k-int/arches-CUSTOMER.git
-
Optional: Can rename the old core Arches repo by
git remote rename origin coreArches
-
Add and commit changes using
git add .
andgit commit -m "message"
-
Checkout to a new branch as a copy of the current but renamed
git checkout -b arches_CUSTOMER_CURRENTVERSION
-
Push this branch to our new repo
git push kint arches_CUSTOMER_CURRENTVERSION
-
Locally clone this repo we have just made with its one branch of the current Arches version
git clone URL/SSH URL
-
Checkout to a new branch again this time calling it the new version we want to upgrade to
git checkout -b arches_CUSTOMER_NEWVERSION
-
Add coreArche as a remote to our local copy of the repo
git remote add coreArches https://github.com/archesproject/arches.git
We can check our remotes using
git remote -vv
-
Fetch the version you would like by running
git fetch coreArches stable/version
-
Open VSCode in the cloned repo. Then, ensuring we are on the new version branch, run git merge
git merge stable/version
NOTE : sometimes a message displaying
merge: stable/6.2.2 - not something we can merge
will arise. Checkout to the fetched version and then checkout back to the branch we want to be on and then try again. -
There should be no conflicts if the git histories are intact, however, if there are conflicts use the VSCode Source Control tab to see all conflicts and either accept incoming changes or keep current, or both.
-
Push the new branch to our repo:
git push origin branch
-
Back on the server fetch the new version from our repo using
git fetch kint arches_CUSTOMER_NEWVERSION
-
Checkout to the version and repeat the steps from the top of the document.