From 42bbc2cf151df25d3207af1f1195a5f31fcd34b6 Mon Sep 17 00:00:00 2001 From: James Hawkes Date: Wed, 18 Jun 2025 14:03:22 +0100 Subject: [PATCH 1/6] forking --- Contributing Externally/forking | 23 +++++++++++++++++++++++ readme.md | 1 + 2 files changed, 24 insertions(+) create mode 100644 Contributing Externally/forking diff --git a/Contributing Externally/forking b/Contributing Externally/forking new file mode 100644 index 0000000..141829d --- /dev/null +++ b/Contributing Externally/forking @@ -0,0 +1,23 @@ +# 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`. 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 would now have access to internal systems and organisation secrets. + + +## Readme Template + +> \[!CAUTION\] +> This is a fork of 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 . + +``` +> \[!CAUTION\] +> This is a fork of 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 . +``` + +The remainder of the readme can describe the original project or any particular modifications ECMWF have made, or can be left blank. \ No newline at end of file diff --git a/readme.md b/readme.md index 9b76e06..70c2fff 100644 --- a/readme.md +++ b/readme.md @@ -14,3 +14,4 @@ The Codex is a set of guidelines for development of software and services at ECM - [Project Maturity](./Project%20Maturity) - [Containerisation](./Containerisation) - [ECMWF Software EnginE (ESEE)](./ESEE) +- [Contributing Externally](./Contributing%20Externally/) From 389181a3cbc7126e6af37f871b3a34e2dc67d8f4 Mon Sep 17 00:00:00 2001 From: James Hawkes Date: Wed, 18 Jun 2025 14:04:08 +0100 Subject: [PATCH 2/6] file extension --- Contributing Externally/{forking => forking.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Contributing Externally/{forking => forking.md} (100%) diff --git a/Contributing Externally/forking b/Contributing Externally/forking.md similarity index 100% rename from Contributing Externally/forking rename to Contributing Externally/forking.md From 3bdb95e152716ffa31bf5222d135a853febc19fa Mon Sep 17 00:00:00 2001 From: James Hawkes Date: Wed, 18 Jun 2025 14:05:04 +0100 Subject: [PATCH 3/6] index --- Contributing Externally/readme.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Contributing Externally/readme.md diff --git a/Contributing Externally/readme.md b/Contributing Externally/readme.md new file mode 100644 index 0000000..c6adb8c --- /dev/null +++ b/Contributing Externally/readme.md @@ -0,0 +1 @@ +- [Forking External Repositories](./forking.md) \ No newline at end of file From 1fd76e87bf123f912c9ddadb41eeb433c03282fd Mon Sep 17 00:00:00 2001 From: James Hawkes Date: Wed, 18 Jun 2025 14:05:56 +0100 Subject: [PATCH 4/6] Update forking.md --- Contributing Externally/forking.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Contributing Externally/forking.md b/Contributing Externally/forking.md index 141829d..42ce802 100644 --- a/Contributing Externally/forking.md +++ b/Contributing Externally/forking.md @@ -7,7 +7,7 @@ External collaborators of ECMWF are expected to fork our repositories and then m 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`. 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 would now have access to internal systems and organisation secrets. +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 @@ -20,4 +20,4 @@ External collaborators of ECMWF are expected to fork our repositories and then m > This is a fork of 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 . ``` -The remainder of the readme can describe the original project or any particular modifications ECMWF have made, or can be left blank. \ No newline at end of file +The remainder of the readme can describe the original project or any particular modifications ECMWF have made, or can be left blank. From 8be628ed7966a213fbe19ac1233345855e4877d2 Mon Sep 17 00:00:00 2001 From: James Hawkes Date: Wed, 18 Jun 2025 14:53:11 +0100 Subject: [PATCH 5/6] Update forking.md --- Contributing Externally/forking.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Contributing Externally/forking.md b/Contributing Externally/forking.md index 42ce802..10e7f54 100644 --- a/Contributing Externally/forking.md +++ b/Contributing Externally/forking.md @@ -13,11 +13,13 @@ External collaborators of ECMWF are expected to fork our repositories and then m ## Readme Template > \[!CAUTION\] -> This is a fork of 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 . +> 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 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 . ``` +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. From 09cb1bd005a4dda00a54d9bee9143656e446efb7 Mon Sep 17 00:00:00 2001 From: James Hawkes Date: Thu, 19 Jun 2025 22:25:36 +0100 Subject: [PATCH 6/6] provide git command for empty branch --- Contributing Externally/forking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Contributing Externally/forking.md b/Contributing Externally/forking.md index 10e7f54..8e16e8f 100644 --- a/Contributing Externally/forking.md +++ b/Contributing Externally/forking.md @@ -5,7 +5,7 @@ External collaborators of ECMWF are expected to fork our repositories and then m ## 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`. Follow the template below. +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.