dev:starting
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
dev:starting [2019/06/22 16:16] – oschuett | dev:starting [2022/12/16 09:27] (current) – Fix link krack | ||
---|---|---|---|
Line 7: | Line 7: | ||
===== Prepare the patch ===== | ===== Prepare the patch ===== | ||
+ | |||
- Fork the CP2K Repository on GitHub via " | - Fork the CP2K Repository on GitHub via " | ||
- | | + | |
- On your machine, clone the repository via **git clone %%--%%recursive https:// | - On your machine, clone the repository via **git clone %%--%%recursive https:// | ||
- | - Move to the downloaded | + | - Change into the created |
- Start working in a new branch: **git checkout -b my-new-feature** | - Start working in a new branch: **git checkout -b my-new-feature** | ||
- Make your changes to the code | - Make your changes to the code | ||
Line 19: | Line 20: | ||
- Do some more work, then repeat point 6. and 7. | - Do some more work, then repeat point 6. and 7. | ||
- Push your new changes to the remote repository via **git push** (note: the '-u origin my-new-feature' | - Push your new changes to the remote repository via **git push** (note: the '-u origin my-new-feature' | ||
+ | - Use the GitHub interface at https:// | ||
+ | |||
+ | ===== Update your copy of the master/ | ||
+ | |||
- To update the ' | - To update the ' | ||
- tell your local git repository once about the remote: **git remote add upstream https:// | - tell your local git repository once about the remote: **git remote add upstream https:// | ||
- make sure you are on the right branch: **git checkout master** | - make sure you are on the right branch: **git checkout master** | ||
- ' | - ' | ||
- | - push the changes: **git push** | + | - To update a branch with patches onto the updated master |
- | - You can also rebase your feature | + | |
- **git checkout my-new-feature** | - **git checkout my-new-feature** | ||
- | - **git pull %%--%%rebase | + | - **git rebase master**, this may generate rebase/ |
- after a rebase of a branch with commits which was already pushed to a remote, you have to force-push: **git push %%--%%force** | - after a rebase of a branch with commits which was already pushed to a remote, you have to force-push: **git push %%--%%force** | ||
+ | |||
===== Submit the patch ===== | ===== Submit the patch ===== | ||
Line 51: | Line 56: | ||
- In the case of success, the PR will be merged by one of the CP2K administrators | - In the case of success, the PR will be merged by one of the CP2K administrators | ||
- In the case of error, please check what's wrong in the CI logs, fix it in your branch, and commit/push again. The CI will automatically rerun on the new version of the code (no need to close the PR, it will be automatically updated!). Repeat until the CI runs fine. | - In the case of error, please check what's wrong in the CI logs, fix it in your branch, and commit/push again. The CI will automatically rerun on the new version of the code (no need to close the PR, it will be automatically updated!). Repeat until the CI runs fine. | ||
- | + | ||
+ | ===== Prepare a development environment with Spack ===== | ||
+ | |||
+ | The HPC package manager [[https:// | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | - change into the CP2K directory: '' | ||
+ | - create a Spack environment (here for building an '' | ||
+ | - activate the Spack environment using: '' | ||
+ | - install everything required for CP2K and build & install CP2K from the current source tree (this may take while): '' | ||
+ | - start a new shell with all the environment variables set using '' | ||
+ | - to recompile, run: '' | ||
+ | |||
+ | If you experience problems with other tools (like your editor) when inside the Spack environment, |
dev/starting.1561220169.txt.gz · Last modified: 2020/08/21 10:14 (external edit)