view tests/phabricator/phabsend-fold-updated.json @ 45095:8e04607023e5

procutil: ensure that procutil.std{out,err}.write() writes all bytes Python 3 offers different kind of streams and it’s not guaranteed for all of them that calling write() writes all bytes. When Python is started in unbuffered mode, sys.std{out,err}.buffer are instances of io.FileIO, whose write() can write less bytes for platform-specific reasons (e.g. Linux has a 0x7ffff000 bytes maximum and could write less if interrupted by a signal; when writing to Windows consoles, it’s limited to 32767 bytes to avoid the "not enough space" error). This can lead to silent loss of data, both when using sys.std{out,err}.buffer (which may in fact not be a buffered stream) and when using the text streams sys.std{out,err} (I’ve created a CPython bug report for that: https://bugs.python.org/issue41221). Python may fix the problem at some point. For now, we implement our own wrapper for procutil.std{out,err} that calls the raw stream’s write() method until all bytes have been written. We don’t use sys.std{out,err} for larger writes, so I think it’s not worth the effort to patch them.
author Manuel Jacob <me@manueljacob.de>
date Fri, 10 Jul 2020 12:27:58 +0200
parents 3dc6a70779f2
children
line wrap: on
line source

{
    "interactions": [
        {
            "request": {
                "headers": {
                    "content-length": [
                        "170"
                    ], 
                    "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+%22revisionIDs%22%3A+%5B8387%2C+8387%2C+8387%5D%7D&output=json", 
                "uri": "https://phab.mercurial-scm.org//api/differential.querydiffs", 
                "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:13:01 GMT"
                    ], 
                    "connection": [
                        "close"
                    ]
                }, 
                "body": {
                    "string": "{\"result\":{\"21006\":{\"id\":\"21006\",\"revisionID\":\"8387\",\"dateCreated\":\"1586380375\",\"dateModified\":\"1586380377\",\"sourceControlBaseRevision\":\"98d480e0d494906d9758c44c622951b429afd862\",\"sourceControlPath\":\"\\/\",\"sourceControlSystem\":\"hg\",\"branch\":\"default\",\"bookmark\":null,\"creationMethod\":\"phabsend\",\"description\":null,\"unitStatus\":\"0\",\"lintStatus\":\"0\",\"changes\":[{\"id\":\"56823\",\"metadata\":{\"line:first\":1,\"hash.effect\":\"cAKuVP31KNrx\"},\"oldPath\":\"file.txt\",\"currentPath\":\"file.txt\",\"awayPaths\":[],\"oldProperties\":[],\"newProperties\":[],\"type\":\"2\",\"fileType\":\"1\",\"commitHash\":null,\"addLines\":\"1\",\"delLines\":\"1\",\"hunks\":[{\"oldOffset\":\"1\",\"newOffset\":\"1\",\"oldLength\":\"1\",\"newLength\":\"1\",\"addLines\":null,\"delLines\":null,\"isMissingOldNewline\":null,\"isMissingNewNewline\":null,\"corpus\":\"-added\\n+mod3\\n\"}]}],\"properties\":{\"hg:meta\":{\"branch\":\"default\",\"date\":\"0 0\",\"node\":\"921f8265efbd92e92bfa5d7a0e047908de9844a5\",\"parent\":\"98d480e0d494906d9758c44c622951b429afd862\",\"user\":\"test\"},\"local:commits\":{\"602c4e7382436988e46c0d56fb3883968302b3f6\":{\"author\":\"test\",\"authorEmail\":\"test\",\"branch\":\"default\",\"commit\":\"602c4e7382436988e46c0d56fb3883968302b3f6\",\"parents\":[\"98d480e0d494906d9758c44c622951b429afd862\"],\"time\":0},\"832553266fe8c3330d968e6987df4ae793483b2b\":{\"author\":\"test\",\"authorEmail\":\"test\",\"branch\":\"default\",\"commit\":\"832553266fe8c3330d968e6987df4ae793483b2b\",\"parents\":[\"602c4e7382436988e46c0d56fb3883968302b3f6\"],\"time\":0},\"921f8265efbd92e92bfa5d7a0e047908de9844a5\":{\"author\":\"test\",\"authorEmail\":\"test\",\"branch\":\"default\",\"commit\":\"921f8265efbd92e92bfa5d7a0e047908de9844a5\",\"parents\":[\"832553266fe8c3330d968e6987df4ae793483b2b\"],\"time\":0}}},\"authorName\":\"test\",\"authorEmail\":\"test\"}},\"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+%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:13:02 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": [
                        "1736"
                    ], 
                    "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%2C+%22file2.txt%22%3A+%7B%22addLines%22%3A+1%2C+%22awayPaths%22%3A+%5B%5D%2C+%22commitHash%22%3A+null%2C+%22currentPath%22%3A+%22file2.txt%22%2C+%22delLines%22%3A+0%2C+%22fileType%22%3A+1%2C+%22hunks%22%3A+%5B%7B%22addLines%22%3A+1%2C+%22corpus%22%3A+%22%2Bmodified%5Cn%22%2C+%22delLines%22%3A+0%2C+%22newLength%22%3A+1%2C+%22newOffset%22%3A+1%2C+%22oldLength%22%3A+0%2C+%22oldOffset%22%3A+0%7D%5D%2C+%22metadata%22%3A+%7B%7D%2C+%22newProperties%22%3A+%7B%22unix%3Afilemode%22%3A+%22100644%22%7D%2C+%22oldPath%22%3A+null%2C+%22oldProperties%22%3A+%7B%7D%2C+%22type%22%3A+1%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:13:02 GMT"
                    ]
                }, 
                "body": {
                    "string": "{\"result\":{\"diffid\":21007,\"phid\":\"PHID-DIFF-zkluur4ou3j4pswpif6e\",\"uri\":\"https:\\/\\/phab.mercurial-scm.org\\/differential\\/diff\\/21007\\/\"},\"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%22e4edb1fe3565eaaecc1787ada4fcc2b7e9018fac%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+21007%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:13:03 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%220124e5474c880e4fb40c8326ad2b75ae3e57ee5f%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%220124e5474c880e4fb40c8326ad2b75ae3e57ee5f%5C%22%2C+%5C%22parents%5C%22%3A+%5B%5C%22602c4e7382436988e46c0d56fb3883968302b3f6%5C%22%5D%2C+%5C%22time%5C%22%3A+0%7D%2C+%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%22e4edb1fe3565eaaecc1787ada4fcc2b7e9018fac%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%22e4edb1fe3565eaaecc1787ada4fcc2b7e9018fac%5C%22%2C+%5C%22parents%5C%22%3A+%5B%5C%220124e5474c880e4fb40c8326ad2b75ae3e57ee5f%5C%22%5D%2C+%5C%22time%5C%22%3A+0%7D%7D%22%2C+%22diff_id%22%3A+21007%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:13:03 GMT"
                    ]
                }, 
                "body": {
                    "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}"
                }, 
                "status": {
                    "code": 200, 
                    "message": "OK"
                }
            }
        }, 
        {
            "request": {
                "headers": {
                    "content-length": [
                        "364"
                    ], 
                    "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%5Cn%5CnDifferential+Revision%3A+https%3A%2F%2Fphab.mercurial-scm.org%2FD8387%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:13:04 GMT"
                    ]
                }, 
                "body": {
                    "string": "{\"result\":{\"errors\":[],\"fields\":{\"title\":\"one: first commit to review\",\"testPlan\":\"LOL!  What testing?!\",\"revisionID\":8387,\"summary\":\"This file was modified with 'mod1' as its contents.\"},\"revisionIDFieldInfo\":{\"value\":8387,\"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": [
                        "361"
                    ], 
                    "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.%5Cn%5CnDifferential+Revision%3A+https%3A%2F%2Fphab.mercurial-scm.org%2FD8387%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:13:04 GMT"
                    ]
                }, 
                "body": {
                    "string": "{\"result\":{\"errors\":[],\"fields\":{\"title\":\"two: second commit to review\",\"testPlan\":\"Haha! yeah, right.\",\"revisionID\":8387,\"summary\":\"This file was modified with 'mod2' as its contents.\"},\"revisionIDFieldInfo\":{\"value\":8387,\"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": [
                        "260"
                    ], 
                    "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%5Cn%5CnDifferential+Revision%3A+https%3A%2F%2Fphab.mercurial-scm.org%2FD8387%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:13:04 GMT"
                    ]
                }, 
                "body": {
                    "string": "{\"result\":{\"errors\":[],\"fields\":{\"title\":\"3: a commit with no detailed message\",\"revisionID\":8387},\"revisionIDFieldInfo\":{\"value\":8387,\"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": [
                        "744"
                    ], 
                    "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+%22objectIdentifier%22%3A+8387%2C+%22transactions%22%3A+%5B%7B%22type%22%3A+%22update%22%2C+%22value%22%3A+%22PHID-DIFF-zkluur4ou3j4pswpif6e%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:13:05 GMT"
                    ]
                }, 
                "body": {
                    "string": "{\"result\":{\"object\":{\"id\":8387,\"phid\":\"PHID-DREV-6ov3pvjim4txejzekw2t\"},\"transactions\":[{\"phid\":\"PHID-XACT-DREV-thuey6pboatact4\"}]},\"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:13:06 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\":\"1586380385\",\"authorPHID\":\"PHID-USER-tzhaient733lwrlbcag5\",\"status\":\"0\",\"statusName\":\"Needs Review\",\"properties\":{\"draft.broadcast\":true,\"lines.added\":2,\"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\":\"3\",\"activeDiffPHID\":\"PHID-DIFF-zkluur4ou3j4pswpif6e\",\"diffs\":[\"21007\",\"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%22e4edb1fe3565eaaecc1787ada4fcc2b7e9018fac%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+21007%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:13:06 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%220124e5474c880e4fb40c8326ad2b75ae3e57ee5f%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%220124e5474c880e4fb40c8326ad2b75ae3e57ee5f%5C%22%2C+%5C%22parents%5C%22%3A+%5B%5C%22602c4e7382436988e46c0d56fb3883968302b3f6%5C%22%5D%2C+%5C%22time%5C%22%3A+0%7D%2C+%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%22e4edb1fe3565eaaecc1787ada4fcc2b7e9018fac%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%22e4edb1fe3565eaaecc1787ada4fcc2b7e9018fac%5C%22%2C+%5C%22parents%5C%22%3A+%5B%5C%220124e5474c880e4fb40c8326ad2b75ae3e57ee5f%5C%22%5D%2C+%5C%22time%5C%22%3A+0%7D%7D%22%2C+%22diff_id%22%3A+21007%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:13:06 GMT"
                    ]
                }, 
                "body": {
                    "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}"
                }, 
                "status": {
                    "code": 200, 
                    "message": "OK"
                }
            }
        }
    ], 
    "version": 1
}