From 8de5139d78432456263086bc4842226bd4d8f8d0 Mon Sep 17 00:00:00 2001 From: Junko Suzuki Date: Tue, 8 Oct 2024 19:29:24 +0900 Subject: [PATCH 1/4] Add the warning message for wiki migration (#52547) Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com> Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com> --- .../about-migrations-between-github-products.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/content/migrations/using-github-enterprise-importer/migrating-between-github-products/about-migrations-between-github-products.md b/content/migrations/using-github-enterprise-importer/migrating-between-github-products/about-migrations-between-github-products.md index 6294f512117c..250e78e039c6 100644 --- a/content/migrations/using-github-enterprise-importer/migrating-between-github-products/about-migrations-between-github-products.md +++ b/content/migrations/using-github-enterprise-importer/migrating-between-github-products/about-migrations-between-github-products.md @@ -22,6 +22,17 @@ The data that {% data variables.product.prodname_importer_proper_name %} migrate ## Data that is migrated from {% data variables.product.prodname_ghe_server %} +> [!WARNING] +> The Wikis migration is currently unavailable. +> As a workaround, you can migrate manually: +> +> ```shell copy +> git clone --mirror OLD-REPOSITORY-URL +> cd OLD-REPOSITORY-NAME +> git remote add new-origin NEW-REPOSITORY-URL +> git push new-origin --mirror +> ``` + To migrate from {% data variables.product.prodname_ghe_server %} (GHES), you must have GHES version 3.4.1 or higher. The data that is migrated depends on the version you're using. Item | GHES 3.4.1+ | GHES 3.5.0+ | From 6a85662f9c7b534b4944d4d9e62578a7f29a0ec5 Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Tue, 8 Oct 2024 07:09:58 -0400 Subject: [PATCH 2/4] [Early access companion] PR #363 (#52562) Co-authored-by: hubwriter From a7fee1a7a958d6b43cdb6a1ce77ffaa3c25c9ac2 Mon Sep 17 00:00:00 2001 From: Pallavi <96553709+pallsama@users.noreply.github.com> Date: Tue, 8 Oct 2024 04:40:11 -0700 Subject: [PATCH 3/4] Update docs with node rejoin timeout and workaround (#52296) Co-authored-by: Isaac Brown <101839405+isaacmbrown@users.noreply.github.com> --- .../setting-up-a-staging-instance.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/content/admin/installing-your-enterprise-server/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance.md b/content/admin/installing-your-enterprise-server/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance.md index 62b49c3492ed..2e0106691fa2 100644 --- a/content/admin/installing-your-enterprise-server/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance.md +++ b/content/admin/installing-your-enterprise-server/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance.md @@ -154,6 +154,21 @@ Then, review the staging instance's configuration in the {% data variables.enter To apply the configuration from the {% data variables.enterprise.management_console %}, click **Save settings**. +## Bringing a staging instance back online + +You may want to power off a staging instance to save costs and power it back on when needed. + +An instance can stay offline for {% ifversion ghes = 3.10 %}7 days{% elsif ghes < 3.14 %}60 days as of the latest patch release of this version, increased from 7 days{% else %}60 days{% endif %}. + +If you bring the instance back online within the allowed offline time period, {% data variables.product.product_name %} instantiates successfully. If the instance stays offline for longer than the allowed period, {% data variables.product.product_name %} fails to instantiate successfully, and an error message with the text `server has been offline for more than the configured server_rejoin_age_max` may appear in the system logs. See "[AUTOTITLE](/admin/monitoring-and-managing-your-instance/monitoring-your-instance/about-system-logs)." + +If the instance is stuck in the error state, you can run these commands to recover. + +```shell +sudo mv /data/user/consul/server_metadata.json /data/user/consul/server_metadata.json.bak +ghe-config-apply +``` + ## Further reading * "[AUTOTITLE](/admin/overview/about-upgrades-to-new-releases)" From 69e51a2f3388edb39f633cd4d3f0a7c556174ad1 Mon Sep 17 00:00:00 2001 From: hubwriter Date: Tue, 8 Oct 2024 12:40:27 +0100 Subject: [PATCH 4/4] Using Copilot to refactor code (#52515) --- .../images/help/copilot/insert-at-cursor.png | Bin 0 -> 27995 bytes assets/images/help/copilot/rename-symbol.png | Bin 0 -> 90811 bytes .../example-use-cases/index.md | 1 + .../refactoring-code-with-github-copilot.md | 354 ++++++++++++++++++ .../copilot/assess-copilot-suggestion.md | 4 + .../copilot/check-copilot-suggestion.md | 1 + .../copilot/open-inline-chat-vscode.md | 5 + 7 files changed, 365 insertions(+) create mode 100644 assets/images/help/copilot/insert-at-cursor.png create mode 100644 assets/images/help/copilot/rename-symbol.png create mode 100644 content/copilot/using-github-copilot/example-use-cases/refactoring-code-with-github-copilot.md create mode 100644 data/reusables/copilot/assess-copilot-suggestion.md create mode 100644 data/reusables/copilot/check-copilot-suggestion.md create mode 100644 data/reusables/copilot/open-inline-chat-vscode.md diff --git a/assets/images/help/copilot/insert-at-cursor.png b/assets/images/help/copilot/insert-at-cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..fb21410d0b3d59e391f13a128db650c80a327b21 GIT binary patch literal 27995 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 literal 0 HcmV?d00001 diff --git a/assets/images/help/copilot/rename-symbol.png b/assets/images/help/copilot/rename-symbol.png new file mode 100644 index 0000000000000000000000000000000000000000..ddba26a545accc8e7c5e46f4d4d42c5f0d320cc6 GIT binary patch literal 90811 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 [!NOTE] Example responses are included in this article. {% data variables.product.prodname_copilot_chat %} may give you different responses from the ones shown here. + +## Understanding code + +Before you modify existing code you should make sure you understand its purpose and how it currently works. {% data variables.product.prodname_copilot_short %} can help you with this. + +1. Select the relevant code in your IDE's editor. +{% data reusables.copilot.open-inline-chat-vscode %} +1. In the input box for inline chat, type a forward slash (`/`). +1. In the dropdown list, select **/explain** and press Enter. +1. If the explanation that {% data variables.product.prodname_copilot_short %} returns is more than a few lines, click **View in Chat** to allow you to read the explanation more easily. + +## Optimizing inefficient code + +{% data variables.product.prodname_copilot_short %} can help you to optimize code - for example, to make the code run more quickly. + +### Example code + +In the two sections below, we'll use the following example bash script to demonstrate how to optimize inefficient code: + +```bash +#!/bin/bash + +# Find all .txt files and count lines in each +for file in $(find . -type f -name "*.txt"); do + wc -l "$file" +done +``` + +### Use the {% data variables.product.prodname_copilot_chat_short %} panel + +{% data variables.product.prodname_copilot_short %} can tell you whether code, like the example bash script, can be optimized. + +1. Select either the `for` loop or the entire contents of the file. +1. Open {% data variables.product.prodname_copilot_chat_short %} by clicking the chat icon in the activity bar or by using the keyboard shortcut: + + * **{% data variables.product.prodname_vscode_shortname %} and {% data variables.product.prodname_vs %}:** Control+Command+i (Mac) / Ctrl+Alt+i (Windows/Linux) + * **JetBrains**: Control+Shift+c + +1. In the input box at the bottom of the chat panel, type: `Can this script be improved?` + + {% data variables.product.prodname_copilot_short %} replies with a suggestion that will make the code more efficient. + +1. To apply the suggested change: + + * **In {% data variables.product.prodname_vscode_shortname %} and JetBrains:** Hover over the suggestion in the chat panel and click the **Insert At Cursor** icon. + + ![Screenshot of the 'Insert at cursor' icon in the {% data variables.product.prodname_copilot_chat_short %} panel.](/assets/images/help/copilot/insert-at-cursor.png) + + * **In {% data variables.product.prodname_vs %}:** Click **Preview** then, in the comparison view, click **Accept**. + +### Use {% data variables.product.prodname_copilot_short %} inline chat + +Alternatively, if you already know that existing code, like the example bash script, is inefficient: + +1. Select either the `for` loop or the entire contents of the file. +{% data reusables.copilot.open-inline-chat-vscode %} +1. Type `optimize` and press Enter. + + {% data variables.product.prodname_copilot_short %} suggests revised code. For example: + + ```bash + find . -type f -name "*.txt" -exec wc -l {} + + ``` + + This is more efficient than the original code, shown earlier in this article, because using `-exec ... +` allows `find` to pass multiple files to `wc` at once rather than calling `wc` once for each `*.txt` file that's found. + +{% data reusables.copilot.assess-copilot-suggestion %} + +{% data reusables.copilot.check-copilot-suggestion %} + +## Cleaning up repeated code + +Avoiding repetition will make your code easier to revise and debug. For example, if the same calculation is performed more than once at different places in a file, you could move the calculation to a function. + +In the following very simple JavaScript example, the same calculation (item price multiplied by number of items sold) is performed in two places. + +```javascript +let totalSales = 0; + +let applePrice = 3; +let applesSold = 100; +totalSales += applePrice * applesSold; + +let orangePrice = 5; +let orangesSold = 50; +totalSales += orangePrice * orangesSold; + +console.log(`Total: ${totalSales}`); +``` + +You can ask {% data variables.product.prodname_copilot_short %} to move the repeated calculation into a function. + +1. Select the entire contents of the file. +{% data reusables.copilot.open-inline-chat-vscode %} +1. Type: `move repeated calculations into functions` and press Enter. + + {% data variables.product.prodname_copilot_short %} suggests revised code. For example: + + ```javascript + function calculateSales(price, quantity) { + return price * quantity; + } + + let totalSales = 0; + + let applePrice = 3; + let applesSold = 100; + totalSales += calculateSales(applePrice, applesSold); + + let orangePrice = 5; + let orangesSold = 50; + totalSales += calculateSales(orangePrice, orangesSold); + + console.log(`Total: ${totalSales}`); + ``` + +{% data reusables.copilot.assess-copilot-suggestion %} + +{% data reusables.copilot.check-copilot-suggestion %} + +## Making code more concise + +If code is unnecessarily verbose it can be difficult to read and maintain. {% data variables.product.prodname_copilot_short %} can suggest a more concise version of selected code. + +In the following example, this Python code outputs the area of a rectangle and a circle, but could be written more concisely: + +```python +def calculate_area_of_rectangle(length, width): + area = length * width + return area + +def calculate_area_of_circle(radius): + import math + area = math.pi * (radius ** 2) + return area + +length_of_rectangle = 10 +width_of_rectangle = 5 +area_of_rectangle = calculate_area_of_rectangle(length_of_rectangle, width_of_rectangle) +print(f"Area of rectangle: {area_of_rectangle}") + +radius_of_circle = 7 +area_of_circle = calculate_area_of_circle(radius_of_circle) +print(f"Area of circle: {area_of_circle}") +``` + +1. Select the entire contents of the file. +{% data reusables.copilot.open-inline-chat-vscode %} +1. Type: `make this more concise` and press Enter. + + {% data variables.product.prodname_copilot_short %} suggests revised code. For example: + + ```python + import math + + def calculate_area_of_rectangle(length, width): + return length * width + + def calculate_area_of_circle(radius): + return math.pi * (radius ** 2) + + print(f"Area of rectangle: {calculate_area_of_rectangle(10, 5)}") + print(f"Area of circle: {calculate_area_of_circle(7)}") + ``` + +{% data reusables.copilot.assess-copilot-suggestion %} + +{% data reusables.copilot.check-copilot-suggestion %} + +## Splitting up complex units of code + +Large methods or functions that perform multiple operations are likely to offer fewer opportunities for reuse than smaller, simpler functions that are focused on performing a particular operation. They may also be more difficult to understand and debug. + +{% data variables.product.prodname_copilot_short %} can help you to split up complex blocks of code into smaller units that are more suitable for reuse. + +The following Python code is a very simple example, but it shows the principle of splitting up a single function into two functions that perform particular operations. + +```python +import pandas as pd +from pandas.io.formats.style import Styler + +def process_data(item, price): + # Cleanse data + item = item.strip() # Strip whitespace from item + price = price.strip() # Strip whitespace from price + price = float(price) # Convert price to a float + # More cleansing operations here + + # Create and print a DataFrame + data = {'Item': [item], 'Price': [price]} + df = pd.DataFrame(data) + print(df.to_string(index=False)) + +# Example usage +item = " Apple " +price = " 1.25" +process_data(item, price) +``` + +To split up the `process_data` function: + +1. Put the cursor in the function name. +{% data reusables.copilot.open-inline-chat-vscode %} +1. Type: `split into 2 separate functions: one for cleansing data, the other for printing` and press Enter. + + {% data variables.product.prodname_copilot_short %} suggests revised code. For example: + + ```python + def cleanse_data(item, price): + # Cleanse data + item = item.strip() # Strip whitespace from item + price = price.strip() # Strip whitespace from price + price = float(price) # Convert price to a float + return item, price + + def print_data(item, price): + # Create and print a DataFrame + data = {'Item': [item], 'Price': [price]} + df = pd.DataFrame(data) + print(df.to_string(index=False)) + + def process_data(item, price): + item, price = cleanse_data(item, price) + print_data(item, price) + ``` + + > [!NOTE] The example suggestion shown above replaces the existing function with three functions. The third function simply calls the other two functions, and allows for existing code that calls the `process_data` function. + +{% data reusables.copilot.assess-copilot-suggestion %} + +{% data reusables.copilot.check-copilot-suggestion %} + +## Rewrite conditional code for better readability + +There are often several ways to write code that does, or does not, get executed depending on various conditions. Some conditional structures are better suited than others to particular use cases, and choosing an alternative conditional structure can sometimes make the code easier to read. + +This Java method uses a series of `if` and `else if` statements to determine which operation to perform: + +```java +public String getSound(String animal) { + if (animal == null) { + System.out.println("Oops! A null animal?"); + } else if (animal.equalsIgnoreCase("Dog")) { + return "Bark"; + } else if ( animal.equalsIgnoreCase("Cat")) { + return "Meow"; + } else if ( animal.equalsIgnoreCase("Bird")) { + return "Tweet"; + } + return "Unknown"; +} +``` + +A `switch` statement might be a better way of applying the same logic. + +1. Put the cursor in the method name. +{% data reusables.copilot.open-inline-chat-vscode %} +1. Type: `rewrite the condition to use a switch and use Java 21 syntax with null case, but also add documentation and provide a better function name`. + + This demonstrates how you can use a single prompt to ask {% data variables.product.prodname_copilot_short %} to make multiple changes. + +1. Press Enter. + + {% data variables.product.prodname_copilot_short %} suggests revised code. For example: + + ```java + /** + * Retrieves the sound made by a given animal. + * + * @param animal The name of the animal. + * @return The sound made by the animal, or "Unknown" if the animal is not recognized. + */ + public String getAnimalSound(String animal) { + return switch (animal) { + case null -> { + System.out.println("Oops! A null animal?"); + yield "Unknown"; + } + case String a when a.equalsIgnoreCase("Dog") -> "Bark"; + case String a when a.equalsIgnoreCase("Cat") -> "Meow"; + case String a when a.equalsIgnoreCase("Bird") -> "Tweet"; + default -> "Unknown"; + }; + } + ``` + +{% data reusables.copilot.assess-copilot-suggestion %} + +{% data reusables.copilot.check-copilot-suggestion %} + +## Reformat code to use a different structure + +Suppose you have this function in JavaScript: + +```javascript +function listRepos(o, p) { + return fetch(`https://api.github.com/orgs/${o}/repos?per_page=${parseInt(p)}`) + .then((response) => response.json()) + .then( (data) => data); +} +``` + +If your coding standards require you to use the arrow notation for functions, and descriptive names for parameters, you can use {% data variables.product.prodname_copilot_short %} to help you make these changes. + +1. Put the cursor in the function name. +{% data reusables.copilot.open-inline-chat-vscode %} +1. Type: `use arrow notation and better parameter names` and press Enter. + + {% data variables.product.prodname_copilot_short %} suggests revised code. For example: + + ```javascript + const listRepos = (org, perPage) => { + return fetch(`https://api.github.com/orgs/${org}/repos?per_page=${parseInt(perPage)}`) + .then(response => response.json()) + .then(data => data); + }; + ``` + +## Improving the name of a symbol + +> [!NOTE] +> * {% data variables.product.prodname_vscode_shortname %} and {% data variables.product.prodname_vs %} only. +> * Support for this feature depends on having the appropriate language extension installed in your IDE for the language you are using. Not all language extensions support this feature. + +Well chosen names can help to make code easier to maintain. {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vscode_shortname %} and {% data variables.product.prodname_vs %} can suggest alternative names for symbols such as variables or functions. + +1. Put the cursor in the symbol name. +1. Press F2. +1. **{% data variables.product.prodname_vs %} only:** Press Ctrl+Space. + + {% data variables.product.prodname_copilot_short %} suggests alternative names. + + ![Screenshot of a dropdown list in {% data variables.product.prodname_vscode_shortname %} giving alternatives for a symbol name.](/assets/images/help/copilot/rename-symbol.png) + +1. In the dropdown list, select one of the suggested names. + + The name is changed throughout the project. diff --git a/data/reusables/copilot/assess-copilot-suggestion.md b/data/reusables/copilot/assess-copilot-suggestion.md new file mode 100644 index 000000000000..b25c7eeb256e --- /dev/null +++ b/data/reusables/copilot/assess-copilot-suggestion.md @@ -0,0 +1,4 @@ +1. Assess {% data variables.product.prodname_copilot_short %}'s suggestion and, if you agree with the change: + + * **In {% data variables.product.prodname_vscode_shortname %} and {% data variables.product.prodname_vs %}:** Click **Accept**. + * **In JetBrains**: Click the Preview icon (double arrows), then click the Apply All Diffs icon (double angle brackets). diff --git a/data/reusables/copilot/check-copilot-suggestion.md b/data/reusables/copilot/check-copilot-suggestion.md new file mode 100644 index 000000000000..7a26a59b4dc6 --- /dev/null +++ b/data/reusables/copilot/check-copilot-suggestion.md @@ -0,0 +1 @@ +As with all {% data variables.product.prodname_copilot_short %} suggestions, you should always check that the revised code runs without errors and produces the correct result. diff --git a/data/reusables/copilot/open-inline-chat-vscode.md b/data/reusables/copilot/open-inline-chat-vscode.md new file mode 100644 index 000000000000..dbe9dfa59149 --- /dev/null +++ b/data/reusables/copilot/open-inline-chat-vscode.md @@ -0,0 +1,5 @@ +1. Open inline chat: + + * **In {% data variables.product.prodname_vscode_shortname %}:** Press Command+i (Mac) or Ctrl+i (Windows/Linux). + * **In {% data variables.product.prodname_vs %}:** Press Alt+/. + * **In JetBrains IDEs:** Press Control+Shift+i (Mac) or Ctrl+Shift+g (Windows/Linux).