Githawk: рдорд┐рд╕рд┐рдВрдЧ рдХрдорд┐рдЯ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 10 рдорд╛рд░реНрдЪ 2019  ┬╖  18рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: GitHawkApp/GitHawk

GitHawk Upload by BasThomas

GitHawk Upload by BasThomas

рдФрд░ various changes рдкреНрд░рддрд┐рдмрджреНрдз JSON рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ...

{
  "data" : {
    "repository" : {
      "viewerCanAdminister" : true,
      "mergeCommitAllowed" : true,
      "squashMergeAllowed" : true,
      "mentionableUsers" : {
        "nodes" : [
          {
            "login" : "terhechte",
            "avatarUrl" : "https://avatars2.githubusercontent.com/u/132234?v=4",
            "__typename" : "User"
          },
          {
            "login" : "BasThomas",
            "avatarUrl" : "https://avatars0.githubusercontent.com/u/4190298?v=4",
            "__typename" : "User"
          }
        ],
        "__typename" : "UserConnection"
      },
      "defaultBranchRef" : {
        "name" : "master",
        "__typename" : "Ref"
      },
      "issueOrPullRequest" : {
        "milestone" : null,
        "locked" : false,
        "labels" : {
          "nodes" : [

          ],
          "__typename" : "LabelConnection"
        },
        "title" : "[WIP] Parse show notes",
        "__typename" : "PullRequest",
        "viewerCanReact" : true,
        "changedFiles" : 11,
        "deletions" : 44,
        "mergeStateStatus" : "CLEAN",
        "commits" : {
          "nodes" : [
            {
              "commit" : {
                "id" : "MDY6Q29tbWl0MTQ1MzIyMTc3OjQ0ZTdhYWNjYjIzNzdjMzE1MGVhYWY4MzI5Y2ZhNTA4ODliMTJlMTM=",
                "status" : null,
                "__typename" : "Commit"
              },
              "__typename" : "PullRequestCommit"
            }
          ],
          "__typename" : "PullRequestCommitConnection"
        },
        "closed" : false,
        "viewerCanUpdate" : true,
        "createdAt" : "2018-09-28T11:16:41Z",
        "baseRefName" : "master",
        "mergeable" : "MERGEABLE",
        "body" : "This adds a format for show notes that will parse them to HTML.\r\n\r\nThe following format is expected:\r\n\r\n```\r\n# title\r\n- description1: url1\r\n- description2: url2\r\n\r\n- description3: url3\r\n\r\n# anotherTitle\r\n- description4: url4\r\n```\r\n\r\nThis will generate:\r\n\r\n```html\r\n<div>\r\n  <p>\r\n  <h3>title</h3>\r\n  <ul>\r\n    <li><a href=\"url1\">description1</a></li>\r\n    <li><a href=\"url2\">description2</a></li>\r\n  </ul>\r\n  <ul>\r\n    <li><a href=\"url3\">description3</a></li>\r\n  </ul>\r\n  </p>\r\n  <p>\r\n  <h3>anotherTitle</h3>\r\n  <ul>\r\n    <li><a href=\"url4\">description4</a></li>\r\n  </ul>\r\n  </p>\r\n<div>\r\n```",
        "timeline" : {
          "pageInfo" : {
            "hasPreviousPage" : false,
            "startCursor" : "MQ",
            "__typename" : "PageInfo"
          },
          "nodes" : [
            {
              "messageHeadline" : "Add .xcodeproj to gitignore",
              "__typename" : "Commit",
              "id" : "MDY6Q29tbWl0MTQ1MzIyMTc3OjdiZTNiOWYxMjBkN2JkZGMzYjYxMTk2ZmRiZWFjNGJiOTNkNjY4MGQ=",
              "author" : {
                "user" : {
                  "login" : "BasThomas",
                  "avatarUrl" : "https://avatars0.githubusercontent.com/u/4190298?v=4",
                  "__typename" : "User"
                },
                "__typename" : "GitActor"
              },
              "oid" : "7be3b9f120d7bddc3b61196fdbeac4bb93d6680d"
            },
            {
              "messageHeadline" : "Add a newline at the end of the generated script",
              "__typename" : "Commit",
              "id" : "MDY6Q29tbWl0MTQ1MzIyMTc3OmNlYWU0NThkOTlkZjNiZDRjNDFkMmQ5YTQ1MzQzNWZkYmFlYmMxZDY=",
              "author" : {
                "user" : {
                  "login" : "BasThomas",
                  "avatarUrl" : "https://avatars0.githubusercontent.com/u/4190298?v=4",
                  "__typename" : "User"
                },
                "__typename" : "GitActor"
              },
              "oid" : "ceae458d99df3bd4c41d2d9a453435fdbaebc1d6"
            },
            {
              "messageHeadline" : "De-indent enum cases",
              "__typename" : "Commit",
              "id" : "MDY6Q29tbWl0MTQ1MzIyMTc3OjQ2NDVjODQzOTQ0MzlkMzZhMzM0MGE5NWUyYzg5OTUzZGQ3ZDAxNTc=",
              "author" : {
                "user" : {
                  "login" : "BasThomas",
                  "avatarUrl" : "https://avatars0.githubusercontent.com/u/4190298?v=4",
                  "__typename" : "User"
                },
                "__typename" : "GitActor"
              },
              "oid" : "4645c84394439d36a3340a95e2c89953dd7d0157"
            },
            {
              "messageHeadline" : "Remove unnecessary print statement",
              "__typename" : "Commit",
              "id" : "MDY6Q29tbWl0MTQ1MzIyMTc3OjgyNGZhODI5OWI4OGQ1ZTE0Nzc0MjMwMjE2Y2M0MTQ1ODEzZDEzZTE=",
              "author" : {
                "user" : {
                  "login" : "BasThomas",
                  "avatarUrl" : "https://avatars0.githubusercontent.com/u/4190298?v=4",
                  "__typename" : "User"
                },
                "__typename" : "GitActor"
              },
              "oid" : "824fa8299b88d5e14774230216cc4145813d13e1"
            },
            {
              "messageHeadline" : "Rename seperator to separator",
              "__typename" : "Commit",
              "id" : "MDY6Q29tbWl0MTQ1MzIyMTc3OmEwYTg3YmM4YjQxMGM0YzhiYjdiOTEyZmM2OWRiNzNjMWRjZWY0NDM=",
              "author" : {
                "user" : {
                  "login" : "BasThomas",
                  "avatarUrl" : "https://avatars0.githubusercontent.com/u/4190298?v=4",
                  "__typename" : "User"
                },
                "__typename" : "GitActor"
              },
              "oid" : "a0a87bc8b410c4c8bb7b912fc69db73c1dcef443"
            },
            {
              "messageHeadline" : "Parse formatted notes to html",
              "__typename" : "Commit",
              "id" : "MDY6Q29tbWl0MTQ1MzIyMTc3OjI2ZGU0MzNkOTdiOWYyMDdmODdiOWNjZTBhNGJkNzgxZjg2M2NhYzU=",
              "author" : {
                "user" : {
                  "login" : "BasThomas",
                  "avatarUrl" : "https://avatars0.githubusercontent.com/u/4190298?v=4",
                  "__typename" : "User"
                },
                "__typename" : "GitActor"
              },
              "oid" : "26de433d97b9f207f87b9cce0a4bd781f863cac5"
            },
            {
              "messageHeadline" : "Generate masse.swift",
              "__typename" : "Commit",
              "id" : "MDY6Q29tbWl0MTQ1MzIyMTc3OjMyMmRiMDhmOGMyZjQ1OGY5YWRkMDk1MzQzMmNmNGExMThiNGIzMzY=",
              "author" : {
                "user" : {
                  "login" : "BasThomas",
                  "avatarUrl" : "https://avatars0.githubusercontent.com/u/4190298?v=4",
                  "__typename" : "User"
                },
                "__typename" : "GitActor"
              },
              "oid" : "322db08f8c2f458f9add0953432cf4a118b4b336"
            },
            {
              "id" : "MDEyOklzc3VlQ29tbWVudDQ2NjM3NDA3Ng==",
              "body" : "What happened to this? It still says [WIP]. Is it ready for review? :)",
              "viewerCanUpdate" : true,
              "author" : {
                "login" : "terhechte",
                "avatarUrl" : "https://avatars2.githubusercontent.com/u/132234?v=4",
                "__typename" : "User"
              },
              "viewerDidAuthor" : false,
              "reactionGroups" : [
                {
                  "__typename" : "ReactionGroup",
                  "viewerHasReacted" : false,
                  "users" : {
                    "nodes" : [

                    ],
                    "totalCount" : 0,
                    "__typename" : "ReactingUserConnection"
                  },
                  "content" : "THUMBS_UP"
                },
                {
                  "__typename" : "ReactionGroup",
                  "viewerHasReacted" : false,
                  "users" : {
                    "nodes" : [

                    ],
                    "totalCount" : 0,
                    "__typename" : "ReactingUserConnection"
                  },
                  "content" : "THUMBS_DOWN"
                },
                {
                  "__typename" : "ReactionGroup",
                  "viewerHasReacted" : false,
                  "users" : {
                    "nodes" : [

                    ],
                    "totalCount" : 0,
                    "__typename" : "ReactingUserConnection"
                  },
                  "content" : "LAUGH"
                },
                {
                  "__typename" : "ReactionGroup",
                  "viewerHasReacted" : false,
                  "users" : {
                    "nodes" : [

                    ],
                    "totalCount" : 0,
                    "__typename" : "ReactingUserConnection"
                  },
                  "content" : "HOORAY"
                },
                {
                  "__typename" : "ReactionGroup",
                  "viewerHasReacted" : false,
                  "users" : {
                    "nodes" : [

                    ],
                    "totalCount" : 0,
                    "__typename" : "ReactingUserConnection"
                  },
                  "content" : "CONFUSED"
                },
                {
                  "__typename" : "ReactionGroup",
                  "viewerHasReacted" : false,
                  "users" : {
                    "nodes" : [

                    ],
                    "totalCount" : 0,
                    "__typename" : "ReactingUserConnection"
                  },
                  "content" : "HEART"
                },
                {
                  "__typename" : "ReactionGroup",
                  "viewerHasReacted" : false,
                  "users" : {
                    "nodes" : [

                    ],
                    "totalCount" : 0,
                    "__typename" : "ReactingUserConnection"
                  },
                  "content" : "ROCKET"
                },
                {
                  "__typename" : "ReactionGroup",
                  "viewerHasReacted" : false,
                  "users" : {
                    "nodes" : [

                    ],
                    "totalCount" : 0,
                    "__typename" : "ReactingUserConnection"
                  },
                  "content" : "EYES"
                }
              ],
              "viewerCanReact" : true,
              "viewerCanDelete" : true,
              "editor" : null,
              "__typename" : "IssueComment",
              "lastEditedAt" : null,
              "createdAt" : "2019-02-22T12:02:31Z"
            },
            {
              "id" : "MDEyOklzc3VlQ29tbWVudDQ2NjUwMDk3Ng==",
              "body" : "Yeah not super happy with the code. It works in theory, but want to take another look at making this a bit less error prone / easier to expand on later",
              "viewerCanUpdate" : true,
              "author" : {
                "login" : "BasThomas",
                "avatarUrl" : "https://avatars0.githubusercontent.com/u/4190298?v=4",
                "__typename" : "User"
              },
              "viewerDidAuthor" : true,
              "reactionGroups" : [
                {
                  "__typename" : "ReactionGroup",
                  "viewerHasReacted" : false,
                  "users" : {
                    "nodes" : [

                    ],
                    "totalCount" : 0,
                    "__typename" : "ReactingUserConnection"
                  },
                  "content" : "THUMBS_UP"
                },
                {
                  "__typename" : "ReactionGroup",
                  "viewerHasReacted" : false,
                  "users" : {
                    "nodes" : [

                    ],
                    "totalCount" : 0,
                    "__typename" : "ReactingUserConnection"
                  },
                  "content" : "THUMBS_DOWN"
                },
                {
                  "__typename" : "ReactionGroup",
                  "viewerHasReacted" : false,
                  "users" : {
                    "nodes" : [

                    ],
                    "totalCount" : 0,
                    "__typename" : "ReactingUserConnection"
                  },
                  "content" : "LAUGH"
                },
                {
                  "__typename" : "ReactionGroup",
                  "viewerHasReacted" : false,
                  "users" : {
                    "nodes" : [

                    ],
                    "totalCount" : 0,
                    "__typename" : "ReactingUserConnection"
                  },
                  "content" : "HOORAY"
                },
                {
                  "__typename" : "ReactionGroup",
                  "viewerHasReacted" : false,
                  "users" : {
                    "nodes" : [

                    ],
                    "totalCount" : 0,
                    "__typename" : "ReactingUserConnection"
                  },
                  "content" : "CONFUSED"
                },
                {
                  "__typename" : "ReactionGroup",
                  "viewerHasReacted" : false,
                  "users" : {
                    "nodes" : [

                    ],
                    "totalCount" : 0,
                    "__typename" : "ReactingUserConnection"
                  },
                  "content" : "HEART"
                },
                {
                  "__typename" : "ReactionGroup",
                  "viewerHasReacted" : false,
                  "users" : {
                    "nodes" : [

                    ],
                    "totalCount" : 0,
                    "__typename" : "ReactingUserConnection"
                  },
                  "content" : "ROCKET"
                },
                {
                  "__typename" : "ReactionGroup",
                  "viewerHasReacted" : false,
                  "users" : {
                    "nodes" : [

                    ],
                    "totalCount" : 0,
                    "__typename" : "ReactingUserConnection"
                  },
                  "content" : "EYES"
                }
              ],
              "viewerCanReact" : true,
              "viewerCanDelete" : true,
              "editor" : null,
              "__typename" : "IssueComment",
              "lastEditedAt" : null,
              "createdAt" : "2019-02-22T18:38:01Z"
            },
            {
              "messageHeadline" : "Implemented a simplified markdown parser for notes",
              "__typename" : "Commit",
              "id" : "MDY6Q29tbWl0MTQ1MzIyMTc3OjIyNTkxNTc5NTc3MDgwZmJiNjA3YzdjNmI0MGNmMGVmMWU1YTFmZGI=",
              "author" : {
                "user" : null,
                "__typename" : "GitActor"
              },
              "oid" : "22591579577080fbb607c7c6b40cf0ef1e5a1fdb"
            },
            {
              "author" : {
                "login" : "BasThomas",
                "avatarUrl" : "https://avatars0.githubusercontent.com/u/4190298?v=4",
                "__typename" : "User"
              },
              "editor" : {
                "login" : "BasThomas",
                "__typename" : "User"
              },
              "submittedAt" : "2019-03-08T20:23:29Z",
              "id" : "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3MjEyNDYxNzcz",
              "comments" : {
                "totalCount" : 7,
                "__typename" : "PullRequestReviewCommentConnection"
              },
              "lastEditedAt" : "2019-03-08T20:23:39Z",
              "viewerDidAuthor" : true,
              "createdAt" : "2019-03-08T20:18:29Z",
              "body" : "So cool! Hope to get some time during the weekend to take another look and play with it. Thanks @terhechte!",
              "__typename" : "PullRequestReview",
              "state" : "COMMENTED"
            },
            {
              "messageHeadline" : "Various Changes",
              "__typename" : "Commit",
              "id" : "MDY6Q29tbWl0MTQ1MzIyMTc3OjQ0ZTdhYWNjYjIzNzdjMzE1MGVhYWY4MzI5Y2ZhNTA4ODliMTJlMTM=",
              "author" : {
                "user" : null,
                "__typename" : "GitActor"
              },
              "oid" : "44e7aaccb2377c3150eaaf8329cfa50889b12e13"
            }
          ],
          "__typename" : "PullRequestTimelineConnection"
        },
        "viewerDidAuthor" : true,
        "id" : "MDExOlB1bGxSZXF1ZXN0MjE4OTM0OTIz",
        "number" : 1,
        "reviewRequests" : {
          "nodes" : [

          ],
          "__typename" : "ReviewRequestConnection"
        },
        "reactionGroups" : [
          {
            "__typename" : "ReactionGroup",
            "viewerHasReacted" : false,
            "users" : {
              "nodes" : [

              ],
              "totalCount" : 0,
              "__typename" : "ReactingUserConnection"
            },
            "content" : "THUMBS_UP"
          },
          {
            "__typename" : "ReactionGroup",
            "viewerHasReacted" : false,
            "users" : {
              "nodes" : [

              ],
              "totalCount" : 0,
              "__typename" : "ReactingUserConnection"
            },
            "content" : "THUMBS_DOWN"
          },
          {
            "__typename" : "ReactionGroup",
            "viewerHasReacted" : false,
            "users" : {
              "nodes" : [

              ],
              "totalCount" : 0,
              "__typename" : "ReactingUserConnection"
            },
            "content" : "LAUGH"
          },
          {
            "__typename" : "ReactionGroup",
            "viewerHasReacted" : false,
            "users" : {
              "nodes" : [

              ],
              "totalCount" : 0,
              "__typename" : "ReactingUserConnection"
            },
            "content" : "HOORAY"
          },
          {
            "__typename" : "ReactionGroup",
            "viewerHasReacted" : false,
            "users" : {
              "nodes" : [

              ],
              "totalCount" : 0,
              "__typename" : "ReactingUserConnection"
            },
            "content" : "CONFUSED"
          },
          {
            "__typename" : "ReactionGroup",
            "viewerHasReacted" : false,
            "users" : {
              "nodes" : [

              ],
              "totalCount" : 0,
              "__typename" : "ReactingUserConnection"
            },
            "content" : "HEART"
          },
          {
            "__typename" : "ReactionGroup",
            "viewerHasReacted" : false,
            "users" : {
              "nodes" : [

              ],
              "totalCount" : 0,
              "__typename" : "ReactingUserConnection"
            },
            "content" : "ROCKET"
          },
          {
            "__typename" : "ReactionGroup",
            "viewerHasReacted" : false,
            "users" : {
              "nodes" : [

              ],
              "totalCount" : 0,
              "__typename" : "ReactingUserConnection"
            },
            "content" : "EYES"
          }
        ],
        "additions" : 443,
        "editor" : null,
        "assignees" : {
          "nodes" : [

          ],
          "__typename" : "UserConnection"
        },
        "merged" : false,
        "author" : {
          "login" : "BasThomas",
          "avatarUrl" : "https://avatars0.githubusercontent.com/u/4190298?v=4",
          "__typename" : "User"
        },
        "lastEditedAt" : null
      },
      "hasIssuesEnabled" : true,
      "rebaseMergeAllowed" : true,
      "__typename" : "Repository",
      "name" : "masse"
    }
  }
}
рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдбрдВрдк (рд╕реНрд╡рддрдГ рдЙрддреНрдкрдиреНрди)
 рд╕рдВрд╕реНрдХрд░рдг 1.27.1 (1546622353)
 рдбрд┐рд╡рд╛рдЗрд╕: рдЖрдИрдлреЛрди рдПрдХреНрд╕ (рдЖрдИрдУрдПрд╕ 12.1.4)
 рдЯреЗрд╕реНрдЯрдлреНрд▓рд╛рдЗрдЯ: рд╕рдЪ

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рддреНрд╡рд░рд┐рдд рдЬрд╛рдирдХрд╛рд░реА @wayni208 @BasThomas : рдпрджрд┐ рдЖрдк " https://github.com/Contravariance/masse/pull/1/commits " рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрдорд┐рдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдЙрди рд╕рднреА рдХрд╛рдореЛрдВ рдХреЛ рдЪреАрдиреА рдорд┐рдЯреНрдЯреА рдХреЗ рдмрд░рддрди рдЧрд┐рдЯ ( git commit -m рдЖрджрд┐) рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╡реЗ рд╡рд┐рднрд┐рдиреНрди рдорд╢реАрдиреЛрдВ рдкрд░ рдХрд┐рдП рдЧрдП рдереЗред

рдХреНрдпрд╛ рд╣реБрдЖ рдпрд╣ рд╣реИ рдХрд┐ рдореЗрд░реА рдХрд╛рд░реНрдп рдорд╢реАрди рдкрд░ рдЕрдЬреАрдм рдХрдорд┐рдЯ рдмрдирд╛рдП рдЧрдП рдереЗ рдФрд░ рд╡рд╣рд╛рдВ рдореЗрд░реА рдЧрд┐рдЯ рдкрд╣рдЪрд╛рди рд╣рдорд╛рд░реЗ рдЖрдВрддрд░рд┐рдХ рдЙрджреНрдпрдо рдЬреАрдердм рд╕реЗ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдореЗрд░реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЬреАрдердм рд╕реЗ рдкрд╣рдЪрд╛рди рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреАред рдореБрдЭреЗ рдЬреЛ рднреНрд░рдорд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рддрд░рд╣ рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рддреЛрдбрд╝ рджрд┐рдпрд╛ред рдореИрдВрдиреЗ рдЕрднреА рдЕрдкрдиреА рдХреБрдЫ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА рд╣реИ, рдФрд░ рдЙрди рд╕рднреА рдореЗрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ: рдореЗрд░реА рдХрд╛рд░реНрдп рдорд╢реАрди рдкрд░ рдХрд┐рдП рдЧрдП рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛рдУрдВ рдХреЛ рдЬрд┐рдореНрдореЗрджрд╛рд░ рдирд╣реАрдВ рдард╣рд░рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рдЪрд╛рди рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреА рд╣реИред рдЗрд╕ рдХреЗрд░рдлрдлрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ!

рд╕рднреА 18 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

2527 рдбреБрдкреНрд▓реА?

GitHawk . рдХреЗ рд╕рд╛рде рднреЗрдЬрд╛ рдЧрдпрд╛

рд╣рд╛рдБ рдРрд╕рд╛ рд╕реЛрдЪреЛ! рдПрдХ рдмрд╛рд░ рдореЗрд░реЗ рдкрд╛рд╕ рдХрдВрдкреНрдпреВрдЯрд░ рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдЙрд╕ рдЕрдиреНрдп рдореБрджреНрджреЗ рдкрд░ JSON рдЬреЛрдбрд╝рдиреЗ рджреЗрдВ рдФрд░ рдореИрдВ рдмрд╛рдж рдореЗрдВ рдмрдВрдж рдХрд░ рджреВрдВрдЧрд╛ред

GitHawk . рдХреЗ рд╕рд╛рде рднреЗрдЬрд╛ рдЧрдпрд╛

рдЕрдЧрд░ рдпрд╣ рдареАрдХ рд╣реИ рддреЛ рдореИрдВ рдЗрд╕рдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░реВрдБрдЧрд╛?

GitHawk . рдХреЗ рд╕рд╛рде рднреЗрдЬрд╛ рдЧрдпрд╛

@wayni208 #2527 рджреЗрдЦреЗрдВ, рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рд╣реЛ рд╕рдХрддреА рд╣реИред
рдпрд╣ рдПрдХ рдбреБрдкреНрд▓реА рд╣реИ рдЕрдЧрд░ рд╡рд╣

GitHawk . рдХреЗ рд╕рд╛рде рднреЗрдЬрд╛ рдЧрдпрд╛

рдХреНрдпрд╛ рдЖрдк рд▓реЛрдЧ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдореЗрдВ рдЦреЛрдЬ рдЯреИрдм рдкрд░ рдЦреЛрдЬ рдлрд╝реАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ? рдпрд╣ рд╕рд┐рд░реНрдл рдореЗрд░реЗ рд▓рд┐рдП рдЪрдордХрддрд╛ рд╣реИ рдФрд░ рдХреЛрдИ рдЯреЗрдХреНрд╕реНрдЯ рдЗрдирдкреБрдЯ рдпрд╛ рдкреЗрд╕реНрдЯ рдирд╣реАрдВ рд▓реЗрдЧрд╛ рдпрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдореИрдВ рд╡рд░реНрддрдорд╛рди рдорд╛рд╕реНрдЯрд░ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореИрдВрдиреЗ рдХреБрдЫ рдЕрд▓рдЧ рд╕рд┐рдореБрд▓реЗрдЯрд░ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред рдореБрдЭреЗ рдЕрднреА рддрдХ рдЕрдкрдиреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рд╣реИред

рдЕрдВрддрд░реНрд╡рд┐рд░реЛрдз/рджреНрд░рд╡реНрдпрдорд╛рди#1

GitHawk . рдХреЗ рд╕рд╛рде рднреЗрдЬрд╛ рдЧрдпрд╛

рдореЗрд░реЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рд╣реЛрддрд╛ рд╣реИред рдЖрдИрдкреИрдб рд╕рд┐рдо рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореИрдВ

GitHawk . рдХреЗ рд╕рд╛рде рднреЗрдЬрд╛ рдЧрдпрд╛

рдпрд╣ рдПрдХ рдЕрдЬреАрдм рд╣реИ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЧрд┐рдЯрд╣рдм рдХреЗ рдЕрдВрдд рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред JSON рд▓рд╛рдкрддрд╛ рдХрдорд┐рдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП "рдирд▓" рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдЗрди рджреЛрдиреЛрдВ рдореБрджреНрджреЛрдВ рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИред GitHawk рд╢реВрдиреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ AutoCompleteUser рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЬреЛрдбрд╝ рдирд╣реАрдВ рд╕рдХрддрд╛ рд╣реИ, рд╕рдордпрд░реЗрдЦрд╛ рдореЗрдВ рдХреБрдЫ рднреА рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЧрд┐рдЯрд╣рдм рд╢реВрдиреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рдордпрд░реЗрдЦрд╛ рдореЗрдВ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЕрд╡рддрд╛рд░ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

#2527 . рд╕реЗ

рдЗрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ JSON рд╣реИред
fkling-json

рдЗрд╕ рддрд░рд╣ рдЗрд╕реЗ GitHub рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
fkling-github

#2677 . рд╕реЗ

рдЗрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ JSON рд╣реИред
contravariance-json

рдЗрд╕ рддрд░рд╣ рдЗрд╕реЗ GitHub рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
contravariance-details

рдФрд░ рдереЛрдбрд╝рд╛ рдФрд░ рд╡рд┐рд╡рд░рдгред "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛" рдХреЛ рддрдм рддрдХ рдЦреЛрдЬрд╛ рдпрд╛ рдкрд╣рдЪрд╛рдирд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рдЬрдм рддрдХ рдЖрдк рдЗрд╕ рдХрдорд┐рдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдирд╣реАрдВ рдХрд░рддреЗ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд╣реАрдВ рджреЗрдЦрддреЗред
contravariance-github-details

рддреЛ ... рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реИ рдХрд┐ рдПрдХ рдбрд┐рдмреНрдмрд╛рдмрдВрдж рдЫрд╡рд┐ рдХреИрд╕реЗ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рдП рдЬреИрд╕реЗ рдЧрд┐рдЯрд╣рдм рдХрд░рддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╣рдореЗрдВ рдЙрд╕реА рддрд░рд╣ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдпрддрд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред

рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд▓рдЧрддрд╛ рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╕рднреА рдкреНрд░рддрд┐рдмрджреНрдз рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрд╛ рдЬреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ) рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИред рд╢рд╛рдпрдж рдПрдХ "рдЧреИрд░-рд▓реЗрдЦрдХ рдкреНрд░рддрд┐рдмрджреНрдз" рдмрдирд╛рдо "рд▓реЗрдЦрдХ рдкреНрд░рддрд┐рдмрджреНрдз"?

рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ @BasThomas рдиреЗ рдореБрдЭреЗ рд╕рд╣реА рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдПрдХ рдирдпрд╛ "рдЧреИрд░-рд▓реЗрдЦрдХ рдкреНрд░рддрд┐рдмрджреНрдз" рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рдпрд╛PullRequest.graphql рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд╣реИ

GitHawk . рдХреЗ рд╕рд╛рде рднреЗрдЬрд╛ рдЧрдпрд╛

рд╣рдореНрдо, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ JSON рдХреЛ рдРрд╕реА рд╡рд╕реНрддреБ рдкрд░ рдбреАрдХреЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рд╣реЛрдЧрд╛ред

GitHawk . рдХреЗ рд╕рд╛рде рднреЗрдЬрд╛ рдЧрдпрд╛

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдпрд╛ рджреЛ рд░рд╣рд╕реНрдпреЛрджреНрдШрд╛рдЯрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдзрдиреНрдпрд╡рд╛рджред

GitHawk . рдХреЗ рд╕рд╛рде рднреЗрдЬрд╛ рдЧрдпрд╛

@BasThomas рдЕрднреА рднреА рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рд╡реИрд╕реЗ рднреА рдореИрдВрдиреЗ рдмрд╣реБрдд рдкреНрд░рдЧрддрд┐ рдирд╣реАрдВ рдХреА рд╣реИ, рдлрд┐рд░ рднреА рдореИрдВ рдмрд╣реБрдд рдХреБрдЫ рд╕реАрдЦ рд░рд╣рд╛ рд╣реВрдБред рдмрд╕ рдЙрддреНрд╕реБрдХ, рдЬрдм рдЖрдк рдЕрдкрдиреЗ рдХреЙрдиреНрдЯреНрд░рд╛рд╡реЗрд░рд┐рдПрдВрд╕ рд░реЗрдкреЛ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдереЗ, рддреЛ рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдерд╛? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдХреЛрдб рдХреА рддрд░рд╣, рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЧрд┐рдЯ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдпрд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ рд▓рд╛рдкрддрд╛ рдХрдорд┐рдЯ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛?

рддреЛ, рд╡реИрд╕реЗ рднреА, рд╣рдо рдпрд╣ рднреА рдирд╣реАрдВ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд▓реЙрдЧрд┐рди рдЕрдВрддрддрдГ рдЦрд╛рд▓реА рд╣реИ, рдпрд╛ рд╢реВрдиреНрдп рд╣реИред рдореИрдВ "рдирд╛рдо" рдореЗрдВ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рд╕рд╛рдордЧреНрд░реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЪрд╛рд╣реЗ рдХреБрдЫ рднреА рд╣реЛред рдореИрдВ рдХрд▓ рд░рд╛рдд рд╡рд╣рд╛рдВ рд╕реЗ рдЪрд▓рд╛ рдЧрдпрд╛ рдЬрд╣рд╛рдВ рдореИрдВ рдЗрд╕реЗ (рдирд╛рдо, рдорд┐рд╕реНрдЯрд░ рдмрд╛рд╕ рдмреНрд░реЛрдХ) рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рджреЗрдЦрдиреЗ рдпреЛрдЧреНрдп рдХрдорд┐рдЯ рдкрд░ рджреЗрдЦ рд░рд╣рд╛ рдерд╛ред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЕрдм рдореБрдЭреЗ рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдФрд░ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЫрд╡рд┐ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдЧреИрд░-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рддрд┐рдмрджреНрдз рдореЙрдбрд▓, рд╕реЗрд▓ рдФрд░ рдЕрдиреБрднрд╛рдЧ рдирд┐рдпрдВрддреНрд░рдХ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рд╢рд╛рдпрдж рдореИрдВ рдпрд╣рд╛рдБ рд╕реЗ рджреВрд░ рд╣реВрдБ? рдореИрдВ рджреВрд╕рд░рд╛ рдЦреБрдж рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рдПрдХ рдЕрдЪреНрдЫреЗ рдкрд╣рд▓реЗ рдореБрджреНрджреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрдпреЛрдВ рдлрд╝реНрд▓реИрдЧ рдХрд┐рдпрд╛ рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЖрд╕рд╛рди рд╕рдорд╛рдзрд╛рди рдерд╛ред

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рдЖрдк рдЕрднреА рднреА рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ!

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕ рддрд░рд╣ рдХреЗ рдХрдорд┐рдЯ рд╣реИрдВ - @terhechte рдЕрдзрд┐рдХ рдЬрд╛рдирддрд╛ рд╣реИ

рддреЛ, рд╡реИрд╕реЗ рднреА, рд╣рдо рдпрд╣ рднреА рдирд╣реАрдВ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд▓реЙрдЧрд┐рди рдЕрдВрддрддрдГ рдЦрд╛рд▓реА рд╣реИ, рдпрд╛ рд╢реВрдиреНрдп рд╣реИред рдореИрдВ "рдирд╛рдо" рдореЗрдВ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рд╕рд╛рдордЧреНрд░реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЪрд╛рд╣реЗ рдХреБрдЫ рднреА рд╣реЛред

рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдЧрд┐рди рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдерд╛, NonUser -рдмрд┐рдирд╛ рдирд╛рдо/рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдореЙрдбрд▓? рдмрд╕ рдПрдХ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдЬрд┐рд╕реЗ рдзрдХреНрдХрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛?

рдореИрдВ рджреВрд╕рд░рд╛ рдЦреБрдж рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рдПрдХ рдЕрдЪреНрдЫреЗ рдкрд╣рд▓реЗ рдореБрджреНрджреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрдпреЛрдВ рдлрд╝реНрд▓реИрдЧ рдХрд┐рдпрд╛ рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЖрд╕рд╛рди рд╕рдорд╛рдзрд╛рди рдерд╛ред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд╡рд╣ рдЗрд░рд╛рджрд╛ рдХрднреА рдирд╣реАрдВ рдерд╛! рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдХрд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдХрд╛рдлреА рдЬрд╛рдирдХрд╛рд░реА рдЙрдкрд▓рдмреНрдз рдереАред рдЙрд╕рдиреЗ рдХрд╣рд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕рд╣реА рд░рд╛рд╕реНрддреЗ рдкрд░ рд╣реИрдВ! рдореИрдВрдиреЗ рд▓реЗрдмрд▓ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ

рдпрджрд┐ рдЖрдк рдХреБрдЫ рд╕рд╣рд╛рдпрддрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЕрдкрдиреА рд╡рд░реНрддрдорд╛рди рдкреНрд░рдЧрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ (рдбреНрд░рд╛рдлреНрдЯ) рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ, рдпрд╛ рдпрджрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреБрдЫ рдФрд░ рд▓реЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕реЗ рд╡рд╣реАрдВ рдЫреЛрдбрд╝ рджреЗрдВред :)

рдпреЛрдЧреНрдп

рддреЛ рдореИрдВ рдЬрд┐рди рдХрдорд┐рдЯреНрд╕ рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд╡реЗ "рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рд╡рд░реНрддрди" рд╣реЛрдВрдЧреЗ рдФрд░ рдЬреЛ рдЖрдкрдиреЗ рдХрд┐рдП рдереЗ рдЙрд╕рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗред рдореБрдЭреЗ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓реА рдЬрд┐рд╕рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛" рдлрд╝реАрд▓реНрдб "рд╢реВрдиреНрдп" рд▓реМрдЯрд╛рдПрдЧрд╛ рдпрджрд┐ рдкреНрд░рддрд┐рдмрджреНрдз рдИрдореЗрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ "рдирд╛рдо" рдХреЛ "рдЕрдЬреНрдЮрд╛рдд" рдпрд╛ рдирд╛рдо рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рддреЛ, рдмрд╕ рдЕрдкрдиреА рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рдХрдорд┐рдЯреНрд╕ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛ рд░рд╣реЗ рд╣реИрдВред

рдФрд░ рдЖрдкрдХреЛ рдЯреИрдЧ рдХреЛ рд╣рдЯрд╛рдирд╛ рдирд╣реАрдВ рдерд╛ред рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рд╕реНрдерд┐рддрд┐ рдЕрднреА рднреА рдЙрдкрдпреБрдХреНрдд рд╣реИ! рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЯреИрдЧ рдХреЗ рдкреАрдЫреЗ рдХреЗ рдЕрд░реНрде рдкрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВред

рдореИрдВ рдЖрдЬ рд░рд╛рдд рдЗрд╕рдХреЗ рд╕рд╛рде рдХреБрдЫ рдФрд░ рдЫреЗрдбрд╝рдЫрд╛рдбрд╝ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ, рдлрд┐рд░ рд╕реЗ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЗрд╕ рдкрд░ рдПрдХ рдЕрд╕рдлрд▓ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ рдореЗрдВ рдЕрд╢рдХреНрдд рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдмреЗрд╣рддрд░ рдкрд░рд┐рдгрд╛рдо рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВ рд╕рдВрднрд╡рддрдГ рд╡реИрд╕рд╛ рд╣реА рдХрд░реВрдБрдЧрд╛ рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рд╕рд╛рде рд╣реА рдПрдХ рдорд╕реМрджрд╛ рдкреАрдЖрд░ рднреА рдЬрдорд╛ рдХрд░реВрдБрдЧрд╛ред

рдореИрдВ рдЖрдкрдХреЗ рдзреИрд░реНрдп рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдмрд╛рд╕ред рдореЗрд░реЗ рд▓рд┐рдП рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рд╣реИ рдФрд░ рдореБрдЭреЗ рдордЬрд╛ рдЖ рд░рд╣рд╛ рд╣реИред рдЕрдЧрд░ рдореИрдВ рдХрднреА рдкрд┐рдЯрд╛ рдмрдиреВрдВ рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред рдореИрдВ

GitHawk . рдХреЗ рд╕рд╛рде рднреЗрдЬрд╛ рдЧрдпрд╛

рдмрдврд╝рд┐рдпрд╛, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдпрд╣ рд╕реБрдирдХрд░ рдмрд╣реБрдд рдЦреБрд╢реА рд╣реБрдИ рдХрд┐ рдЖрдк рдЗрд╕рдХрд╛ рдЖрдирдВрдж рд▓реЗ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЪреАрдЬреЗрдВ рд╕реАрдЦ рд░рд╣реЗ рд╣реИрдВред рдФрд░ рдЧрдзреЗ рдореЗрдВ рджрд░реНрдж рдмрдирдиреЗ рдХреА рдЪрд┐рдВрддрд╛ рдордд рдХрд░реЛ ... рддреБрдо рдареАрдХ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рд╣реЛ!

рддреНрд╡рд░рд┐рдд рдЬрд╛рдирдХрд╛рд░реА @wayni208 @BasThomas : рдпрджрд┐ рдЖрдк " https://github.com/Contravariance/masse/pull/1/commits " рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрдорд┐рдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдЙрди рд╕рднреА рдХрд╛рдореЛрдВ рдХреЛ рдЪреАрдиреА рдорд┐рдЯреНрдЯреА рдХреЗ рдмрд░рддрди рдЧрд┐рдЯ ( git commit -m рдЖрджрд┐) рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╡реЗ рд╡рд┐рднрд┐рдиреНрди рдорд╢реАрдиреЛрдВ рдкрд░ рдХрд┐рдП рдЧрдП рдереЗред

рдХреНрдпрд╛ рд╣реБрдЖ рдпрд╣ рд╣реИ рдХрд┐ рдореЗрд░реА рдХрд╛рд░реНрдп рдорд╢реАрди рдкрд░ рдЕрдЬреАрдм рдХрдорд┐рдЯ рдмрдирд╛рдП рдЧрдП рдереЗ рдФрд░ рд╡рд╣рд╛рдВ рдореЗрд░реА рдЧрд┐рдЯ рдкрд╣рдЪрд╛рди рд╣рдорд╛рд░реЗ рдЖрдВрддрд░рд┐рдХ рдЙрджреНрдпрдо рдЬреАрдердм рд╕реЗ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдореЗрд░реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЬреАрдердм рд╕реЗ рдкрд╣рдЪрд╛рди рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреАред рдореБрдЭреЗ рдЬреЛ рднреНрд░рдорд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рддрд░рд╣ рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рддреЛрдбрд╝ рджрд┐рдпрд╛ред рдореИрдВрдиреЗ рдЕрднреА рдЕрдкрдиреА рдХреБрдЫ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА рд╣реИ, рдФрд░ рдЙрди рд╕рднреА рдореЗрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ: рдореЗрд░реА рдХрд╛рд░реНрдп рдорд╢реАрди рдкрд░ рдХрд┐рдП рдЧрдП рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛рдУрдВ рдХреЛ рдЬрд┐рдореНрдореЗрджрд╛рд░ рдирд╣реАрдВ рдард╣рд░рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рдЪрд╛рди рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреА рд╣реИред рдЗрд╕ рдХреЗрд░рдлрдлрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ!

рдзрдиреНрдпрд╡рд╛рдж @BasThomas рдФрд░ @terhechteред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕ рдкрд░ рд╡рд╛рдкрд╕ рдЖ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдХреБрдЫ рджреЗрдЦрдиреЗ рдХреЛ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕