view tests/phabricator/phabsend-fold-initial.json @ 44717:3dc6a70779f2

phabricator: add an option to fold several commits into one review (issue6244) Now that all of the pieces are in place, alter the user facing command to allow it. This is the default behavior when using `arc`, but I much prefer the 1:1 approach, and I'm tempted to mark this advanced to limit its abuse. I started out calling this `--no-stack` like the feature request suggested, but I found it less obvious (especially when writing the code), so I went with the `hg fold` analogue. This will populate the `Commits` tab in the web UI with the hash of each commit folded into the review. From experimentation, it seems to list them in the order they are received from the extension instead of the actual parent/child relationship. The extension sends them in sorted order, thanks to `templatefilters.json()`. Since there's enough info there for them to put things in the right order, JSON is unordered aside from lists (IIUC), and there doesn't seem to be any harmful side effects, I guess we write this off as their bug. It is simple enough to workaround by putting a check for `util.sortdict` into `templatefilters.json()`, and don't resort in that case. There are a handful of restrictions that are documented in the code, which somebody could probably fix if they're interested. Notably, this requires the (default) `--amend` option, because there's not an easy way to apply a local tag across several commits. This also doesn't do preflight checking to ensure that all previous commits that were part of a single review are selected when updating. That seems expensive. What happens is the excluded commit is dropped from the review, but it keeps the Differential Revision line in the commit message. Not everything can be edited, so it doesn't seem worth making the code even more complicated to handle this edge case. There are a couple of "obsolete feature not enabled but X markers found!" messages that appeared on Windows but not macOS. I have no idea what's going on here, but that's an unrelated issue, so I conditionalized those lines. Differential Revision: https://phab.mercurial-scm.org/D8314
author Matt Harbison <matt_harbison@yahoo.com>
date Wed, 08 Apr 2020 17:30:10 -0400
parents
children
line wrap: on
line source

{
    "interactions": [
        {
            "request": {
                "headers": {
                    "content-length": [
                        "183"
                    ], 
                    "accept": [
                        "application/mercurial-0.1"
                    ], 
                    "content-type": [
                        "application/x-www-form-urlencoded"
                    ], 
                    "host": [
                        "phab.mercurial-scm.org"
                    ], 
                    "user-agent": [
                        "mercurial/proto-1.0 (Mercurial 5.3.2+463-d35fbae9dd33+20200408)"
                    ]
                }, 
                "body": "__conduit__=1&params=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22constraints%22%3A+%7B%22callsigns%22%3A+%5B%22HG%22%5D%7D%7D&output=json", 
                "uri": "https://phab.mercurial-scm.org//api/diffusion.repository.search", 
                "method": "POST"
            }, 
            "response": {
                "headers": {
                    "x-xss-protection": [
                        "1; mode=block"
                    ], 
                    "strict-transport-security": [
                        "max-age=0; includeSubdomains; preload"
                    ], 
                    "transfer-encoding": [
                        "chunked"
                    ], 
                    "x-frame-options": [
                        "Deny"
                    ], 
                    "expires": [
                        "Sat, 01 Jan 2000 00:00:00 GMT"
                    ], 
                    "content-type": [
                        "application/json"
                    ], 
                    "referrer-policy": [
                        "no-referrer"
                    ], 
                    "server": [
                        "Apache/2.4.10 (Debian)"
                    ], 
                    "cache-control": [
                        "no-store"
                    ], 
                    "x-content-type-options": [
                        "nosniff"
                    ], 
                    "date": [
                        "Wed, 08 Apr 2020 21:12:54 GMT"
                    ]
                }, 
                "body": {
                    "string": "{\"result\":{\"data\":[{\"id\":2,\"type\":\"REPO\",\"phid\":\"PHID-REPO-bvunnehri4u2isyr7bc3\",\"fields\":{\"name\":\"Mercurial\",\"vcs\":\"hg\",\"callsign\":\"HG\",\"shortName\":null,\"status\":\"active\",\"isImporting\":false,\"almanacServicePHID\":null,\"refRules\":{\"fetchRules\":[],\"trackRules\":[],\"permanentRefRules\":[]},\"spacePHID\":null,\"dateCreated\":1498761653,\"dateModified\":1500403184,\"policy\":{\"view\":\"public\",\"edit\":\"admin\",\"diffusion.push\":\"users\"}},\"attachments\":{}}],\"maps\":{},\"query\":{\"queryKey\":null},\"cursor\":{\"limit\":100,\"after\":null,\"before\":null,\"order\":null}},\"error_code\":null,\"error_info\":null}"
                }, 
                "status": {
                    "code": 200, 
                    "message": "OK"
                }
            }
        }, 
        {
            "request": {
                "headers": {
                    "content-length": [
                        "1160"
                    ], 
                    "accept": [
                        "application/mercurial-0.1"
                    ], 
                    "content-type": [
                        "application/x-www-form-urlencoded"
                    ], 
                    "host": [
                        "phab.mercurial-scm.org"
                    ], 
                    "user-agent": [
                        "mercurial/proto-1.0 (Mercurial 5.3.2+463-d35fbae9dd33+20200408)"
                    ]
                }, 
                "body": "__conduit__=1&params=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22bookmark%22%3A+null%2C+%22branch%22%3A+%22default%22%2C+%22changes%22%3A+%7B%22file.txt%22%3A+%7B%22addLines%22%3A+1%2C+%22awayPaths%22%3A+%5B%5D%2C+%22commitHash%22%3A+null%2C+%22currentPath%22%3A+%22file.txt%22%2C+%22delLines%22%3A+1%2C+%22fileType%22%3A+1%2C+%22hunks%22%3A+%5B%7B%22addLines%22%3A+1%2C+%22corpus%22%3A+%22-added%5Cn%2Bmod3%5Cn%22%2C+%22delLines%22%3A+1%2C+%22newLength%22%3A+1%2C+%22newOffset%22%3A+1%2C+%22oldLength%22%3A+1%2C+%22oldOffset%22%3A+1%7D%5D%2C+%22metadata%22%3A+%7B%7D%2C+%22newProperties%22%3A+%7B%7D%2C+%22oldPath%22%3A+%22file.txt%22%2C+%22oldProperties%22%3A+%7B%7D%2C+%22type%22%3A+2%7D%7D%2C+%22creationMethod%22%3A+%22phabsend%22%2C+%22lintStatus%22%3A+%22none%22%2C+%22repositoryPHID%22%3A+%22PHID-REPO-bvunnehri4u2isyr7bc3%22%2C+%22sourceControlBaseRevision%22%3A+%2298d480e0d494906d9758c44c622951b429afd862%22%2C+%22sourceControlPath%22%3A+%22%2F%22%2C+%22sourceControlSystem%22%3A+%22hg%22%2C+%22sourceMachine%22%3A+%22%22%2C+%22sourcePath%22%3A+%22%2F%22%2C+%22unitStatus%22%3A+%22none%22%7D&output=json", 
                "uri": "https://phab.mercurial-scm.org//api/differential.creatediff", 
                "method": "POST"
            }, 
            "response": {
                "headers": {
                    "x-xss-protection": [
                        "1; mode=block"
                    ], 
                    "strict-transport-security": [
                        "max-age=0; includeSubdomains; preload"
                    ], 
                    "transfer-encoding": [
                        "chunked"
                    ], 
                    "x-frame-options": [
                        "Deny"
                    ], 
                    "expires": [
                        "Sat, 01 Jan 2000 00:00:00 GMT"
                    ], 
                    "content-type": [
                        "application/json"
                    ], 
                    "referrer-policy": [
                        "no-referrer"
                    ], 
                    "server": [
                        "Apache/2.4.10 (Debian)"
                    ], 
                    "cache-control": [
                        "no-store"
                    ], 
                    "x-content-type-options": [
                        "nosniff"
                    ], 
                    "date": [
                        "Wed, 08 Apr 2020 21:12:55 GMT"
                    ]
                }, 
                "body": {
                    "string": "{\"result\":{\"diffid\":21006,\"phid\":\"PHID-DIFF-j6mteixl347wzuphwdft\",\"uri\":\"https:\\/\\/phab.mercurial-scm.org\\/differential\\/diff\\/21006\\/\"},\"error_code\":null,\"error_info\":null}"
                }, 
                "status": {
                    "code": 200, 
                    "message": "OK"
                }
            }
        }, 
        {
            "request": {
                "headers": {
                    "content-length": [
                        "482"
                    ], 
                    "accept": [
                        "application/mercurial-0.1"
                    ], 
                    "content-type": [
                        "application/x-www-form-urlencoded"
                    ], 
                    "host": [
                        "phab.mercurial-scm.org"
                    ], 
                    "user-agent": [
                        "mercurial/proto-1.0 (Mercurial 5.3.2+463-d35fbae9dd33+20200408)"
                    ]
                }, 
                "body": "__conduit__=1&params=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22data%22%3A+%22%7B%5C%22branch%5C%22%3A+%5C%22default%5C%22%2C+%5C%22date%5C%22%3A+%5C%220+0%5C%22%2C+%5C%22node%5C%22%3A+%5C%22d235829e802c98c0171dac4a265b4b9bad07093a%5C%22%2C+%5C%22parent%5C%22%3A+%5C%2298d480e0d494906d9758c44c622951b429afd862%5C%22%2C+%5C%22user%5C%22%3A+%5C%22test%5C%22%7D%22%2C+%22diff_id%22%3A+21006%2C+%22name%22%3A+%22hg%3Ameta%22%7D&output=json", 
                "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", 
                "method": "POST"
            }, 
            "response": {
                "headers": {
                    "x-xss-protection": [
                        "1; mode=block"
                    ], 
                    "strict-transport-security": [
                        "max-age=0; includeSubdomains; preload"
                    ], 
                    "transfer-encoding": [
                        "chunked"
                    ], 
                    "x-frame-options": [
                        "Deny"
                    ], 
                    "expires": [
                        "Sat, 01 Jan 2000 00:00:00 GMT"
                    ], 
                    "content-type": [
                        "application/json"
                    ], 
                    "referrer-policy": [
                        "no-referrer"
                    ], 
                    "server": [
                        "Apache/2.4.10 (Debian)"
                    ], 
                    "cache-control": [
                        "no-store"
                    ], 
                    "x-content-type-options": [
                        "nosniff"
                    ], 
                    "date": [
                        "Wed, 08 Apr 2020 21:12:55 GMT"
                    ]
                }, 
                "body": {
                    "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}"
                }, 
                "status": {
                    "code": 200, 
                    "message": "OK"
                }
            }
        }, 
        {
            "request": {
                "headers": {
                    "content-length": [
                        "1362"
                    ], 
                    "accept": [
                        "application/mercurial-0.1"
                    ], 
                    "content-type": [
                        "application/x-www-form-urlencoded"
                    ], 
                    "host": [
                        "phab.mercurial-scm.org"
                    ], 
                    "user-agent": [
                        "mercurial/proto-1.0 (Mercurial 5.3.2+463-d35fbae9dd33+20200408)"
                    ]
                }, 
                "body": "__conduit__=1&params=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22data%22%3A+%22%7B%5C%2224a4438154bad90603d53a4dd31d8daff7844b36%5C%22%3A+%7B%5C%22author%5C%22%3A+%5C%22test%5C%22%2C+%5C%22authorEmail%5C%22%3A+%5C%22test%5C%22%2C+%5C%22branch%5C%22%3A+%5C%22default%5C%22%2C+%5C%22commit%5C%22%3A+%5C%2224a4438154bad90603d53a4dd31d8daff7844b36%5C%22%2C+%5C%22parents%5C%22%3A+%5B%5C%22a959a3f69d8d498d96102cda0bc03ed89706891e%5C%22%5D%2C+%5C%22time%5C%22%3A+0%7D%2C+%5C%22a959a3f69d8d498d96102cda0bc03ed89706891e%5C%22%3A+%7B%5C%22author%5C%22%3A+%5C%22test%5C%22%2C+%5C%22authorEmail%5C%22%3A+%5C%22test%5C%22%2C+%5C%22branch%5C%22%3A+%5C%22default%5C%22%2C+%5C%22commit%5C%22%3A+%5C%22a959a3f69d8d498d96102cda0bc03ed89706891e%5C%22%2C+%5C%22parents%5C%22%3A+%5B%5C%2298d480e0d494906d9758c44c622951b429afd862%5C%22%5D%2C+%5C%22time%5C%22%3A+0%7D%2C+%5C%22d235829e802c98c0171dac4a265b4b9bad07093a%5C%22%3A+%7B%5C%22author%5C%22%3A+%5C%22test%5C%22%2C+%5C%22authorEmail%5C%22%3A+%5C%22test%5C%22%2C+%5C%22branch%5C%22%3A+%5C%22default%5C%22%2C+%5C%22commit%5C%22%3A+%5C%22d235829e802c98c0171dac4a265b4b9bad07093a%5C%22%2C+%5C%22parents%5C%22%3A+%5B%5C%2224a4438154bad90603d53a4dd31d8daff7844b36%5C%22%5D%2C+%5C%22time%5C%22%3A+0%7D%7D%22%2C+%22diff_id%22%3A+21006%2C+%22name%22%3A+%22local%3Acommits%22%7D&output=json", 
                "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", 
                "method": "POST"
            }, 
            "response": {
                "headers": {
                    "x-xss-protection": [
                        "1; mode=block"
                    ], 
                    "strict-transport-security": [
                        "max-age=0; includeSubdomains; preload"
                    ], 
                    "transfer-encoding": [
                        "chunked"
                    ], 
                    "x-frame-options": [
                        "Deny"
                    ], 
                    "expires": [
                        "Sat, 01 Jan 2000 00:00:00 GMT"
                    ], 
                    "content-type": [
                        "application/json"
                    ], 
                    "referrer-policy": [
                        "no-referrer"
                    ], 
                    "server": [
                        "Apache/2.4.10 (Debian)"
                    ], 
                    "cache-control": [
                        "no-store"
                    ], 
                    "x-content-type-options": [
                        "nosniff"
                    ], 
                    "date": [
                        "Wed, 08 Apr 2020 21:12:55 GMT"
                    ]
                }, 
                "body": {
                    "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}"
                }, 
                "status": {
                    "code": 200, 
                    "message": "OK"
                }
            }
        }, 
        {
            "request": {
                "headers": {
                    "content-length": [
                        "287"
                    ], 
                    "accept": [
                        "application/mercurial-0.1"
                    ], 
                    "content-type": [
                        "application/x-www-form-urlencoded"
                    ], 
                    "host": [
                        "phab.mercurial-scm.org"
                    ], 
                    "user-agent": [
                        "mercurial/proto-1.0 (Mercurial 5.3.2+463-d35fbae9dd33+20200408)"
                    ]
                }, 
                "body": "__conduit__=1&params=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22corpus%22%3A+%22one%3A+first+commit+to+review%5Cn%5CnThis+file+was+modified+with+%27mod1%27+as+its+contents.%5Cn%5CnTest+Plan%3A%5CnLOL%21++What+testing%3F%21%22%7D&output=json", 
                "uri": "https://phab.mercurial-scm.org//api/differential.parsecommitmessage", 
                "method": "POST"
            }, 
            "response": {
                "headers": {
                    "x-xss-protection": [
                        "1; mode=block"
                    ], 
                    "strict-transport-security": [
                        "max-age=0; includeSubdomains; preload"
                    ], 
                    "transfer-encoding": [
                        "chunked"
                    ], 
                    "x-frame-options": [
                        "Deny"
                    ], 
                    "expires": [
                        "Sat, 01 Jan 2000 00:00:00 GMT"
                    ], 
                    "content-type": [
                        "application/json"
                    ], 
                    "referrer-policy": [
                        "no-referrer"
                    ], 
                    "server": [
                        "Apache/2.4.10 (Debian)"
                    ], 
                    "cache-control": [
                        "no-store"
                    ], 
                    "x-content-type-options": [
                        "nosniff"
                    ], 
                    "date": [
                        "Wed, 08 Apr 2020 21:12:56 GMT"
                    ]
                }, 
                "body": {
                    "string": "{\"result\":{\"errors\":[],\"fields\":{\"title\":\"one: first commit to review\",\"testPlan\":\"LOL!  What testing?!\",\"summary\":\"This file was modified with 'mod1' as its contents.\"},\"revisionIDFieldInfo\":{\"value\":null,\"validDomain\":\"https:\\/\\/phab.mercurial-scm.org\"},\"transactions\":[{\"type\":\"title\",\"value\":\"one: first commit to review\"},{\"type\":\"testPlan\",\"value\":\"LOL!  What testing?!\"},{\"type\":\"summary\",\"value\":\"This file was modified with 'mod1' as its contents.\"}]},\"error_code\":null,\"error_info\":null}"
                }, 
                "status": {
                    "code": 200, 
                    "message": "OK"
                }
            }
        }, 
        {
            "request": {
                "headers": {
                    "content-length": [
                        "284"
                    ], 
                    "accept": [
                        "application/mercurial-0.1"
                    ], 
                    "content-type": [
                        "application/x-www-form-urlencoded"
                    ], 
                    "host": [
                        "phab.mercurial-scm.org"
                    ], 
                    "user-agent": [
                        "mercurial/proto-1.0 (Mercurial 5.3.2+463-d35fbae9dd33+20200408)"
                    ]
                }, 
                "body": "__conduit__=1&params=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22corpus%22%3A+%22two%3A+second+commit+to+review%5Cn%5CnThis+file+was+modified+with+%27mod2%27+as+its+contents.%5Cn%5CnTest+Plan%3A%5CnHaha%21+yeah%2C+right.%22%7D&output=json", 
                "uri": "https://phab.mercurial-scm.org//api/differential.parsecommitmessage", 
                "method": "POST"
            }, 
            "response": {
                "headers": {
                    "x-xss-protection": [
                        "1; mode=block"
                    ], 
                    "strict-transport-security": [
                        "max-age=0; includeSubdomains; preload"
                    ], 
                    "transfer-encoding": [
                        "chunked"
                    ], 
                    "x-frame-options": [
                        "Deny"
                    ], 
                    "expires": [
                        "Sat, 01 Jan 2000 00:00:00 GMT"
                    ], 
                    "content-type": [
                        "application/json"
                    ], 
                    "referrer-policy": [
                        "no-referrer"
                    ], 
                    "server": [
                        "Apache/2.4.10 (Debian)"
                    ], 
                    "cache-control": [
                        "no-store"
                    ], 
                    "x-content-type-options": [
                        "nosniff"
                    ], 
                    "date": [
                        "Wed, 08 Apr 2020 21:12:56 GMT"
                    ]
                }, 
                "body": {
                    "string": "{\"result\":{\"errors\":[],\"fields\":{\"title\":\"two: second commit to review\",\"testPlan\":\"Haha! yeah, right.\",\"summary\":\"This file was modified with 'mod2' as its contents.\"},\"revisionIDFieldInfo\":{\"value\":null,\"validDomain\":\"https:\\/\\/phab.mercurial-scm.org\"},\"transactions\":[{\"type\":\"title\",\"value\":\"two: second commit to review\"},{\"type\":\"testPlan\",\"value\":\"Haha! yeah, right.\"},{\"type\":\"summary\",\"value\":\"This file was modified with 'mod2' as its contents.\"}]},\"error_code\":null,\"error_info\":null}"
                }, 
                "status": {
                    "code": 200, 
                    "message": "OK"
                }
            }
        }, 
        {
            "request": {
                "headers": {
                    "content-length": [
                        "183"
                    ], 
                    "accept": [
                        "application/mercurial-0.1"
                    ], 
                    "content-type": [
                        "application/x-www-form-urlencoded"
                    ], 
                    "host": [
                        "phab.mercurial-scm.org"
                    ], 
                    "user-agent": [
                        "mercurial/proto-1.0 (Mercurial 5.3.2+463-d35fbae9dd33+20200408)"
                    ]
                }, 
                "body": "__conduit__=1&params=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22corpus%22%3A+%223%3A+a+commit+with+no+detailed+message%22%7D&output=json", 
                "uri": "https://phab.mercurial-scm.org//api/differential.parsecommitmessage", 
                "method": "POST"
            }, 
            "response": {
                "headers": {
                    "x-xss-protection": [
                        "1; mode=block"
                    ], 
                    "strict-transport-security": [
                        "max-age=0; includeSubdomains; preload"
                    ], 
                    "transfer-encoding": [
                        "chunked"
                    ], 
                    "x-frame-options": [
                        "Deny"
                    ], 
                    "expires": [
                        "Sat, 01 Jan 2000 00:00:00 GMT"
                    ], 
                    "content-type": [
                        "application/json"
                    ], 
                    "referrer-policy": [
                        "no-referrer"
                    ], 
                    "server": [
                        "Apache/2.4.10 (Debian)"
                    ], 
                    "cache-control": [
                        "no-store"
                    ], 
                    "x-content-type-options": [
                        "nosniff"
                    ], 
                    "date": [
                        "Wed, 08 Apr 2020 21:12:57 GMT"
                    ]
                }, 
                "body": {
                    "string": "{\"result\":{\"errors\":[],\"fields\":{\"title\":\"3: a commit with no detailed message\"},\"revisionIDFieldInfo\":{\"value\":null,\"validDomain\":\"https:\\/\\/phab.mercurial-scm.org\"},\"transactions\":[{\"type\":\"title\",\"value\":\"3: a commit with no detailed message\"}]},\"error_code\":null,\"error_info\":null}"
                }, 
                "status": {
                    "code": 200, 
                    "message": "OK"
                }
            }
        }, 
        {
            "request": {
                "headers": {
                    "content-length": [
                        "710"
                    ], 
                    "accept": [
                        "application/mercurial-0.1"
                    ], 
                    "content-type": [
                        "application/x-www-form-urlencoded"
                    ], 
                    "host": [
                        "phab.mercurial-scm.org"
                    ], 
                    "user-agent": [
                        "mercurial/proto-1.0 (Mercurial 5.3.2+463-d35fbae9dd33+20200408)"
                    ]
                }, 
                "body": "__conduit__=1&params=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22transactions%22%3A+%5B%7B%22type%22%3A+%22update%22%2C+%22value%22%3A+%22PHID-DIFF-j6mteixl347wzuphwdft%22%7D%2C+%7B%22type%22%3A+%22title%22%2C+%22value%22%3A+%22one%3A+first+commit+to+review%22%7D%2C+%7B%22type%22%3A+%22testPlan%22%2C+%22value%22%3A+%22LOL%21++What+testing%3F%21%5Cn%5CnHaha%21+yeah%2C+right.%22%7D%2C+%7B%22type%22%3A+%22summary%22%2C+%22value%22%3A+%22This+file+was+modified+with+%27mod1%27+as+its+contents.%5Cn%5Cntwo%3A+second+commit+to+review%5Cn%5CnThis+file+was+modified+with+%27mod2%27+as+its+contents.%5Cn%5Cn3%3A+a+commit+with+no+detailed+message%22%7D%5D%7D&output=json", 
                "uri": "https://phab.mercurial-scm.org//api/differential.revision.edit", 
                "method": "POST"
            }, 
            "response": {
                "headers": {
                    "x-xss-protection": [
                        "1; mode=block"
                    ], 
                    "strict-transport-security": [
                        "max-age=0; includeSubdomains; preload"
                    ], 
                    "transfer-encoding": [
                        "chunked"
                    ], 
                    "x-frame-options": [
                        "Deny"
                    ], 
                    "expires": [
                        "Sat, 01 Jan 2000 00:00:00 GMT"
                    ], 
                    "content-type": [
                        "application/json"
                    ], 
                    "referrer-policy": [
                        "no-referrer"
                    ], 
                    "server": [
                        "Apache/2.4.10 (Debian)"
                    ], 
                    "cache-control": [
                        "no-store"
                    ], 
                    "x-content-type-options": [
                        "nosniff"
                    ], 
                    "date": [
                        "Wed, 08 Apr 2020 21:12:57 GMT"
                    ]
                }, 
                "body": {
                    "string": "{\"result\":{\"object\":{\"id\":8387,\"phid\":\"PHID-DREV-6ov3pvjim4txejzekw2t\"},\"transactions\":[{\"phid\":\"PHID-XACT-DREV-ypn7okwtaudnadw\"},{\"phid\":\"PHID-XACT-DREV-g2r45z4erxl56g4\"},{\"phid\":\"PHID-XACT-DREV-h6dgu3eetalcv72\"},{\"phid\":\"PHID-XACT-DREV-rl7yelqfeezlivr\"},{\"phid\":\"PHID-XACT-DREV-j7cpnfpbxxphsbp\"},{\"phid\":\"PHID-XACT-DREV-57vpcydiiiu4zu5\"},{\"phid\":\"PHID-XACT-DREV-dou37gk5rry34zv\"}]},\"error_code\":null,\"error_info\":null}"
                }, 
                "status": {
                    "code": 200, 
                    "message": "OK"
                }
            }
        }, 
        {
            "request": {
                "headers": {
                    "content-length": [
                        "146"
                    ], 
                    "accept": [
                        "application/mercurial-0.1"
                    ], 
                    "content-type": [
                        "application/x-www-form-urlencoded"
                    ], 
                    "host": [
                        "phab.mercurial-scm.org"
                    ], 
                    "user-agent": [
                        "mercurial/proto-1.0 (Mercurial 5.3.2+463-d35fbae9dd33+20200408)"
                    ]
                }, 
                "body": "__conduit__=1&params=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22ids%22%3A+%5B8387%5D%7D&output=json", 
                "uri": "https://phab.mercurial-scm.org//api/differential.query", 
                "method": "POST"
            }, 
            "response": {
                "headers": {
                    "x-xss-protection": [
                        "1; mode=block"
                    ], 
                    "strict-transport-security": [
                        "max-age=0; includeSubdomains; preload"
                    ], 
                    "transfer-encoding": [
                        "chunked"
                    ], 
                    "x-frame-options": [
                        "Deny"
                    ], 
                    "expires": [
                        "Sat, 01 Jan 2000 00:00:00 GMT"
                    ], 
                    "content-type": [
                        "application/json"
                    ], 
                    "referrer-policy": [
                        "no-referrer"
                    ], 
                    "server": [
                        "Apache/2.4.10 (Debian)"
                    ], 
                    "cache-control": [
                        "no-store"
                    ], 
                    "x-content-type-options": [
                        "nosniff"
                    ], 
                    "date": [
                        "Wed, 08 Apr 2020 21:12:58 GMT"
                    ]
                }, 
                "body": {
                    "string": "{\"result\":[{\"id\":\"8387\",\"phid\":\"PHID-DREV-6ov3pvjim4txejzekw2t\",\"title\":\"one: first commit to review\",\"uri\":\"https:\\/\\/phab.mercurial-scm.org\\/D8387\",\"dateCreated\":\"1586380377\",\"dateModified\":\"1586380377\",\"authorPHID\":\"PHID-USER-tzhaient733lwrlbcag5\",\"status\":\"0\",\"statusName\":\"Needs Review\",\"properties\":{\"draft.broadcast\":true,\"lines.added\":1,\"lines.removed\":1},\"branch\":\"default\",\"summary\":\"This file was modified with 'mod1' as its contents.\\n\\ntwo: second commit to review\\n\\nThis file was modified with 'mod2' as its contents.\\n\\n3: a commit with no detailed message\",\"testPlan\":\"LOL!  What testing?!\\n\\nHaha! yeah, right.\",\"lineCount\":\"2\",\"activeDiffPHID\":\"PHID-DIFF-j6mteixl347wzuphwdft\",\"diffs\":[\"21006\"],\"commits\":[],\"reviewers\":{\"PHID-PROJ-3dvcxzznrjru2xmmses3\":\"PHID-PROJ-3dvcxzznrjru2xmmses3\"},\"ccs\":[\"PHID-USER-q42dn7cc3donqriafhjx\"],\"hashes\":[[\"hgcm\",\"\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\"],[\"hgcm\",\"\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\"],[\"hgcm\",\"\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\"]],\"auxiliary\":{\"phabricator:projects\":[],\"phabricator:depends-on\":[]},\"repositoryPHID\":\"PHID-REPO-bvunnehri4u2isyr7bc3\",\"sourcePath\":\"\\/\"}],\"error_code\":null,\"error_info\":null}"
                }, 
                "status": {
                    "code": 200, 
                    "message": "OK"
                }
            }
        }, 
        {
            "request": {
                "headers": {
                    "content-length": [
                        "482"
                    ], 
                    "accept": [
                        "application/mercurial-0.1"
                    ], 
                    "content-type": [
                        "application/x-www-form-urlencoded"
                    ], 
                    "host": [
                        "phab.mercurial-scm.org"
                    ], 
                    "user-agent": [
                        "mercurial/proto-1.0 (Mercurial 5.3.2+463-d35fbae9dd33+20200408)"
                    ]
                }, 
                "body": "__conduit__=1&params=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22data%22%3A+%22%7B%5C%22branch%5C%22%3A+%5C%22default%5C%22%2C+%5C%22date%5C%22%3A+%5C%220+0%5C%22%2C+%5C%22node%5C%22%3A+%5C%22921f8265efbd92e92bfa5d7a0e047908de9844a5%5C%22%2C+%5C%22parent%5C%22%3A+%5C%2298d480e0d494906d9758c44c622951b429afd862%5C%22%2C+%5C%22user%5C%22%3A+%5C%22test%5C%22%7D%22%2C+%22diff_id%22%3A+21006%2C+%22name%22%3A+%22hg%3Ameta%22%7D&output=json", 
                "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", 
                "method": "POST"
            }, 
            "response": {
                "headers": {
                    "x-xss-protection": [
                        "1; mode=block"
                    ], 
                    "strict-transport-security": [
                        "max-age=0; includeSubdomains; preload"
                    ], 
                    "transfer-encoding": [
                        "chunked"
                    ], 
                    "x-frame-options": [
                        "Deny"
                    ], 
                    "expires": [
                        "Sat, 01 Jan 2000 00:00:00 GMT"
                    ], 
                    "content-type": [
                        "application/json"
                    ], 
                    "referrer-policy": [
                        "no-referrer"
                    ], 
                    "server": [
                        "Apache/2.4.10 (Debian)"
                    ], 
                    "cache-control": [
                        "no-store"
                    ], 
                    "x-content-type-options": [
                        "nosniff"
                    ], 
                    "date": [
                        "Wed, 08 Apr 2020 21:12:58 GMT"
                    ]
                }, 
                "body": {
                    "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}"
                }, 
                "status": {
                    "code": 200, 
                    "message": "OK"
                }
            }
        }, 
        {
            "request": {
                "headers": {
                    "content-length": [
                        "1362"
                    ], 
                    "accept": [
                        "application/mercurial-0.1"
                    ], 
                    "content-type": [
                        "application/x-www-form-urlencoded"
                    ], 
                    "host": [
                        "phab.mercurial-scm.org"
                    ], 
                    "user-agent": [
                        "mercurial/proto-1.0 (Mercurial 5.3.2+463-d35fbae9dd33+20200408)"
                    ]
                }, 
                "body": "__conduit__=1&params=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22data%22%3A+%22%7B%5C%22602c4e7382436988e46c0d56fb3883968302b3f6%5C%22%3A+%7B%5C%22author%5C%22%3A+%5C%22test%5C%22%2C+%5C%22authorEmail%5C%22%3A+%5C%22test%5C%22%2C+%5C%22branch%5C%22%3A+%5C%22default%5C%22%2C+%5C%22commit%5C%22%3A+%5C%22602c4e7382436988e46c0d56fb3883968302b3f6%5C%22%2C+%5C%22parents%5C%22%3A+%5B%5C%2298d480e0d494906d9758c44c622951b429afd862%5C%22%5D%2C+%5C%22time%5C%22%3A+0%7D%2C+%5C%22832553266fe8c3330d968e6987df4ae793483b2b%5C%22%3A+%7B%5C%22author%5C%22%3A+%5C%22test%5C%22%2C+%5C%22authorEmail%5C%22%3A+%5C%22test%5C%22%2C+%5C%22branch%5C%22%3A+%5C%22default%5C%22%2C+%5C%22commit%5C%22%3A+%5C%22832553266fe8c3330d968e6987df4ae793483b2b%5C%22%2C+%5C%22parents%5C%22%3A+%5B%5C%22602c4e7382436988e46c0d56fb3883968302b3f6%5C%22%5D%2C+%5C%22time%5C%22%3A+0%7D%2C+%5C%22921f8265efbd92e92bfa5d7a0e047908de9844a5%5C%22%3A+%7B%5C%22author%5C%22%3A+%5C%22test%5C%22%2C+%5C%22authorEmail%5C%22%3A+%5C%22test%5C%22%2C+%5C%22branch%5C%22%3A+%5C%22default%5C%22%2C+%5C%22commit%5C%22%3A+%5C%22921f8265efbd92e92bfa5d7a0e047908de9844a5%5C%22%2C+%5C%22parents%5C%22%3A+%5B%5C%22832553266fe8c3330d968e6987df4ae793483b2b%5C%22%5D%2C+%5C%22time%5C%22%3A+0%7D%7D%22%2C+%22diff_id%22%3A+21006%2C+%22name%22%3A+%22local%3Acommits%22%7D&output=json", 
                "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", 
                "method": "POST"
            }, 
            "response": {
                "headers": {
                    "x-xss-protection": [
                        "1; mode=block"
                    ], 
                    "strict-transport-security": [
                        "max-age=0; includeSubdomains; preload"
                    ], 
                    "transfer-encoding": [
                        "chunked"
                    ], 
                    "x-frame-options": [
                        "Deny"
                    ], 
                    "expires": [
                        "Sat, 01 Jan 2000 00:00:00 GMT"
                    ], 
                    "content-type": [
                        "application/json"
                    ], 
                    "referrer-policy": [
                        "no-referrer"
                    ], 
                    "server": [
                        "Apache/2.4.10 (Debian)"
                    ], 
                    "cache-control": [
                        "no-store"
                    ], 
                    "x-content-type-options": [
                        "nosniff"
                    ], 
                    "date": [
                        "Wed, 08 Apr 2020 21:12:59 GMT"
                    ]
                }, 
                "body": {
                    "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}"
                }, 
                "status": {
                    "code": 200, 
                    "message": "OK"
                }
            }
        }
    ], 
    "version": 1
}