From f2e0f3ee27ae59e45b92351d0956432920722b7e Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Mon, 2 Sep 2019 20:00:05 +0100 Subject: chore(third_party): Remove git-appraise Not actually in use here ... --- default.nix | 2 - third_party/go/git-appraise/.gitignore | 2 - third_party/go/git-appraise/CONTRIBUTING.md | 24 - third_party/go/git-appraise/LICENSE | 202 ----- third_party/go/git-appraise/README.md | 158 ---- third_party/go/git-appraise/commands/abandon.go | 139 --- third_party/go/git-appraise/commands/accept.go | 109 --- third_party/go/git-appraise/commands/commands.go | 55 -- third_party/go/git-appraise/commands/comment.go | 165 ---- .../go/git-appraise/commands/input/input.go | 118 --- third_party/go/git-appraise/commands/list.go | 74 -- .../go/git-appraise/commands/output/output.go | 216 ----- third_party/go/git-appraise/commands/pull.go | 93 -- third_party/go/git-appraise/commands/push.go | 49 - third_party/go/git-appraise/commands/rebase.go | 100 --- third_party/go/git-appraise/commands/reject.go | 119 --- third_party/go/git-appraise/commands/request.go | 182 ---- .../go/git-appraise/commands/request_test.go | 36 - third_party/go/git-appraise/commands/show.go | 85 -- third_party/go/git-appraise/commands/submit.go | 157 ---- third_party/go/git-appraise/docs/tutorial.md | 404 --------- .../go/git-appraise/git-appraise/default.nix | 18 - third_party/go/git-appraise/git-appraise/deps.nix | 3 - .../go/git-appraise/git-appraise/git-appraise.go | 104 --- third_party/go/git-appraise/repository/git.go | 987 --------------------- third_party/go/git-appraise/repository/git_test.go | 94 -- .../go/git-appraise/repository/mock_repo.go | 613 ------------- third_party/go/git-appraise/repository/repo.go | 221 ----- .../go/git-appraise/review/analyses/analyses.go | 160 ---- .../git-appraise/review/analyses/analyses_test.go | 77 -- third_party/go/git-appraise/review/ci/ci.go | 95 -- third_party/go/git-appraise/review/ci/ci_test.go | 85 -- .../go/git-appraise/review/comment/comment.go | 266 ------ third_party/go/git-appraise/review/gpg/signable.go | 129 --- .../go/git-appraise/review/request/request.go | 104 --- third_party/go/git-appraise/review/review.go | 772 ---------------- third_party/go/git-appraise/review/review_test.go | 870 ------------------ third_party/go/git-appraise/schema/analysis.json | 61 -- third_party/go/git-appraise/schema/ci.json | 42 - third_party/go/git-appraise/schema/comment.json | 75 -- third_party/go/git-appraise/schema/request.json | 58 -- tools/bin/__dispatch.sh | 3 - tools/bin/git-appraise | 1 - 43 files changed, 7327 deletions(-) delete mode 100644 third_party/go/git-appraise/.gitignore delete mode 100644 third_party/go/git-appraise/CONTRIBUTING.md delete mode 100644 third_party/go/git-appraise/LICENSE delete mode 100644 third_party/go/git-appraise/README.md delete mode 100644 third_party/go/git-appraise/commands/abandon.go delete mode 100644 third_party/go/git-appraise/commands/accept.go delete mode 100644 third_party/go/git-appraise/commands/commands.go delete mode 100644 third_party/go/git-appraise/commands/comment.go delete mode 100644 third_party/go/git-appraise/commands/input/input.go delete mode 100644 third_party/go/git-appraise/commands/list.go delete mode 100644 third_party/go/git-appraise/commands/output/output.go delete mode 100644 third_party/go/git-appraise/commands/pull.go delete mode 100644 third_party/go/git-appraise/commands/push.go delete mode 100644 third_party/go/git-appraise/commands/rebase.go delete mode 100644 third_party/go/git-appraise/commands/reject.go delete mode 100644 third_party/go/git-appraise/commands/request.go delete mode 100644 third_party/go/git-appraise/commands/request_test.go delete mode 100644 third_party/go/git-appraise/commands/show.go delete mode 100644 third_party/go/git-appraise/commands/submit.go delete mode 100644 third_party/go/git-appraise/docs/tutorial.md delete mode 100644 third_party/go/git-appraise/git-appraise/default.nix delete mode 100644 third_party/go/git-appraise/git-appraise/deps.nix delete mode 100644 third_party/go/git-appraise/git-appraise/git-appraise.go delete mode 100644 third_party/go/git-appraise/repository/git.go delete mode 100644 third_party/go/git-appraise/repository/git_test.go delete mode 100644 third_party/go/git-appraise/repository/mock_repo.go delete mode 100644 third_party/go/git-appraise/repository/repo.go delete mode 100644 third_party/go/git-appraise/review/analyses/analyses.go delete mode 100644 third_party/go/git-appraise/review/analyses/analyses_test.go delete mode 100644 third_party/go/git-appraise/review/ci/ci.go delete mode 100644 third_party/go/git-appraise/review/ci/ci_test.go delete mode 100644 third_party/go/git-appraise/review/comment/comment.go delete mode 100644 third_party/go/git-appraise/review/gpg/signable.go delete mode 100644 third_party/go/git-appraise/review/request/request.go delete mode 100644 third_party/go/git-appraise/review/review.go delete mode 100644 third_party/go/git-appraise/review/review_test.go delete mode 100644 third_party/go/git-appraise/schema/analysis.json delete mode 100644 third_party/go/git-appraise/schema/ci.json delete mode 100644 third_party/go/git-appraise/schema/comment.json delete mode 100644 third_party/go/git-appraise/schema/request.json delete mode 120000 tools/bin/git-appraise diff --git a/default.nix b/default.nix index ccb301d68f4e..ed6258108d5b 100644 --- a/default.nix +++ b/default.nix @@ -31,8 +31,6 @@ let }; # Third-party projects (either vendored or modified from nixpkgs) go here: - gitAppraise = self.callPackage ./third_party/go/git-appraise/git-appraise {}; - nixery = import ./third_party/nixery.nix { pkgs = self; }; terraform-gcp = unstable.terraform_0_12.withPlugins(p: [ p.google p.google-beta ]); ormolu = import (self.fetchFromGitHub { diff --git a/third_party/go/git-appraise/.gitignore b/third_party/go/git-appraise/.gitignore deleted file mode 100644 index 385b6eee948f..000000000000 --- a/third_party/go/git-appraise/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*~ -bin/ diff --git a/third_party/go/git-appraise/CONTRIBUTING.md b/third_party/go/git-appraise/CONTRIBUTING.md deleted file mode 100644 index 8532a3336e18..000000000000 --- a/third_party/go/git-appraise/CONTRIBUTING.md +++ /dev/null @@ -1,24 +0,0 @@ -Want to contribute? Great! First, read this page (including the small print at the end). - -### Before you contribute -Before we can use your code, you must sign the -[Google Individual Contributor License Agreement](https://developers.google.com/open-source/cla/individual?csw=1) -(CLA), which you can do online. The CLA is necessary mainly because you own the -copyright to your changes, even after your contribution becomes part of our -codebase. Therefore, we need your permission to use and distribute your code. -We also need to be sure of various other things—for instance that you'll tell -us if you know that your code infringes on other people's patents. You don't -have to sign the CLA until after you've submitted your code for review and a -member has approved it, but you must do it before we can put your code into our -codebase. Before you start working on a larger contribution, you should get in -touch with us first through the issue tracker with your idea so that we can -help out and possibly guide you. Coordinating up front avoids frustrations later. - -### Code reviews -All submissions, including submissions by project members, require review. You -may use a Github pull request to start such a review, but the review itself -will be conducted using this tool. - -### The small print -Contributions made by corporations are covered by a different agreement than -the one above, the Software Grant and Corporate Contributor License Agreement. \ No newline at end of file diff --git a/third_party/go/git-appraise/LICENSE b/third_party/go/git-appraise/LICENSE deleted file mode 100644 index d64569567334..000000000000 --- a/third_party/go/git-appraise/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/third_party/go/git-appraise/README.md b/third_party/go/git-appraise/README.md deleted file mode 100644 index 0227c41366e0..000000000000 --- a/third_party/go/git-appraise/README.md +++ /dev/null @@ -1,158 +0,0 @@ -# Distributed Code Review For Git -[![Build Status](https://travis-ci.org/google/git-appraise.svg?branch=master)](https://travis-ci.org/google/git-appraise) - -This repo contains a command line tool for performing code reviews on git -repositories. - -## Overview - -This tool is a *distributed* code review system for git repos. - -By "distributed", we mean that code reviews are stored inside of the repository -as git objects. Every developer on your team has their own copy of the review -history that they can push or pull. When pulling, updates from the remote -repo are automatically merged by the tool. - -This design removes the need for any sort of server-side setup. As a result, -this tool can work with any git hosting provider, and the only setup required -is installing the client on your workstation. - -## Installation - -Assuming you have the [Go tools installed](https://golang.org/doc/install), run -the following command: - - go get github.com/google/git-appraise/git-appraise - -Then, either make sure that `${GOPATH}/bin` is in your PATH, or explicitly add the -"appraise" git alias by running the following command. - - git config --global alias.appraise '!'"${GOPATH}/bin/git-appraise" - -#### Windows: - - git config --global alias.appraise "!%GOPATH%/bin/git-appraise.exe" - -## Requirements - -This tool expects to run in an environment with the following attributes: - -1. The git command line tool is installed, and included in the PATH. -2. The tool is run from within a git repo. -3. The git command line tool is configured with the credentials it needs to - push to and pull from the remote repos. - -## Usage - -Requesting a code review: - - git appraise request - -Pushing code reviews to a remote: - - git appraise push [] - -Pulling code reviews from a remote: - - git appraise pull [] - -Listing open code reviews: - - git appraise list - -Showing the status of the current review, including comments: - - git appraise show - -Showing the diff of a review: - - git appraise show --diff [--diff-opts ""] [] - -Commenting on a review: - - git appraise comment -m "" [-f [-l ]] [] - -Accepting the changes in a review: - - git appraise accept [-m ""] [] - -Submitting the current review: - - git appraise submit [--merge | --rebase] - -A more detailed getting started doc is available [here](docs/tutorial.md). - -## Metadata - -The code review data is stored in [git-notes](https://git-scm.com/docs/git-notes), -using the formats described below. Each item stored is written as a single -line of JSON, and is written with at most one such item per line. This allows -the git notes to be automatically merged using the "cat\_sort\_uniq" strategy. - -Since these notes are not in a human-friendly form, all of the refs used to -track them start with the prefix "refs/notes/devtools". This helps make it -clear that these are meant to be read and written by automated tools. - -When a field named "v" appears in one of these notes, it is used to denote -the version of the metadata format being used. If that field is missing, then -it defaults to the value 0, which corresponds to this initial version of the -formats. - -### Code Review Requests - -Code review requests are stored in the "refs/notes/devtools/reviews" ref, and -annotate the first revision in a review. They must conform to the -[request schema](schema/request.json). - -If there are multiple requests for a single commit, then they are sorted by -timestamp and the final request is treated as the current one. This sorting -should be done in a stable manner, so that if there are multiple requests -with the same timestamp, then the last such request in the note is treated -as the current one. - -This design allows a user to update a review request by re-running the -`git appraise request` command. - -### Continuous Integration Status - -Continuous integration build and test results are stored in the -"refs/notes/devtools/ci" ref, and annotate the revision that was built and -tested. They must conform to the [ci schema](schema/ci.json). - -### Robot Comments - -Robot comments are comments generated by static analysis tools. These are -stored in the "refs/notes/devtools/analyses" ref, and annotate the revision. -They must conform to the [analysis schema](schema/analysis.json). - -### Review Comments - -Review comments are comments that were written by a person rather than by a -machine. These are stored in the "refs/notes/devtools/discuss" ref, and -annotate the first revision in the review. They must conform to the -[comment schema](schema/comment.json). - -## Integrations - -### Libraries - - - [Go (use git-appraise itself)](https://github.com/google/git-appraise/blob/master/review/review.go) - - [Rust](https://github.com/Nemo157/git-appraise-rs) - -### Graphical User Interfaces - - - [Git-Appraise-Web](https://github.com/google/git-appraise-web) - -### Plugins - - - [Eclipse](https://github.com/google/git-appraise-eclipse) - - [Jenkins](https://github.com/jenkinsci/google-git-notes-publisher-plugin) - -### Mirrors to other systems - - - [GitHub Pull Requests](https://github.com/google/git-pull-request-mirror) - - [Phabricator Revisions](https://github.com/google/git-phabricator-mirror) - -## Contributing - -Please see [the CONTRIBUTING file](CONTRIBUTING.md) for information on contributing to Git Appraise. diff --git a/third_party/go/git-appraise/commands/abandon.go b/third_party/go/git-appraise/commands/abandon.go deleted file mode 100644 index 6f408e1663c9..000000000000 --- a/third_party/go/git-appraise/commands/abandon.go +++ /dev/null @@ -1,139 +0,0 @@ -/* -Copyright 2015 Google Inc. All rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package commands - -import ( - "errors" - "flag" - "fmt" - - "github.com/google/git-appraise/commands/input" - "github.com/google/git-appraise/repository" - "github.com/google/git-appraise/review" - "github.com/google/git-appraise/review/comment" - "github.com/google/git-appraise/review/gpg" - "github.com/google/git-appraise/review/request" -) - -var abandonFlagSet = flag.NewFlagSet("abandon", flag.ExitOnError) - -var ( - abandonMessageFile = abandonFlagSet.String("F", "", "Take the comment from the given file. Use - to read the message from the standard input") - abandonMessage = abandonFlagSet.String("m", "", "Message to attach to the review") - - abandonSign = abandonFlagSet.Bool("S", false, - "Sign the contents of the abandonment") -) - -// abandonReview adds an NMW comment to the current code review. -func abandonReview(repo repository.Repo, args []string) error { - abandonFlagSet.Parse(args) - args = abandonFlagSet.Args() - - var r *review.Review - var err error - if len(args) > 1 { - return errors.New("Only abandon a single review is supported.") - } - - if len(args) == 1 { - r, err = review.Get(repo, args[0]) - } else { - r, err = review.GetCurrent(repo) - } - - if err != nil { - return fmt.Errorf("Failed to load the review: %v\n", err) - } - if r == nil { - return errors.New("There is no matching review.") - } - - if *abandonMessageFile != "" && *abandonMessage == "" { - *abandonMessage, err = input.FromFile(*abandonMessageFile) - if err != nil { - return err - } - } - if *abandonMessageFile == "" && *abandonMessage == "" { - *abandonMessage, err = input.LaunchEditor(repo, commentFilename) - if err != nil { - return err - } - } - - abandonedCommit, err := r.GetHeadCommit() - if err != nil { - return err - } - location := comment.Location{ - Commit: abandonedCommit, - } - resolved := false - userEmail, err := repo.GetUserEmail() - if err != nil { - return err - } - c := comment.New(userEmail, *abandonMessage) - c.Location = &location - c.Resolved = &resolved - - var key string - if *abandonSign { - key, err := repo.GetUserSigningKey() - if err != nil { - return err - } - err = gpg.Sign(key, &c) - if err != nil { - return err - } - } - - err = r.AddComment(c) - if err != nil { - return err - } - - // Empty target ref indicates that request was abandoned - r.Request.TargetRef = "" - // (re)sign the request after clearing out `TargetRef'. - if *abandonSign { - err = gpg.Sign(key, &r.Request) - if err != nil { - return err - } - } - - note, err := r.Request.Write() - if err != nil { - return err - } - - return repo.AppendNote(request.Ref, r.Revision, note) -} - -// abandonCmd defines the "abandon" subcommand. -var abandonCmd = &Command{ - Usage: func(arg0 string) { - fmt.Printf("Usage: %s abandon [