そして、 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) デバイス:iPhone X(iOS 12.1.4) TestFlight:true
GitHawkで送信
うん、そう思う! コンピューターにアクセスできるようになったら、JSONを他の問題に追加します。後で閉じます。
GitHawkで送信
よろしければこれを掘り下げますか?
GitHawkで送信
@ wayni208 #2527を見てください、他の情報がある
それならこれはだまされます
GitHawkで送信
シミュレーターの検索タブの検索フィールドを使用できますか? 点滅するだけで、テキストの入力や貼り付けを受け付けたり受け入れたりすることはありません。 私は現在のマスターで実行していて、いくつかの異なるシミュレーターを試しました。 私はまだ自分のデバイスを試していない。
共変性/反変性#1
GitHawkで送信
同じことが私にも起こります。 iPadsimで動作します。 👌
GitHawkで送信
これは奇妙なことであり、GitHub側の問題だと思います。 JSONは、欠落しているコミットのユーザーフィールドに「null」を表示します。 これは、これらの問題の両方で発生します。 GitHawkはnullを取得し、AutoCompleteUserから取得した情報を追加できず、タイムラインに何も表示されません。 GitHubはnullを取得し、タイムラインでデフォルトのアバター画像を使用します。
#2527から
これは、この特定のコミットのJSONです。
これがGitHubでの表示方法です。
#2677から
これは、この特定のコミットのJSONです。
これがGitHubでの表示方法です。
そしてもう少し詳細。 このコミットをクリックしてファイルを表示するまで、「ユーザー」は見つかりません。
だから...私は、ユーザーが見つからないときにGitHubのような缶詰の画像を提供する方法を理解することが最善の選択肢だと思います。 これにより、同じ方法でコミットを可視化できます。
それは良いアプローチのようです。 すべてのコミットオブジェクト(またはコミットを表示するオブジェクト)にオプションのユーザーを含める必要があるかどうかはわかりません。 たぶん「非作成者のコミット」と「作成者のコミット」の違いは?
@BasThomasは私が間違っている場合は修正しますが、新しい「非作成者コミット」オブジェクトを作成するには、 IssueOrPullRequest.graphqlを変更する必要がありますか?
GitHawkで送信
うーん、よくわかりません。 ただし、JSONをそのようなオブジェクトにデコードできる必要があります。
GitHawkで送信
おかげで、私は啓示を1つか2つ持っていたかもしれないと思います。
GitHawkで送信
@BasThomasはまだこれに取り組んでいます。 とにかく、あまり進歩していませんが、私はたくさんのことを学んでいます。 😉ちょうど好奇心が強いのですが、共変性のリポジトリで作業していたときに、コミットを行うために2つの別々のメソッドを使用しましたか? たとえば、一部のXcodeのように、他のgitコマンドラインはどうでしょうか。 もしそうなら、あなたはあなたが行方不明のコミットに使用したものを思い出すことができますか?
したがって、とにかく、ログインが最終的に空白またはnullであるため、これがコミットであることに気付くことさえありません。 少なくとも、何があってもコンテンツが含まれているはずなので、「名前」を渡そうとしています。 私は昨夜、表示可能なコミットでこれ(名前、Bas Broek氏)をうまく見ることができたところで中断しました。 これを正しくデフォルトの画像で表示するには、新しいNonUserコミットモデル、セル、およびセクションコントローラーを作成する必要があると思います。 多分私はここから離れているのですか? 私が提案しているものよりも簡単な修正であるかのように、なぜこれを良い最初の問題としてフラグを立てたのか疑問に思うので、私は次に自分自身を推測します。
あなたはまだこれを調べている素晴らしいです!
それらが正確にどのような種類のコミットであるかはわかりません— @ terhechteはもっと知っています😉
したがって、とにかく、ログインが最終的に空白またはnullであるため、これがコミットであることに気付くことさえありません。 少なくとも、何があってもコンテンツが含まれているはずなので、「名前」を渡そうとしています。
あなたが提案したように、名前/ユーザーのないNonUser
-commitモデルとして数えることはできませんか? プッシュされたコミットだけですか?
私が提案しているものよりも簡単な修正であるかのように、なぜこれを良い最初の問題としてフラグを立てたのか疑問に思うので、私は次に自分自身を推測します。
申し訳ありませんが、それは意図されていませんでした! かなりの情報が入手可能だったので、これは拾うべき仕事かもしれないと感じました。 そうは言っても、あなたは正しい道を進んでいると思います! ラベルを削除しました😃
ヘルプが必要な場合は、現在の進捗状況を示す(ドラフト)プルリクエストを自由に開いてください。何か他のものを手に入れたいと思う場合は、そのままにしておいてください。 :)
笑🙂
したがって、私が言及しているコミットは、「さまざまな変更」と、その直前のコミットです。 電子メールを設定せずにコミットした場合、「ユーザー」フィールドは「null」を返し、「名前」は「不明」または名前を返す必要があるという情報を見つけました。 ですから、単に私の好奇心を満たすために、あなたが複数の方法でコミットをプッシュしているのではないかと思っていました。
また、タグを削除する必要はありませんでした。 初心者のステータスはまだ適切です! 😂しかし、私はあなたの観点からタグの背後にある意味の明確化に感謝します。
今夜はもう少しいじって、あなたが提案したようにもう一度やり直します。 以前は失敗しましたが、GraphQLでnull型を調べていて、より良い結果が得られることを望んでいます。 あなたが申し出たように私はおそらくそうし、ドラフトPRも提出します。
ご理解のほどよろしくお願いいたします。 学ぶことはたくさんあり、楽しんでいます。 私がPITAになったことがあれば、私に知らせてください。 🙂
GitHawkで送信
素晴らしい、フィードバックをありがとう! あなたがそれを楽しんで、物事を学んでいると聞いてとても幸せです。 そして、お尻の痛みになることを心配しないでください...あなたは大丈夫です!
クイック情報@ wayni208 @BasThomas :「 https://github.com/Contravariance/masse/pull/1/commits 」を見ると、私が行ったコミットには2つの異なるタイプがあることがわかります。 これらのコミットはすべて、porcelain git( git commit -m
など)を使用して行われました。 ただし、それらは異なるマシンで実行されました。
何が起こったのかというと、奇妙なコミットが私の仕事用マシンで作成され、そこで私のgit IDは社内のエンタープライズgithubからのものであるため、パブリックgithubからのIDと一致しませんでした。 私を混乱させているのは、これが以前は適切に機能していたことですが、どういうわけか私はこれを壊したようです。 他のいくつかのプロジェクトを確認したところ、すべて同じ問題があります。IDが一致しないため、作業マシンで行われたコミットを特定できません。 このカーファッフルについて申し訳ありません!
@BasThomasと@terhechteに感謝します。 うまくいけば、私はこれに戻って、あなたが今週末に見るために何かを得ることができます。
最も参考になるコメント
クイック情報@ wayni208 @BasThomas :「 https://github.com/Contravariance/masse/pull/1/commits 」を見ると、私が行ったコミットには2つの異なるタイプがあることがわかります。 これらのコミットはすべて、porcelain git(
git commit -m
など)を使用して行われました。 ただし、それらは異なるマシンで実行されました。何が起こったのかというと、奇妙なコミットが私の仕事用マシンで作成され、そこで私のgit IDは社内のエンタープライズgithubからのものであるため、パブリックgithubからのIDと一致しませんでした。 私を混乱させているのは、これが以前は適切に機能していたことですが、どういうわけか私はこれを壊したようです。 他のいくつかのプロジェクトを確認したところ、すべて同じ問題があります。IDが一致しないため、作業マシンで行われたコミットを特定できません。 このカーファッフルについて申し訳ありません!