From 677875a59bdf3a07487f30b3afaecf04510056a5 Mon Sep 17 00:00:00 2001 From: Joel Williams Date: Wed, 30 Oct 2019 00:25:24 +0200 Subject: [PATCH] Corrected some typos Made some corrections to grammar and deleted a repeated section. I hope this is helpful for you. --- README.md | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 73daee1..5daa089 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Self-Update Mechanism for Go Commands using GitHub +Self-Update Mechanism for Go Commands Using GitHub ================================================== [![GoDoc Badge][]][GoDoc] @@ -6,23 +6,23 @@ Self-Update Mechanism for Go Commands using GitHub [![AppVeyor Status][]][AppVeyor] [![Codecov Status][]][Codecov] -[go-github-selfupdate][] is a Go library to provide self-update mechanism to command line tools. +[go-github-selfupdate][] is a Go library to provide a self-update mechanism to command line tools. -Go does not provide the way to install/update the stable version of tools. By default, Go command line +Go does not provide a way to install/update the stable version of tools. By default, Go command line tools are updated: 1. using `go get -u`, but it is not stable because HEAD of the repository is built 2. using system's package manager, but it is harder to release because of depending on the platform -3. downloading executables from GitHub release page, but it requires users to download and put it manually +3. downloading executables from GitHub release page, but it requires users to download and put it in an executable path manually -[go-github-selfupdate][] resolves the problem of 3. by detecting the latest release, downloading it and -putting it to `$GOPATH/bin` automatically. +[go-github-selfupdate][] resolves the problem of 3 by detecting the latest release, downloading it and +putting it in `$GOPATH/bin` automatically. [go-github-selfupdate][] detects the information of the latest release via [GitHub Releases API][] and -checks the current version. If newer version than itself is detected, it downloads released binary from +checks the current version. If a newer version than itself is detected, it downloads the released binary from GitHub and replaces itself. -- Automatically detects the latest version of released binary on GitHub +- Automatically detect the latest version of released binary on GitHub - Retrieve the proper binary for the OS and arch where the binary is running - Update the binary with rollback support on failure - Tested on Linux, macOS and Windows (using Travis CI and AppVeyor) @@ -67,7 +67,7 @@ Then run `-selfupdate` $ selfupdate-example -selfupdate ``` -It should replace itself and finally shows a message containing release notes. +It should replace itself and finally show a message containing release notes. Please check the binary version is updated to `v1.2.4` with `-version`. The binary is up-to-date. So running `-selfupdate` again only shows 'Current binary is the latest version'. @@ -187,7 +187,7 @@ please use `os.Executable()`. Please see [the documentation page][GoDoc] for more detail. This library should work with [GitHub Enterprise][]. To configure API base URL, please setup `Updater` -instance and use its method instead (Actually all functions above are just a shortcuts of methods of +instance and use its methods instead (actually all functions above are just a shortcuts of methods of an `Updater` instance). Following is an example of usage with GitHub Enterprise. @@ -226,8 +226,8 @@ If `APIToken` field is not given, it tries to retrieve API token from `[token]` or `$GITHUB_TOKEN` environment variable. If no token is found, it raises an error because GitHub Enterprise API does not work without authentication. -If your GitHub Enterprise instance's upload URL is different from the base URL, please also set `EnterpriseUploadURL` -field +If your GitHub Enterprise instance's upload URL is different from the base URL, please also set the `EnterpriseUploadURL` +field. ### Naming Rules of Released Binaries @@ -307,9 +307,6 @@ In summary, structure of releases on GitHub looks like: - ... (Other binaries for v1.1.3) - ... (older versions) -Tags which don't contain a version number are ignored (i.e. `nightly`). And releases marked -as `pre-release` are also ignored. - ### Hash or Signature Validation @@ -370,7 +367,7 @@ $ export GITHUB_TOKEN="{token generated by you}" $ go test -v ./selfupdate ``` -Above command run almost all tests and it's enough to check the behavior before creating a pull request. +The above command runs almost all tests and it's enough to check the behavior before creating a pull request. Some tests are still not tested because they depend on my personal API access token, though; for repositories on GitHub Enterprise or private repositories on GitHub. @@ -378,7 +375,7 @@ on GitHub Enterprise or private repositories on GitHub. ### Debugging This library can output logs for debugging. By default, logger is disabled. -You can enable the logger by following and can know the details of the self update. +You can enable the logger by the following and can know the details of the self update. ```go selfupdate.EnableLog() @@ -388,7 +385,7 @@ selfupdate.EnableLog() ### CI Tests run on CIs (Travis CI, Appveyor) are run with the token I generated. However, because of security -reason, it is not used for the tests for pull requests. In the tests, a GitHub API token is not set and +reasons, it is not used for the tests for pull requests. In the tests, a GitHub API token is not set and API rate limit is often exceeding. So please ignore the test failures on creating a pull request. @@ -418,7 +415,7 @@ This library utilizes ## What is different from [tj/go-update][]? -This library goal is the same as tj/go-update, but it's different in following points. +This library's goal is the same as tj/go-update, but it's different in following points. tj/go-update: