Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions Contributing Externally/forking.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Forking other repositories

External collaborators of ECMWF are expected to fork our repositories and then make a pull request from their fork. Likewise if we wish to contribute to other repositories, we often need to create a fork. This fork should exist in ECMWF GitHub but we want to take care that we distinguish it from code we own.

## Process

1. Fork the repository. It will be public and cannot be changed.
2. Create a new branch, which shall be empty except for a readme.md. The branch can be called `default`. You can do this with `git switch --orphan default` Follow the template below.
3. Make that branch the default branch, so that it is the page most people land on.
4. In the repository settings, disable all actions, because we don't know what workflows we just imported, and they now have access to internal systems and organisation secrets.


## Readme Template

> \[!CAUTION\]
> This is a fork of **xyz** for preparing contributions by ECMWF before pushing them to the upstream repo. ECMWF aims to synchronise this repo regularly with the upstream repo. Please go to the original repo linked below for further information about **xyz**.

```
> \[!CAUTION\]
> This is a fork of <repository name> for preparing contributions by ECMWF before pushing them to the upstream repo. ECMWF aims to synchronise this repo regularly with the upstream repo. Please go to the original repo linked below for further information about <repository name>.
```

Replace `xyz` with the name of the origin repository.

The remainder of the readme can describe the original project or any particular modifications ECMWF have made, or can be left blank.
1 change: 1 addition & 0 deletions Contributing Externally/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- [Forking External Repositories](./forking.md)
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,5 @@ The Codex is a set of guidelines for development of software and services at ECM
- [Containerisation](./Containerisation)
- [Testing](./Testing)
- [ECMWF Software EnginE (ESEE)](./ESEE)
- [External Contributions](./External%20Contributions/)
- [Contributing to External Projects](./Contributing%20Externally/)
- [Incoming External Contributions](./External%20Contributions/)