# HG changeset patch # User Ian Moody # Date 2019-03-02 18:48:23 # Node ID c340a8ac7ef38f88b48796c6add58b3a541cb4e8 # Parent 94faa2e840941d67b025784e078b5f66536dab05 phabricator: convert conduit response JSON unicode to bytes inside callconduit Previously the byte conversion was happening piecemeal in callers, and in the case of createdifferentialrevision not at all, leading to UnicodeEncodeErrors when trying to phabsend a commit with a description containing characters not representable in ascii. (issue6040) Remove all the scattered encoding.unitolocal calls and perform it once, inside callconduit, on the entire response dict recursively before returning it, in keeping with the strategy of converting at the earliest opportunity. Convert all keys used on returned object to bytes. Modify the phabsend tests to test this by adding a € to the commit message of alpha. Differential Revision: https://phab.mercurial-scm.org/D6044 diff --git a/hgext/phabricator.py b/hgext/phabricator.py --- a/hgext/phabricator.py +++ b/hgext/phabricator.py @@ -60,6 +60,7 @@ from mercurial import ( parser, patch, phases, + pycompat, registrar, scmutil, smartset, @@ -219,12 +220,16 @@ def callconduit(repo, name, params): with contextlib.closing(urlopener.open(request)) as rsp: body = rsp.read() repo.ui.debug(b'Conduit Response: %s\n' % body) - parsed = json.loads(body) - if parsed.get(r'error_code'): + parsed = pycompat.rapply( + lambda x: encoding.unitolocal(x) if isinstance(x, pycompat.unicode) + else x, + json.loads(body) + ) + if parsed.get(b'error_code'): msg = (_(b'Conduit Error (%s): %s') - % (parsed[r'error_code'], parsed[r'error_info'])) + % (parsed[b'error_code'], parsed[b'error_info'])) raise error.Abort(msg) - return parsed[r'result'] + return parsed[b'result'] @vcrcommand(b'debugcallconduit', [], _(b'METHOD')) def debugcallconduit(ui, repo, name): @@ -249,9 +254,9 @@ def getrepophid(repo): return None query = callconduit(repo, b'diffusion.repository.search', {b'constraints': {b'callsigns': [callsign]}}) - if len(query[r'data']) == 0: + if len(query[b'data']) == 0: return None - repophid = encoding.strtolocal(query[r'data'][0][r'phid']) + repophid = query[b'data'][0][b'phid'] repo.ui.setconfig(b'phabricator', b'repophid', repophid) return repophid @@ -305,11 +310,11 @@ def getoldnodedrevmap(repo, nodelist): drevs = [drev for force, precs, drev in toconfirm.values()] alldiffs = callconduit(unfi, b'differential.querydiffs', {b'revisionIDs': drevs}) - getnode = lambda d: bin(encoding.unitolocal( - getdiffmeta(d).get(r'node', b''))) or None + getnode = lambda d: bin( + getdiffmeta(d).get(b'node', b'')) or None for newnode, (force, precset, drev) in toconfirm.items(): diffs = [d for d in alldiffs.values() - if int(d[r'revisionID']) == drev] + if int(d[b'revisionID']) == drev] # "precursors" as known by Phabricator phprecset = set(getnode(d) for d in diffs) @@ -328,7 +333,7 @@ def getoldnodedrevmap(repo, nodelist): # exists in the repo oldnode = lastdiff = None if diffs: - lastdiff = max(diffs, key=lambda d: int(d[r'id'])) + lastdiff = max(diffs, key=lambda d: int(d[b'id'])) oldnode = getnode(lastdiff) if oldnode and oldnode not in nodemap: oldnode = None @@ -361,7 +366,7 @@ def creatediff(ctx): def writediffproperties(ctx, diff): """write metadata to diff so patches could be applied losslessly""" params = { - b'diff_id': diff[r'id'], + b'diff_id': diff[b'id'], b'name': b'hg:meta', b'data': json.dumps({ b'user': ctx.user(), @@ -373,7 +378,7 @@ def writediffproperties(ctx, diff): callconduit(ctx.repo(), b'differential.setdiffproperty', params) params = { - b'diff_id': diff[r'id'], + b'diff_id': diff[b'id'], b'name': b'local:commits', b'data': json.dumps({ ctx.hex(): { @@ -408,7 +413,7 @@ def createdifferentialrevision(ctx, revi transactions = [] if neednewdiff: diff = creatediff(ctx) - transactions.append({b'type': b'update', b'value': diff[r'phid']}) + transactions.append({b'type': b'update', b'value': diff[b'phid']}) else: # Even if we don't need to upload a new diff because the patch content # does not change. We might still need to update its metadata so @@ -433,7 +438,7 @@ def createdifferentialrevision(ctx, revi desc = ctx.description() info = callconduit(repo, b'differential.parsecommitmessage', {b'corpus': desc}) - for k, v in info[r'fields'].items(): + for k, v in info[b'fields'].items(): if k in [b'title', b'summary', b'testPlan']: transactions.append({b'type': k, b'value': v}) @@ -455,13 +460,13 @@ def userphids(repo, names): result = callconduit(repo, b'user.search', query) # username not found is not an error of the API. So check if we have missed # some names here. - data = result[r'data'] - resolved = set(entry[r'fields'][r'username'].lower() for entry in data) + data = result[b'data'] + resolved = set(entry[b'fields'][b'username'].lower() for entry in data) unresolved = set(names) - resolved if unresolved: raise error.Abort(_(b'unknown username: %s') % b' '.join(sorted(unresolved))) - return [entry[r'phid'] for entry in data] + return [entry[b'phid'] for entry in data] @vcrcommand(b'phabsend', [(b'r', b'rev', [], _(b'revisions to send'), _(b'REV')), @@ -538,7 +543,7 @@ def phabsend(ui, repo, *revs, **opts): revision, diff = createdifferentialrevision( ctx, revid, lastrevid, oldnode, olddiff, actions) diffmap[ctx.node()] = diff - newrevid = int(revision[r'object'][r'id']) + newrevid = int(revision[b'object'][b'id']) if revid: action = b'updated' else: @@ -580,9 +585,8 @@ def phabsend(ui, repo, *revs, **opts): for i, rev in enumerate(revs): old = unfi[rev] drevid = drevids[i] - drev = [d for d in drevs if int(d[r'id']) == drevid][0] + drev = [d for d in drevs if int(d[b'id']) == drevid][0] newdesc = getdescfromdrev(drev) - newdesc = encoding.unitolocal(newdesc) # Make sure commit message contain "Differential Revision" if old.description() != newdesc: if old.phase() == phases.public: @@ -613,8 +617,8 @@ def phabsend(ui, repo, *revs, **opts): # Map from "hg:meta" keys to header understood by "hg import". The order is # consistent with "hg export" output. -_metanamemap = util.sortdict([(r'user', b'User'), (r'date', b'Date'), - (r'node', b'Node ID'), (r'parent', b'Parent ')]) +_metanamemap = util.sortdict([(b'user', b'User'), (b'date', b'Date'), + (b'node', b'Node ID'), (b'parent', b'Parent ')]) def _confirmbeforesend(repo, revs, oldmap): url, token = readurltoken(repo) @@ -644,7 +648,7 @@ def _confirmbeforesend(repo, revs, oldma def _getstatusname(drev): """get normalized status name from a Differential Revision""" - return drev[r'statusName'].replace(b' ', b'').lower() + return drev[b'statusName'].replace(b' ', b'').lower() # Small language to specify differential revisions. Support symbols: (), :X, # +, and -. @@ -762,8 +766,8 @@ def querydrev(repo, spec): drevs = callconduit(repo, b'differential.query', params) # Fill prefetched with the result for drev in drevs: - prefetched[drev[r'phid']] = drev - prefetched[int(drev[r'id'])] = drev + prefetched[drev[b'phid']] = drev + prefetched[int(drev[b'id'])] = drev if key not in prefetched: raise error.Abort(_(b'cannot get Differential Revision %r') % params) @@ -777,12 +781,12 @@ def querydrev(repo, spec): while queue: params = queue.pop() drev = fetch(params) - if drev[r'id'] in visited: + if drev[b'id'] in visited: continue - visited.add(drev[r'id']) - result.append(int(drev[r'id'])) - auxiliary = drev.get(r'auxiliary', {}) - depends = auxiliary.get(r'phabricator:depends-on', []) + visited.add(drev[b'id']) + result.append(int(drev[b'id'])) + auxiliary = drev.get(b'auxiliary', {}) + depends = auxiliary.get(b'phabricator:depends-on', []) for phid in depends: queue.append({b'phids': [phid]}) result.reverse() @@ -802,7 +806,7 @@ def querydrev(repo, spec): for r in ancestordrevs: tofetch.update(range(max(1, r - batchsize), r + 1)) if drevs: - fetch({r'ids': list(tofetch)}) + fetch({b'ids': list(tofetch)}) validids = sorted(set(getstack(list(ancestordrevs))) | set(drevs)) # Walk through the tree, return smartsets @@ -836,12 +840,12 @@ def getdescfromdrev(drev): This is similar to differential.getcommitmessage API. But we only care about limited fields: title, summary, test plan, and URL. """ - title = drev[r'title'] - summary = drev[r'summary'].rstrip() - testplan = drev[r'testPlan'].rstrip() + title = drev[b'title'] + summary = drev[b'summary'].rstrip() + testplan = drev[b'testPlan'].rstrip() if testplan: testplan = b'Test Plan:\n%s' % testplan - uri = b'Differential Revision: %s' % drev[r'uri'] + uri = b'Differential Revision: %s' % drev[b'uri'] return b'\n\n'.join(filter(None, [title, summary, testplan, uri])) def getdiffmeta(diff): @@ -881,17 +885,17 @@ def getdiffmeta(diff): Note: metadata extracted from "local:commits" will lose time zone information. """ - props = diff.get(r'properties') or {} - meta = props.get(r'hg:meta') - if not meta and props.get(r'local:commits'): - commit = sorted(props[r'local:commits'].values())[0] + props = diff.get(b'properties') or {} + meta = props.get(b'hg:meta') + if not meta and props.get(b'local:commits'): + commit = sorted(props[b'local:commits'].values())[0] meta = { - r'date': r'%d 0' % commit[r'time'], - r'node': commit[r'rev'], - r'user': r'%s <%s>' % (commit[r'author'], commit[r'authorEmail']), + b'date': b'%d 0' % commit[b'time'], + b'node': commit[b'rev'], + b'user': b'%s <%s>' % (commit[b'author'], commit[b'authorEmail']), } - if len(commit.get(r'parents', ())) >= 1: - meta[r'parent'] = commit[r'parents'][0] + if len(commit.get(b'parents', ())) >= 1: + meta[b'parent'] = commit[b'parents'][0] return meta or {} def readpatch(repo, drevs, write): @@ -901,14 +905,14 @@ def readpatch(repo, drevs, write): "differential.query". """ # Prefetch hg:meta property for all diffs - diffids = sorted(set(max(int(v) for v in drev[r'diffs']) for drev in drevs)) + diffids = sorted(set(max(int(v) for v in drev[b'diffs']) for drev in drevs)) diffs = callconduit(repo, b'differential.querydiffs', {b'ids': diffids}) # Generate patch for each drev for drev in drevs: - repo.ui.note(_(b'reading D%s\n') % drev[r'id']) + repo.ui.note(_(b'reading D%s\n') % drev[b'id']) - diffid = max(int(v) for v in drev[r'diffs']) + diffid = max(int(v) for v in drev[b'diffs']) body = callconduit(repo, b'differential.getrawdiff', {b'diffID': diffid}) desc = getdescfromdrev(drev) @@ -923,7 +927,7 @@ def readpatch(repo, drevs, write): header += b'# %s %s\n' % (_metanamemap[k], meta[k]) content = b'%s%s\n%s' % (header, desc, body) - write(encoding.unitolocal(content)) + write(content) @vcrcommand(b'phabread', [(b'', b'stack', False, _(b'read dependencies'))], @@ -979,7 +983,7 @@ def phabupdate(ui, repo, spec, **opts): if i + 1 == len(drevs) and opts.get(b'comment'): actions.append({b'type': b'comment', b'value': opts[b'comment']}) if actions: - params = {b'objectIdentifier': drev[r'phid'], + params = {b'objectIdentifier': drev[b'phid'], b'transactions': actions} callconduit(repo, b'differential.revision.edit', params) diff --git a/tests/phabricator/phabsend-create-alpha.json b/tests/phabricator/phabsend-create-alpha.json --- a/tests/phabricator/phabsend-create-alpha.json +++ b/tests/phabricator/phabsend-create-alpha.json @@ -1,590 +1,617 @@ { - "version": 1, "interactions": [ { + "request": { + "method": "POST", + "body": "constraints%5Bcallsigns%5D%5B0%5D=HG&api.token=cli-hahayouwish", + "uri": "https://phab.mercurial-scm.org//api/diffusion.repository.search", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "accept": [ + "application/mercurial-0.1" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "79" + ] + } + }, "response": { "status": { - "message": "OK", - "code": 200 - }, + "code": 200, + "message": "OK" + }, "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,\"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}" - }, + }, "headers": { - "x-xss-protection": [ - "1; mode=block" - ], "expires": [ "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2F4wycgjx3wajuukr7ggfpqedpe7czucr7mvmaems3; expires=Thu, 14-Sep-2023 04:47:40 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:23 GMT" + ], "x-frame-options": [ "Deny" - ], + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], "x-content-type-options": [ "nosniff" - ], + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "set-cookie": [ + "phsid=A%2Fpywot5xerq4gs2tjxw3gnadzdg6vomqmfcnwqddp; expires=Fri, 01-Mar-2024 00:12:23 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], "strict-transport-security": [ "max-age=0; includeSubdomains; preload" - ], - "server": [ - "Apache/2.4.10 (Debian)" - ], - "date": [ - "Sat, 15 Sep 2018 04:47:40 GMT" - ], - "content-type": [ - "application/json" - ], - "cache-control": [ - "no-store" - ] - } - }, - "request": { - "method": "POST", - "uri": "https://phab.mercurial-scm.org//api/diffusion.repository.search", - "body": "constraints%5Bcallsigns%5D%5B0%5D=HG&api.token=cli-hahayouwish", - "headers": { - "accept": [ - "application/mercurial-0.1" - ], - "content-type": [ - "application/x-www-form-urlencoded" - ], - "host": [ - "phab.mercurial-scm.org" - ], - "content-length": [ - "79" - ], - "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+866-5f07496726a1+20180915)" ] } } - }, + }, { + "request": { + "method": "POST", + "body": "repositoryPHID=PHID-REPO-bvunnehri4u2isyr7bc3&api.token=cli-hahayouwish&diff=diff+--git+a%2Falpha+b%2Falpha%0Anew+file+mode+100644%0A---+%2Fdev%2Fnull%0A%2B%2B%2B+b%2Falpha%0A%40%40+-0%2C0+%2B1%2C1+%40%40%0A%2Balpha%0A", + "uri": "https://phab.mercurial-scm.org//api/differential.createrawdiff", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "accept": [ + "application/mercurial-0.1" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "235" + ] + } + }, "response": { "status": { - "message": "OK", - "code": 200 - }, + "code": 200, + "message": "OK" + }, "body": { - "string": "{\"result\":{\"id\":11072,\"phid\":\"PHID-DIFF-xm6cw76uivc6g56xiuv2\",\"uri\":\"https:\\/\\/phab.mercurial-scm.org\\/differential\\/diff\\/11072\\/\"},\"error_code\":null,\"error_info\":null}" - }, + "string": "{\"result\":{\"id\":14303,\"phid\":\"PHID-DIFF-allzuauvigfjpv4z6dpi\",\"uri\":\"https:\\/\\/phab.mercurial-scm.org\\/differential\\/diff\\/14303\\/\"},\"error_code\":null,\"error_info\":null}" + }, "headers": { + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], "x-xss-protection": [ "1; mode=block" - ], - "expires": [ - "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2Fll65pt562b6d7ifhjva4jwqqzxh2oopj4tuc6lfa; expires=Thu, 14-Sep-2023 04:47:40 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:24 GMT" + ], "x-frame-options": [ "Deny" - ], + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], "x-content-type-options": [ "nosniff" - ], - "strict-transport-security": [ - "max-age=0; includeSubdomains; preload" - ], + ], "server": [ "Apache/2.4.10 (Debian)" - ], - "date": [ - "Sat, 15 Sep 2018 04:47:40 GMT" - ], - "content-type": [ - "application/json" - ], - "cache-control": [ - "no-store" - ] - } - }, - "request": { - "method": "POST", - "uri": "https://phab.mercurial-scm.org//api/differential.createrawdiff", - "body": "repositoryPHID=PHID-REPO-bvunnehri4u2isyr7bc3&diff=diff+--git+a%2Falpha+b%2Falpha%0Anew+file+mode+100644%0A---+%2Fdev%2Fnull%0A%2B%2B%2B+b%2Falpha%0A%40%40+-0%2C0+%2B1%2C1+%40%40%0A%2Balpha%0A&api.token=cli-hahayouwish", - "headers": { - "accept": [ - "application/mercurial-0.1" - ], - "content-type": [ - "application/x-www-form-urlencoded" - ], - "host": [ - "phab.mercurial-scm.org" - ], - "content-length": [ - "235" - ], - "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+866-5f07496726a1+20180915)" + ], + "set-cookie": [ + "phsid=A%2F2n2dlkkwzljrpzfghpdsflbt4ftnrwcc446dzcy5; expires=Fri, 01-Mar-2024 00:12:24 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" ] } } - }, + }, { + "request": { + "method": "POST", + "body": "diff_id=14303&data=%7B%22user%22%3A+%22test%22%2C+%22parent%22%3A+%220000000000000000000000000000000000000000%22%2C+%22node%22%3A+%22d386117f30e6b1282897bdbde75ac21e095163d4%22%2C+%22date%22%3A+%220+0%22%7D&api.token=cli-hahayouwish&name=hg%3Ameta", + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "accept": [ + "application/mercurial-0.1" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "264" + ] + } + }, "response": { "status": { - "message": "OK", - "code": 200 - }, + "code": 200, + "message": "OK" + }, "body": { "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" - }, + }, "headers": { + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], "x-xss-protection": [ "1; mode=block" - ], - "expires": [ - "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2F5ivszbehkvbetlnks7omsqmbsu7r5by3p3yqw3ep; expires=Thu, 14-Sep-2023 04:47:41 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:25 GMT" + ], "x-frame-options": [ "Deny" - ], + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], "x-content-type-options": [ "nosniff" - ], - "strict-transport-security": [ - "max-age=0; includeSubdomains; preload" - ], + ], "server": [ "Apache/2.4.10 (Debian)" - ], - "date": [ - "Sat, 15 Sep 2018 04:47:41 GMT" - ], - "content-type": [ - "application/json" - ], - "cache-control": [ - "no-store" - ] - } - }, - "request": { - "method": "POST", - "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", - "body": "data=%7B%22date%22%3A+%220+0%22%2C+%22node%22%3A+%225206a4fa1e6cd7dbc027640267c109e05a9d2341%22%2C+%22user%22%3A+%22test%22%2C+%22parent%22%3A+%220000000000000000000000000000000000000000%22%7D&name=hg%3Ameta&diff_id=11072&api.token=cli-hahayouwish", - "headers": { - "accept": [ - "application/mercurial-0.1" - ], - "content-type": [ - "application/x-www-form-urlencoded" - ], - "host": [ - "phab.mercurial-scm.org" - ], - "content-length": [ - "264" - ], - "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+866-5f07496726a1+20180915)" + ], + "set-cookie": [ + "phsid=A%2F5mq3t25wu5igv7oufpwcoy32fveozo7wn5wni3gw; expires=Fri, 01-Mar-2024 00:12:25 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" ] } } - }, + }, { + "request": { + "method": "POST", + "body": "diff_id=14303&data=%7B%22d386117f30e6b1282897bdbde75ac21e095163d4%22%3A+%7B%22author%22%3A+%22test%22%2C+%22authorEmail%22%3A+%22test%22%2C+%22time%22%3A+0.0%7D%7D&api.token=cli-hahayouwish&name=local%3Acommits", + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "accept": [ + "application/mercurial-0.1" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "227" + ] + } + }, "response": { "status": { - "message": "OK", - "code": 200 - }, + "code": 200, + "message": "OK" + }, "body": { "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" - }, + }, "headers": { + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], "x-xss-protection": [ "1; mode=block" - ], - "expires": [ - "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2Fxvwxxrmwpjntx6dlohrstyox7yjssdbzufiwygcg; expires=Thu, 14-Sep-2023 04:47:41 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:25 GMT" + ], "x-frame-options": [ "Deny" - ], + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], "x-content-type-options": [ "nosniff" - ], - "strict-transport-security": [ - "max-age=0; includeSubdomains; preload" - ], + ], "server": [ "Apache/2.4.10 (Debian)" - ], - "date": [ - "Sat, 15 Sep 2018 04:47:41 GMT" - ], - "content-type": [ - "application/json" - ], - "cache-control": [ - "no-store" - ] - } - }, - "request": { - "method": "POST", - "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", - "body": "data=%7B%225206a4fa1e6cd7dbc027640267c109e05a9d2341%22%3A+%7B%22time%22%3A+0.0%2C+%22author%22%3A+%22test%22%2C+%22authorEmail%22%3A+%22test%22%7D%7D&name=local%3Acommits&diff_id=11072&api.token=cli-hahayouwish", - "headers": { - "accept": [ - "application/mercurial-0.1" - ], - "content-type": [ - "application/x-www-form-urlencoded" - ], - "host": [ - "phab.mercurial-scm.org" - ], - "content-length": [ - "227" - ], - "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+866-5f07496726a1+20180915)" + ], + "set-cookie": [ + "phsid=A%2F5nja6g4cnpt63ctjjwykxyceyb7kokfptrzbejoc; expires=Fri, 01-Mar-2024 00:12:25 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" ] } } - }, + }, { + "request": { + "method": "POST", + "body": "api.token=cli-hahayouwish&corpus=create+alpha+for+phabricator+test+%E2%82%AC", + "uri": "https://phab.mercurial-scm.org//api/differential.parsecommitmessage", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "accept": [ + "application/mercurial-0.1" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "93" + ] + } + }, "response": { "status": { - "message": "OK", - "code": 200 - }, + "code": 200, + "message": "OK" + }, "body": { - "string": "{\"result\":{\"errors\":[],\"fields\":{\"title\":\"create alpha for phabricator test\"},\"revisionIDFieldInfo\":{\"value\":null,\"validDomain\":\"https:\\/\\/phab.mercurial-scm.org\"}},\"error_code\":null,\"error_info\":null}" - }, + "string": "{\"result\":{\"errors\":[],\"fields\":{\"title\":\"create alpha for phabricator test \\u20ac\"},\"revisionIDFieldInfo\":{\"value\":null,\"validDomain\":\"https:\\/\\/phab.mercurial-scm.org\"}},\"error_code\":null,\"error_info\":null}" + }, "headers": { + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], "x-xss-protection": [ "1; mode=block" - ], - "expires": [ - "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2Fy3s5iysh6h2javfdo2u7myspyjypv4mvojegqr6j; expires=Thu, 14-Sep-2023 04:47:42 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:26 GMT" + ], "x-frame-options": [ "Deny" - ], + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], "x-content-type-options": [ "nosniff" - ], - "strict-transport-security": [ - "max-age=0; includeSubdomains; preload" - ], + ], "server": [ "Apache/2.4.10 (Debian)" - ], - "date": [ - "Sat, 15 Sep 2018 04:47:42 GMT" - ], - "content-type": [ - "application/json" - ], - "cache-control": [ - "no-store" - ] - } - }, - "request": { - "method": "POST", - "uri": "https://phab.mercurial-scm.org//api/differential.parsecommitmessage", - "body": "corpus=create+alpha+for+phabricator+test&api.token=cli-hahayouwish", - "headers": { - "accept": [ - "application/mercurial-0.1" - ], - "content-type": [ - "application/x-www-form-urlencoded" - ], - "host": [ - "phab.mercurial-scm.org" - ], - "content-length": [ - "83" - ], - "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+866-5f07496726a1+20180915)" + ], + "set-cookie": [ + "phsid=A%2Fkrxawhyvcd4jhv77inuwdmzcci4f7kql6c7l3smz; expires=Fri, 01-Mar-2024 00:12:26 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" ] } } - }, + }, { + "request": { + "method": "POST", + "body": "transactions%5B0%5D%5Btype%5D=update&transactions%5B0%5D%5Bvalue%5D=PHID-DIFF-allzuauvigfjpv4z6dpi&transactions%5B1%5D%5Btype%5D=title&transactions%5B1%5D%5Bvalue%5D=create+alpha+for+phabricator+test+%E2%82%AC&api.token=cli-hahayouwish", + "uri": "https://phab.mercurial-scm.org//api/differential.revision.edit", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "accept": [ + "application/mercurial-0.1" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "252" + ] + } + }, "response": { "status": { - "message": "OK", - "code": 200 - }, + "code": 200, + "message": "OK" + }, "body": { - "string": "{\"result\":{\"object\":{\"id\":4596,\"phid\":\"PHID-DREV-bntcdwe74cw3vwkzt6nq\"},\"transactions\":[{\"phid\":\"PHID-XACT-DREV-mnqxquobbhdgttd\"},{\"phid\":\"PHID-XACT-DREV-nd34pqrjamxbhop\"},{\"phid\":\"PHID-XACT-DREV-4ka4rghn6b7xooc\"},{\"phid\":\"PHID-XACT-DREV-mfuvfyiijdqwpyg\"},{\"phid\":\"PHID-XACT-DREV-ckar54h6yenx24s\"}]},\"error_code\":null,\"error_info\":null}" - }, + "string": "{\"result\":{\"object\":{\"id\":6054,\"phid\":\"PHID-DREV-6pczsbtdpqjc2nskmxwy\"},\"transactions\":[{\"phid\":\"PHID-XACT-DREV-efgl4j4fesixjog\"},{\"phid\":\"PHID-XACT-DREV-xj7ksjeyfadwf5m\"},{\"phid\":\"PHID-XACT-DREV-gecx5zw42kkuffc\"},{\"phid\":\"PHID-XACT-DREV-asda7zcwgzdadoi\"},{\"phid\":\"PHID-XACT-DREV-ku26t33y6iiugjw\"}]},\"error_code\":null,\"error_info\":null}" + }, "headers": { + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], "x-xss-protection": [ "1; mode=block" - ], - "expires": [ - "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2Foe7kd7hhldo25tzbegntkyfxm6wnztgdfmsfubo2; expires=Thu, 14-Sep-2023 04:47:42 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:27 GMT" + ], "x-frame-options": [ "Deny" - ], + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], "x-content-type-options": [ "nosniff" - ], - "strict-transport-security": [ - "max-age=0; includeSubdomains; preload" - ], + ], "server": [ "Apache/2.4.10 (Debian)" - ], - "date": [ - "Sat, 15 Sep 2018 04:47:42 GMT" - ], - "content-type": [ - "application/json" - ], - "cache-control": [ - "no-store" - ] - } - }, - "request": { - "method": "POST", - "uri": "https://phab.mercurial-scm.org//api/differential.revision.edit", - "body": "transactions%5B0%5D%5Bvalue%5D=PHID-DIFF-xm6cw76uivc6g56xiuv2&transactions%5B0%5D%5Btype%5D=update&transactions%5B1%5D%5Bvalue%5D=create+alpha+for+phabricator+test&transactions%5B1%5D%5Btype%5D=title&api.token=cli-hahayouwish", - "headers": { - "accept": [ - "application/mercurial-0.1" - ], - "content-type": [ - "application/x-www-form-urlencoded" - ], - "host": [ - "phab.mercurial-scm.org" - ], - "content-length": [ - "242" - ], - "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+866-5f07496726a1+20180915)" + ], + "set-cookie": [ + "phsid=A%2Fjwgcqb5hvbltjq4jqbpauz7rmmhpuh2rb7phsdmf; expires=Fri, 01-Mar-2024 00:12:27 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" ] } } - }, + }, { + "request": { + "method": "POST", + "body": "api.token=cli-hahayouwish&ids%5B0%5D=6054", + "uri": "https://phab.mercurial-scm.org//api/differential.query", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "accept": [ + "application/mercurial-0.1" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "58" + ] + } + }, "response": { "status": { - "message": "OK", - "code": 200 - }, + "code": 200, + "message": "OK" + }, "body": { - "string": "{\"result\":[{\"id\":\"4596\",\"phid\":\"PHID-DREV-bntcdwe74cw3vwkzt6nq\",\"title\":\"create alpha for phabricator test\",\"uri\":\"https:\\/\\/phab.mercurial-scm.org\\/D4596\",\"dateCreated\":\"1536986862\",\"dateModified\":\"1536986862\",\"authorPHID\":\"PHID-USER-cgcdlc6c3gpxapbmkwa2\",\"status\":\"0\",\"statusName\":\"Needs Review\",\"properties\":[],\"branch\":null,\"summary\":\"\",\"testPlan\":\"\",\"lineCount\":\"1\",\"activeDiffPHID\":\"PHID-DIFF-xm6cw76uivc6g56xiuv2\",\"diffs\":[\"11072\"],\"commits\":[],\"reviewers\":{\"PHID-PROJ-3dvcxzznrjru2xmmses3\":\"PHID-PROJ-3dvcxzznrjru2xmmses3\"},\"ccs\":[\"PHID-USER-q42dn7cc3donqriafhjx\"],\"hashes\":[],\"auxiliary\":{\"phabricator:projects\":[],\"phabricator:depends-on\":[]},\"repositoryPHID\":\"PHID-REPO-bvunnehri4u2isyr7bc3\",\"sourcePath\":null}],\"error_code\":null,\"error_info\":null}" - }, + "string": "{\"result\":[{\"id\":\"6054\",\"phid\":\"PHID-DREV-6pczsbtdpqjc2nskmxwy\",\"title\":\"create alpha for phabricator test \\u20ac\",\"uri\":\"https:\\/\\/phab.mercurial-scm.org\\/D6054\",\"dateCreated\":\"1551571947\",\"dateModified\":\"1551571947\",\"authorPHID\":\"PHID-USER-5iy6mkoveguhm2zthvww\",\"status\":\"0\",\"statusName\":\"Needs Review\",\"properties\":[],\"branch\":null,\"summary\":\"\",\"testPlan\":\"\",\"lineCount\":\"1\",\"activeDiffPHID\":\"PHID-DIFF-allzuauvigfjpv4z6dpi\",\"diffs\":[\"14303\"],\"commits\":[],\"reviewers\":{\"PHID-PROJ-3dvcxzznrjru2xmmses3\":\"PHID-PROJ-3dvcxzznrjru2xmmses3\"},\"ccs\":[\"PHID-USER-q42dn7cc3donqriafhjx\"],\"hashes\":[],\"auxiliary\":{\"phabricator:projects\":[],\"phabricator:depends-on\":[]},\"repositoryPHID\":\"PHID-REPO-bvunnehri4u2isyr7bc3\",\"sourcePath\":null}],\"error_code\":null,\"error_info\":null}" + }, "headers": { + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], "x-xss-protection": [ "1; mode=block" - ], - "expires": [ - "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2F5d2bgafhoqhg5thqxeu6y4fngq7lqezf5h6eo5pd; expires=Thu, 14-Sep-2023 04:47:43 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:28 GMT" + ], "x-frame-options": [ "Deny" - ], + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], "x-content-type-options": [ "nosniff" - ], - "strict-transport-security": [ - "max-age=0; includeSubdomains; preload" - ], + ], "server": [ "Apache/2.4.10 (Debian)" - ], - "date": [ - "Sat, 15 Sep 2018 04:47:43 GMT" - ], - "content-type": [ - "application/json" - ], - "cache-control": [ - "no-store" - ] - } - }, - "request": { - "method": "POST", - "uri": "https://phab.mercurial-scm.org//api/differential.query", - "body": "api.token=cli-hahayouwish&ids%5B0%5D=4596", - "headers": { - "accept": [ - "application/mercurial-0.1" - ], - "content-type": [ - "application/x-www-form-urlencoded" - ], - "host": [ - "phab.mercurial-scm.org" - ], - "content-length": [ - "58" - ], - "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+866-5f07496726a1+20180915)" + ], + "set-cookie": [ + "phsid=A%2F3lgkbbyaa646ng5klghjyehsbjxtaqblipnvocuz; expires=Fri, 01-Mar-2024 00:12:28 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" ] } } - }, + }, { + "request": { + "method": "POST", + "body": "diff_id=14303&data=%7B%22user%22%3A+%22test%22%2C+%22parent%22%3A+%220000000000000000000000000000000000000000%22%2C+%22node%22%3A+%22cb03845d6dd98c72bec766c7ed08c693cc49817a%22%2C+%22date%22%3A+%220+0%22%7D&api.token=cli-hahayouwish&name=hg%3Ameta", + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "accept": [ + "application/mercurial-0.1" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "264" + ] + } + }, "response": { "status": { - "message": "OK", - "code": 200 - }, + "code": 200, + "message": "OK" + }, "body": { "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" - }, + }, "headers": { + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], "x-xss-protection": [ "1; mode=block" - ], - "expires": [ - "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2F2cewrqifmvko6evm2sy2nvksvcvhk6hpsj36lcv2; expires=Thu, 14-Sep-2023 04:47:43 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:28 GMT" + ], "x-frame-options": [ "Deny" - ], + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], "x-content-type-options": [ "nosniff" - ], - "strict-transport-security": [ - "max-age=0; includeSubdomains; preload" - ], + ], "server": [ "Apache/2.4.10 (Debian)" - ], - "date": [ - "Sat, 15 Sep 2018 04:47:43 GMT" - ], - "content-type": [ - "application/json" - ], - "cache-control": [ - "no-store" - ] - } - }, - "request": { - "method": "POST", - "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", - "body": "data=%7B%22date%22%3A+%220+0%22%2C+%22node%22%3A+%22d8f232f7d799e1064d3da179df41a2b5d04334e9%22%2C+%22user%22%3A+%22test%22%2C+%22parent%22%3A+%220000000000000000000000000000000000000000%22%7D&name=hg%3Ameta&diff_id=11072&api.token=cli-hahayouwish", - "headers": { - "accept": [ - "application/mercurial-0.1" - ], - "content-type": [ - "application/x-www-form-urlencoded" - ], - "host": [ - "phab.mercurial-scm.org" - ], - "content-length": [ - "264" - ], - "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+866-5f07496726a1+20180915)" + ], + "set-cookie": [ + "phsid=A%2Fwjxvlsjqmqwvcljfv6oe2sbometi3gebps6vzrlw; expires=Fri, 01-Mar-2024 00:12:28 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" ] } } - }, + }, { + "request": { + "method": "POST", + "body": "diff_id=14303&data=%7B%22cb03845d6dd98c72bec766c7ed08c693cc49817a%22%3A+%7B%22author%22%3A+%22test%22%2C+%22authorEmail%22%3A+%22test%22%2C+%22time%22%3A+0.0%7D%7D&api.token=cli-hahayouwish&name=local%3Acommits", + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "accept": [ + "application/mercurial-0.1" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "227" + ] + } + }, "response": { "status": { - "message": "OK", - "code": 200 - }, + "code": 200, + "message": "OK" + }, "body": { "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" - }, + }, "headers": { + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], "x-xss-protection": [ "1; mode=block" - ], - "expires": [ - "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2Fped6v7jlldydnkfolkdmecyyjrkciqhkr7opvbt2; expires=Thu, 14-Sep-2023 04:47:44 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:29 GMT" + ], "x-frame-options": [ "Deny" - ], + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], "x-content-type-options": [ "nosniff" - ], - "strict-transport-security": [ - "max-age=0; includeSubdomains; preload" - ], + ], "server": [ "Apache/2.4.10 (Debian)" - ], - "date": [ - "Sat, 15 Sep 2018 04:47:44 GMT" - ], - "content-type": [ - "application/json" - ], - "cache-control": [ - "no-store" - ] - } - }, - "request": { - "method": "POST", - "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", - "body": "data=%7B%22d8f232f7d799e1064d3da179df41a2b5d04334e9%22%3A+%7B%22time%22%3A+0.0%2C+%22author%22%3A+%22test%22%2C+%22authorEmail%22%3A+%22test%22%7D%7D&name=local%3Acommits&diff_id=11072&api.token=cli-hahayouwish", - "headers": { - "accept": [ - "application/mercurial-0.1" - ], - "content-type": [ - "application/x-www-form-urlencoded" - ], - "host": [ - "phab.mercurial-scm.org" - ], - "content-length": [ - "227" - ], - "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+866-5f07496726a1+20180915)" + ], + "set-cookie": [ + "phsid=A%2Foeyncgzaanzmnhgfc7ecvmu5pq7qju7ewq6tvgrp; expires=Fri, 01-Mar-2024 00:12:29 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" ] } } } - ] + ], + "version": 1 } diff --git a/tests/phabricator/phabsend-update-alpha-create-beta.json b/tests/phabricator/phabsend-update-alpha-create-beta.json --- a/tests/phabricator/phabsend-update-alpha-create-beta.json +++ b/tests/phabricator/phabsend-update-alpha-create-beta.json @@ -1,915 +1,1025 @@ { - "version": 1, "interactions": [ { "request": { - "body": "api.token=cli-hahayouwish&revisionIDs%5B0%5D=4596", - "uri": "https://phab.mercurial-scm.org//api/differential.querydiffs", + "method": "POST", + "body": "api.token=cli-hahayouwish&revisionIDs%5B0%5D=6054", + "uri": "https://phab.mercurial-scm.org//api/differential.querydiffs", "headers": { - "content-length": [ - "66" - ], - "host": [ - "phab.mercurial-scm.org" - ], "content-type": [ "application/x-www-form-urlencoded" - ], + ], "accept": [ "application/mercurial-0.1" - ], + ], "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+867-34bcd3af7109+20180915)" + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "66" ] - }, - "method": "POST" - }, + } + }, "response": { "status": { - "code": 200, + "code": 200, "message": "OK" - }, - "headers": { - "server": [ - "Apache/2.4.10 (Debian)" - ], - "strict-transport-security": [ - "max-age=0; includeSubdomains; preload" - ], - "x-frame-options": [ - "Deny" - ], - "x-content-type-options": [ - "nosniff" - ], - "expires": [ - "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2F5bjqjyefdbiq65cc3qepzxq7ncczgfqo2xxsybaf; expires=Thu, 14-Sep-2023 04:53:46 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], - "x-xss-protection": [ - "1; mode=block" - ], - "content-type": [ - "application/json" - ], - "cache-control": [ - "no-store" - ], - "date": [ - "Sat, 15 Sep 2018 04:53:46 GMT" - ] - }, + }, "body": { - "string": "{\"result\":{\"11073\":{\"id\":\"11073\",\"revisionID\":\"4596\",\"dateCreated\":\"1536986866\",\"dateModified\":\"1536986868\",\"sourceControlBaseRevision\":null,\"sourceControlPath\":null,\"sourceControlSystem\":null,\"branch\":null,\"bookmark\":null,\"creationMethod\":\"web\",\"description\":null,\"unitStatus\":\"4\",\"lintStatus\":\"4\",\"changes\":[{\"id\":\"24417\",\"metadata\":{\"line:first\":1},\"oldPath\":null,\"currentPath\":\"alpha\",\"awayPaths\":[],\"oldProperties\":[],\"newProperties\":{\"unix:filemode\":\"100644\"},\"type\":\"1\",\"fileType\":\"1\",\"commitHash\":null,\"addLines\":\"2\",\"delLines\":\"0\",\"hunks\":[{\"oldOffset\":\"0\",\"newOffset\":\"1\",\"oldLength\":\"0\",\"newLength\":\"2\",\"addLines\":null,\"delLines\":null,\"isMissingOldNewline\":null,\"isMissingNewNewline\":null,\"corpus\":\"+alpha\\n+more\\n\"}]}],\"properties\":{\"hg:meta\":{\"parent\":\"0000000000000000000000000000000000000000\",\"node\":\"f70265671c65ab4b5416e611a6bd61887c013122\",\"user\":\"test\",\"date\":\"0 0\"},\"local:commits\":{\"f70265671c65ab4b5416e611a6bd61887c013122\":{\"time\":0,\"authorEmail\":\"test\",\"author\":\"test\"}}},\"authorName\":\"test\",\"authorEmail\":\"test\"},\"11072\":{\"id\":\"11072\",\"revisionID\":\"4596\",\"dateCreated\":\"1536986860\",\"dateModified\":\"1536986862\",\"sourceControlBaseRevision\":null,\"sourceControlPath\":null,\"sourceControlSystem\":null,\"branch\":null,\"bookmark\":null,\"creationMethod\":\"web\",\"description\":null,\"unitStatus\":\"4\",\"lintStatus\":\"4\",\"changes\":[{\"id\":\"24416\",\"metadata\":{\"line:first\":1},\"oldPath\":null,\"currentPath\":\"alpha\",\"awayPaths\":[],\"oldProperties\":[],\"newProperties\":{\"unix:filemode\":\"100644\"},\"type\":\"1\",\"fileType\":\"1\",\"commitHash\":null,\"addLines\":\"1\",\"delLines\":\"0\",\"hunks\":[{\"oldOffset\":\"0\",\"newOffset\":\"1\",\"oldLength\":\"0\",\"newLength\":\"1\",\"addLines\":null,\"delLines\":null,\"isMissingOldNewline\":null,\"isMissingNewNewline\":null,\"corpus\":\"+alpha\\n\"}]}],\"properties\":{\"hg:meta\":{\"date\":\"0 0\",\"node\":\"d8f232f7d799e1064d3da179df41a2b5d04334e9\",\"user\":\"test\",\"parent\":\"0000000000000000000000000000000000000000\"},\"local:commits\":{\"d8f232f7d799e1064d3da179df41a2b5d04334e9\":{\"time\":0,\"author\":\"test\",\"authorEmail\":\"test\"}}},\"authorName\":\"test\",\"authorEmail\":\"test\"}},\"error_code\":null,\"error_info\":null}" - } - } - }, - { - "request": { - "body": "diff_id=11073&api.token=cli-hahayouwish&data=%7B%22parent%22%3A+%220000000000000000000000000000000000000000%22%2C+%22node%22%3A+%22f70265671c65ab4b5416e611a6bd61887c013122%22%2C+%22user%22%3A+%22test%22%2C+%22date%22%3A+%220+0%22%7D&name=hg%3Ameta", - "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", + "string": "{\"result\":{\"14303\":{\"id\":\"14303\",\"revisionID\":\"6054\",\"dateCreated\":\"1551571944\",\"dateModified\":\"1551571947\",\"sourceControlBaseRevision\":null,\"sourceControlPath\":null,\"sourceControlSystem\":null,\"branch\":null,\"bookmark\":null,\"creationMethod\":\"web\",\"description\":null,\"unitStatus\":\"4\",\"lintStatus\":\"4\",\"changes\":[{\"id\":\"32287\",\"metadata\":{\"line:first\":1},\"oldPath\":null,\"currentPath\":\"alpha\",\"awayPaths\":[],\"oldProperties\":[],\"newProperties\":{\"unix:filemode\":\"100644\"},\"type\":\"1\",\"fileType\":\"1\",\"commitHash\":null,\"addLines\":\"1\",\"delLines\":\"0\",\"hunks\":[{\"oldOffset\":\"0\",\"newOffset\":\"1\",\"oldLength\":\"0\",\"newLength\":\"1\",\"addLines\":null,\"delLines\":null,\"isMissingOldNewline\":null,\"isMissingNewNewline\":null,\"corpus\":\"+alpha\\n\"}]}],\"properties\":{\"hg:meta\":{\"user\":\"test\",\"parent\":\"0000000000000000000000000000000000000000\",\"node\":\"cb03845d6dd98c72bec766c7ed08c693cc49817a\",\"date\":\"0 0\"},\"local:commits\":{\"cb03845d6dd98c72bec766c7ed08c693cc49817a\":{\"author\":\"test\",\"authorEmail\":\"test\",\"time\":0}}},\"authorName\":\"test\",\"authorEmail\":\"test\"}},\"error_code\":null,\"error_info\":null}" + }, "headers": { - "content-length": [ - "264" - ], - "host": [ - "phab.mercurial-scm.org" - ], - "content-type": [ - "application/x-www-form-urlencoded" - ], - "accept": [ - "application/mercurial-0.1" - ], - "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+867-34bcd3af7109+20180915)" - ] - }, - "method": "POST" - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "server": [ - "Apache/2.4.10 (Debian)" - ], - "strict-transport-security": [ - "max-age=0; includeSubdomains; preload" - ], - "x-frame-options": [ - "Deny" - ], - "x-content-type-options": [ - "nosniff" - ], "expires": [ "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2Ff6o4ingm2wmr3ma4aht2kytfrrxvrkitj6ipkf5k; expires=Thu, 14-Sep-2023 04:53:46 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], + ], "x-xss-protection": [ "1; mode=block" - ], - "content-type": [ - "application/json" - ], + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:30 GMT" + ], + "x-frame-options": [ + "Deny" + ], "cache-control": [ "no-store" - ], - "date": [ - "Sat, 15 Sep 2018 04:53:46 GMT" - ] - }, - "body": { - "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" - } - } - }, - { - "request": { - "body": "diff_id=11073&api.token=cli-hahayouwish&data=%7B%22f70265671c65ab4b5416e611a6bd61887c013122%22%3A+%7B%22time%22%3A+0.0%2C+%22authorEmail%22%3A+%22test%22%2C+%22author%22%3A+%22test%22%7D%7D&name=local%3Acommits", - "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", - "headers": { - "content-length": [ - "227" - ], - "host": [ - "phab.mercurial-scm.org" - ], + ], "content-type": [ - "application/x-www-form-urlencoded" - ], - "accept": [ - "application/mercurial-0.1" - ], - "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+867-34bcd3af7109+20180915)" - ] - }, - "method": "POST" - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { + "application/json" + ], + "x-content-type-options": [ + "nosniff" + ], "server": [ "Apache/2.4.10 (Debian)" - ], + ], + "set-cookie": [ + "phsid=A%2Fnf3xdxgvvgky277foc7s2p6xrgtsvn4bzmayrbmb; expires=Fri, 01-Mar-2024 00:12:30 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], "strict-transport-security": [ "max-age=0; includeSubdomains; preload" - ], - "x-frame-options": [ - "Deny" - ], - "x-content-type-options": [ - "nosniff" - ], - "expires": [ - "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2F4fitvy4kno46zkca6hq7npvuxvnh4dxlbvscmodb; expires=Thu, 14-Sep-2023 04:53:47 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], - "x-xss-protection": [ - "1; mode=block" - ], - "content-type": [ - "application/json" - ], - "cache-control": [ - "no-store" - ], - "date": [ - "Sat, 15 Sep 2018 04:53:47 GMT" ] - }, - "body": { - "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" } } - }, + }, { "request": { - "body": "api.token=cli-hahayouwish&corpus=create+alpha+for+phabricator+test%0A%0ADifferential+Revision%3A+https%3A%2F%2Fphab.mercurial-scm.org%2FD4596", - "uri": "https://phab.mercurial-scm.org//api/differential.parsecommitmessage", + "method": "POST", + "body": "constraints%5Bcallsigns%5D%5B0%5D=HG&api.token=cli-hahayouwish", + "uri": "https://phab.mercurial-scm.org//api/diffusion.repository.search", "headers": { - "content-length": [ - "158" - ], - "host": [ - "phab.mercurial-scm.org" - ], "content-type": [ "application/x-www-form-urlencoded" - ], + ], "accept": [ "application/mercurial-0.1" - ], + ], "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+867-34bcd3af7109+20180915)" + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "79" ] - }, - "method": "POST" - }, + } + }, "response": { "status": { - "code": 200, + "code": 200, "message": "OK" - }, + }, + "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,\"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}" + }, + "headers": { + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:31 GMT" + ], + "x-frame-options": [ + "Deny" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-content-type-options": [ + "nosniff" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "set-cookie": [ + "phsid=A%2Fmlq7cl6pakmia2uecfcevwhdl3hyqe6rdb2y7usm; expires=Fri, 01-Mar-2024 00:12:31 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ] + } + } + }, + { + "request": { + "method": "POST", + "body": "repositoryPHID=PHID-REPO-bvunnehri4u2isyr7bc3&api.token=cli-hahayouwish&diff=diff+--git+a%2Falpha+b%2Falpha%0Anew+file+mode+100644%0A---+%2Fdev%2Fnull%0A%2B%2B%2B+b%2Falpha%0A%40%40+-0%2C0+%2B1%2C2+%40%40%0A%2Balpha%0A%2Bmore%0A", + "uri": "https://phab.mercurial-scm.org//api/differential.createrawdiff", "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "accept": [ + "application/mercurial-0.1" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "245" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "body": { + "string": "{\"result\":{\"id\":14304,\"phid\":\"PHID-DIFF-3wv2fwmzp27uamb66xxg\",\"uri\":\"https:\\/\\/phab.mercurial-scm.org\\/differential\\/diff\\/14304\\/\"},\"error_code\":null,\"error_info\":null}" + }, + "headers": { + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:32 GMT" + ], + "x-frame-options": [ + "Deny" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-content-type-options": [ + "nosniff" + ], "server": [ "Apache/2.4.10 (Debian)" - ], + ], + "set-cookie": [ + "phsid=A%2Fptjtujvqlcwhzs4yhneogb323aqessc5axlu4rif; expires=Fri, 01-Mar-2024 00:12:32 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], "strict-transport-security": [ "max-age=0; includeSubdomains; preload" - ], - "x-frame-options": [ - "Deny" - ], - "x-content-type-options": [ - "nosniff" - ], - "expires": [ - "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2F7u2j7nsrtq2dtxqws7pnsnjyaufsamwj44e45euz; expires=Thu, 14-Sep-2023 04:53:47 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], - "x-xss-protection": [ - "1; mode=block" - ], - "content-type": [ - "application/json" - ], - "cache-control": [ - "no-store" - ], - "date": [ - "Sat, 15 Sep 2018 04:53:47 GMT" ] - }, - "body": { - "string": "{\"result\":{\"errors\":[],\"fields\":{\"title\":\"create alpha for phabricator test\",\"revisionID\":4596},\"revisionIDFieldInfo\":{\"value\":4596,\"validDomain\":\"https:\\/\\/phab.mercurial-scm.org\"}},\"error_code\":null,\"error_info\":null}" } } - }, + }, { "request": { - "body": "api.token=cli-hahayouwish&objectIdentifier=4596&transactions%5B0%5D%5Btype%5D=title&transactions%5B0%5D%5Bvalue%5D=create+alpha+for+phabricator+test", - "uri": "https://phab.mercurial-scm.org//api/differential.revision.edit", + "method": "POST", + "body": "diff_id=14304&data=%7B%22user%22%3A+%22test%22%2C+%22parent%22%3A+%220000000000000000000000000000000000000000%22%2C+%22node%22%3A+%22939d862f03181a366fea64a540baf0bb33f85d92%22%2C+%22date%22%3A+%220+0%22%7D&api.token=cli-hahayouwish&name=hg%3Ameta", + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", "headers": { - "content-length": [ - "165" - ], - "host": [ - "phab.mercurial-scm.org" - ], "content-type": [ "application/x-www-form-urlencoded" - ], + ], "accept": [ "application/mercurial-0.1" - ], + ], "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+867-34bcd3af7109+20180915)" + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "264" ] - }, - "method": "POST" - }, + } + }, "response": { "status": { - "code": 200, + "code": 200, "message": "OK" - }, + }, + "body": { + "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" + }, "headers": { - "server": [ - "Apache/2.4.10 (Debian)" - ], - "strict-transport-security": [ - "max-age=0; includeSubdomains; preload" - ], - "x-frame-options": [ - "Deny" - ], - "x-content-type-options": [ - "nosniff" - ], "expires": [ "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2F7ubtculubfazivfxjxbmnyt3wzjcgdxnfdn57t42; expires=Thu, 14-Sep-2023 04:53:48 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], + ], "x-xss-protection": [ "1; mode=block" - ], - "content-type": [ - "application/json" - ], + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:32 GMT" + ], + "x-frame-options": [ + "Deny" + ], "cache-control": [ "no-store" - ], - "date": [ - "Sat, 15 Sep 2018 04:53:47 GMT" + ], + "content-type": [ + "application/json" + ], + "x-content-type-options": [ + "nosniff" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "set-cookie": [ + "phsid=A%2Feho2462w6mulsjeoz3e4rwgf37aekqwgpqmarn2f; expires=Fri, 01-Mar-2024 00:12:32 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" ] - }, - "body": { - "string": "{\"result\":{\"object\":{\"id\":\"4596\",\"phid\":\"PHID-DREV-bntcdwe74cw3vwkzt6nq\"},\"transactions\":[]},\"error_code\":null,\"error_info\":null}" } } - }, + }, { "request": { - "body": "api.token=cli-hahayouwish&constraints%5Bcallsigns%5D%5B0%5D=HG", - "uri": "https://phab.mercurial-scm.org//api/diffusion.repository.search", + "method": "POST", + "body": "diff_id=14304&data=%7B%22939d862f03181a366fea64a540baf0bb33f85d92%22%3A+%7B%22author%22%3A+%22test%22%2C+%22authorEmail%22%3A+%22test%22%2C+%22time%22%3A+0.0%7D%7D&api.token=cli-hahayouwish&name=local%3Acommits", + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", "headers": { - "content-length": [ - "79" - ], - "host": [ - "phab.mercurial-scm.org" - ], "content-type": [ "application/x-www-form-urlencoded" - ], + ], "accept": [ "application/mercurial-0.1" - ], + ], "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+867-34bcd3af7109+20180915)" + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "227" ] - }, - "method": "POST" - }, + } + }, "response": { "status": { - "code": 200, + "code": 200, "message": "OK" - }, + }, + "body": { + "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" + }, "headers": { - "server": [ - "Apache/2.4.10 (Debian)" - ], - "strict-transport-security": [ - "max-age=0; includeSubdomains; preload" - ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:33 GMT" + ], "x-frame-options": [ "Deny" - ], + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], "x-content-type-options": [ "nosniff" - ], - "expires": [ - "Sat, 01 Jan 2000 00:00:00 GMT" - ], + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], "set-cookie": [ - "phsid=A%2Fdpvy3rwephm5krs7posuadvjmkh7o7wbytgdhisv; expires=Thu, 14-Sep-2023 04:53:48 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], - "x-xss-protection": [ - "1; mode=block" - ], - "content-type": [ - "application/json" - ], - "cache-control": [ - "no-store" - ], - "date": [ - "Sat, 15 Sep 2018 04:53:48 GMT" + "phsid=A%2F4ca3h5qhtwgn55t3zznczixyt2st4tm44t23aceg; expires=Fri, 01-Mar-2024 00:12:33 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" ] - }, - "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,\"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}" } } - }, + }, { "request": { - "body": "api.token=cli-hahayouwish&diff=diff+--git+a%2Fbeta+b%2Fbeta%0Anew+file+mode+100644%0A---+%2Fdev%2Fnull%0A%2B%2B%2B+b%2Fbeta%0A%40%40+-0%2C0+%2B1%2C1+%40%40%0A%2Bbeta%0A&repositoryPHID=PHID-REPO-bvunnehri4u2isyr7bc3", - "uri": "https://phab.mercurial-scm.org//api/differential.createrawdiff", + "method": "POST", + "body": "api.token=cli-hahayouwish&corpus=create+alpha+for+phabricator+test+%E2%82%AC%0A%0ADifferential+Revision%3A+https%3A%2F%2Fphab.mercurial-scm.org%2FD6054", + "uri": "https://phab.mercurial-scm.org//api/differential.parsecommitmessage", "headers": { - "content-length": [ - "231" - ], - "host": [ - "phab.mercurial-scm.org" - ], "content-type": [ "application/x-www-form-urlencoded" - ], + ], "accept": [ "application/mercurial-0.1" - ], + ], "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+867-34bcd3af7109+20180915)" + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "168" ] - }, - "method": "POST" - }, + } + }, "response": { "status": { - "code": 200, + "code": 200, "message": "OK" - }, + }, + "body": { + "string": "{\"result\":{\"errors\":[],\"fields\":{\"title\":\"create alpha for phabricator test \\u20ac\",\"revisionID\":6054},\"revisionIDFieldInfo\":{\"value\":6054,\"validDomain\":\"https:\\/\\/phab.mercurial-scm.org\"}},\"error_code\":null,\"error_info\":null}" + }, "headers": { + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:34 GMT" + ], + "x-frame-options": [ + "Deny" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-content-type-options": [ + "nosniff" + ], "server": [ "Apache/2.4.10 (Debian)" - ], + ], + "set-cookie": [ + "phsid=A%2F7pvtbpw2waiblbsbydew3vfpulqnccf4647ymipq; expires=Fri, 01-Mar-2024 00:12:34 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], "strict-transport-security": [ "max-age=0; includeSubdomains; preload" - ], - "x-frame-options": [ - "Deny" - ], - "x-content-type-options": [ - "nosniff" - ], + ] + } + } + }, + { + "request": { + "method": "POST", + "body": "api.token=cli-hahayouwish&transactions%5B0%5D%5Btype%5D=update&transactions%5B0%5D%5Bvalue%5D=PHID-DIFF-3wv2fwmzp27uamb66xxg&transactions%5B1%5D%5Btype%5D=title&transactions%5B1%5D%5Bvalue%5D=create+alpha+for+phabricator+test+%E2%82%AC&objectIdentifier=6054", + "uri": "https://phab.mercurial-scm.org//api/differential.revision.edit", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "accept": [ + "application/mercurial-0.1" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "274" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "body": { + "string": "{\"result\":{\"object\":{\"id\":\"6054\",\"phid\":\"PHID-DREV-6pczsbtdpqjc2nskmxwy\"},\"transactions\":[{\"phid\":\"PHID-XACT-DREV-mc2gfyoyhkfz7dy\"}]},\"error_code\":null,\"error_info\":null}" + }, + "headers": { "expires": [ "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2Fafqgsnm7vbqi3vyfg5c7xgxyiv7fgi77vauw6wnv; expires=Thu, 14-Sep-2023 04:53:49 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], + ], "x-xss-protection": [ "1; mode=block" - ], + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:34 GMT" + ], + "x-frame-options": [ + "Deny" + ], + "cache-control": [ + "no-store" + ], "content-type": [ "application/json" - ], - "cache-control": [ - "no-store" - ], - "date": [ - "Sat, 15 Sep 2018 04:53:49 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "set-cookie": [ + "phsid=A%2Fhmyuw3lg6h4joaswqnfcmnzdkp6p2qxotsvahb7l; expires=Fri, 01-Mar-2024 00:12:34 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" ] - }, - "body": { - "string": "{\"result\":{\"id\":11074,\"phid\":\"PHID-DIFF-sitmath22fwgsfsbdmne\",\"uri\":\"https:\\/\\/phab.mercurial-scm.org\\/differential\\/diff\\/11074\\/\"},\"error_code\":null,\"error_info\":null}" } } - }, + }, { "request": { - "body": "diff_id=11074&api.token=cli-hahayouwish&data=%7B%22parent%22%3A+%22f70265671c65ab4b5416e611a6bd61887c013122%22%2C+%22node%22%3A+%221a5640df7bbfc26fc4f6ef38e4d1581d5b2a3122%22%2C+%22user%22%3A+%22test%22%2C+%22date%22%3A+%220+0%22%7D&name=hg%3Ameta", - "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", + "method": "POST", + "body": "repositoryPHID=PHID-REPO-bvunnehri4u2isyr7bc3&api.token=cli-hahayouwish&diff=diff+--git+a%2Fbeta+b%2Fbeta%0Anew+file+mode+100644%0A---+%2Fdev%2Fnull%0A%2B%2B%2B+b%2Fbeta%0A%40%40+-0%2C0+%2B1%2C1+%40%40%0A%2Bbeta%0A", + "uri": "https://phab.mercurial-scm.org//api/differential.createrawdiff", "headers": { - "content-length": [ - "264" - ], + "content-type": [ + "application/x-www-form-urlencoded" + ], + "accept": [ + "application/mercurial-0.1" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], "host": [ "phab.mercurial-scm.org" - ], - "content-type": [ - "application/x-www-form-urlencoded" - ], - "accept": [ - "application/mercurial-0.1" - ], - "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+867-34bcd3af7109+20180915)" + ], + "content-length": [ + "231" ] - }, - "method": "POST" - }, + } + }, "response": { "status": { - "code": 200, + "code": 200, "message": "OK" - }, + }, + "body": { + "string": "{\"result\":{\"id\":14305,\"phid\":\"PHID-DIFF-pofynzhmmqm2czm33teg\",\"uri\":\"https:\\/\\/phab.mercurial-scm.org\\/differential\\/diff\\/14305\\/\"},\"error_code\":null,\"error_info\":null}" + }, "headers": { - "server": [ - "Apache/2.4.10 (Debian)" - ], - "strict-transport-security": [ - "max-age=0; includeSubdomains; preload" - ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:35 GMT" + ], "x-frame-options": [ "Deny" - ], - "x-content-type-options": [ - "nosniff" - ], - "expires": [ - "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2Frvpld6nyjmtrq3qynmldbquhgwbrhcdhythbot6r; expires=Thu, 14-Sep-2023 04:53:49 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], - "x-xss-protection": [ - "1; mode=block" - ], + ], + "cache-control": [ + "no-store" + ], "content-type": [ "application/json" - ], - "cache-control": [ - "no-store" - ], - "date": [ - "Sat, 15 Sep 2018 04:53:49 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "set-cookie": [ + "phsid=A%2F2xpzt6bryn7n3gug3ll7iu2gfqyy4zss5d7nolew; expires=Fri, 01-Mar-2024 00:12:35 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" ] - }, - "body": { - "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" } } - }, + }, { "request": { - "body": "diff_id=11074&api.token=cli-hahayouwish&data=%7B%221a5640df7bbfc26fc4f6ef38e4d1581d5b2a3122%22%3A+%7B%22time%22%3A+0.0%2C+%22authorEmail%22%3A+%22test%22%2C+%22author%22%3A+%22test%22%7D%7D&name=local%3Acommits", - "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", + "method": "POST", + "body": "diff_id=14305&data=%7B%22user%22%3A+%22test%22%2C+%22parent%22%3A+%22939d862f03181a366fea64a540baf0bb33f85d92%22%2C+%22node%22%3A+%22f55f947ed0f8ad80a04b7e87a0bf9febda2070b1%22%2C+%22date%22%3A+%220+0%22%7D&api.token=cli-hahayouwish&name=hg%3Ameta", + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", "headers": { - "content-length": [ - "227" - ], - "host": [ - "phab.mercurial-scm.org" - ], "content-type": [ "application/x-www-form-urlencoded" - ], + ], "accept": [ "application/mercurial-0.1" - ], + ], "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+867-34bcd3af7109+20180915)" + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "264" ] - }, - "method": "POST" - }, + } + }, "response": { "status": { - "code": 200, + "code": 200, "message": "OK" - }, + }, + "body": { + "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" + }, "headers": { - "server": [ - "Apache/2.4.10 (Debian)" - ], - "strict-transport-security": [ - "max-age=0; includeSubdomains; preload" - ], - "x-frame-options": [ - "Deny" - ], - "x-content-type-options": [ - "nosniff" - ], "expires": [ "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2Flpkv333zitgztqx2clpg2uibjy633myliembguf2; expires=Thu, 14-Sep-2023 04:53:50 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], + ], "x-xss-protection": [ "1; mode=block" - ], - "content-type": [ - "application/json" - ], + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:36 GMT" + ], + "x-frame-options": [ + "Deny" + ], "cache-control": [ "no-store" - ], - "date": [ - "Sat, 15 Sep 2018 04:53:49 GMT" - ] - }, - "body": { - "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" - } - } - }, - { - "request": { - "body": "api.token=cli-hahayouwish&corpus=create+beta+for+phabricator+test", - "uri": "https://phab.mercurial-scm.org//api/differential.parsecommitmessage", - "headers": { - "content-length": [ - "82" - ], - "host": [ - "phab.mercurial-scm.org" - ], + ], "content-type": [ - "application/x-www-form-urlencoded" - ], - "accept": [ - "application/mercurial-0.1" - ], - "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+867-34bcd3af7109+20180915)" - ] - }, - "method": "POST" - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { + "application/json" + ], + "x-content-type-options": [ + "nosniff" + ], "server": [ "Apache/2.4.10 (Debian)" - ], + ], + "set-cookie": [ + "phsid=A%2Fygzbpe74xh6shrejkd3tj32t4gaqnvumy63iudrd; expires=Fri, 01-Mar-2024 00:12:36 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], "strict-transport-security": [ "max-age=0; includeSubdomains; preload" - ], - "x-frame-options": [ - "Deny" - ], - "x-content-type-options": [ - "nosniff" - ], - "expires": [ - "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2Fav6ovbqxoy3dijysouoabcz7jqescejugeedwspi; expires=Thu, 14-Sep-2023 04:53:50 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], - "x-xss-protection": [ - "1; mode=block" - ], - "content-type": [ - "application/json" - ], - "cache-control": [ - "no-store" - ], - "date": [ - "Sat, 15 Sep 2018 04:53:50 GMT" ] - }, - "body": { - "string": "{\"result\":{\"errors\":[],\"fields\":{\"title\":\"create beta for phabricator test\"},\"revisionIDFieldInfo\":{\"value\":null,\"validDomain\":\"https:\\/\\/phab.mercurial-scm.org\"}},\"error_code\":null,\"error_info\":null}" } } - }, + }, { "request": { - "body": "api.token=cli-hahayouwish&transactions%5B0%5D%5Btype%5D=update&transactions%5B0%5D%5Bvalue%5D=PHID-DIFF-sitmath22fwgsfsbdmne&transactions%5B1%5D%5Btype%5D=summary&transactions%5B1%5D%5Bvalue%5D=Depends+on+D4596&transactions%5B2%5D%5Btype%5D=summary&transactions%5B2%5D%5Bvalue%5D=+&transactions%5B3%5D%5Btype%5D=title&transactions%5B3%5D%5Bvalue%5D=create+beta+for+phabricator+test", - "uri": "https://phab.mercurial-scm.org//api/differential.revision.edit", + "method": "POST", + "body": "diff_id=14305&data=%7B%22f55f947ed0f8ad80a04b7e87a0bf9febda2070b1%22%3A+%7B%22author%22%3A+%22test%22%2C+%22authorEmail%22%3A+%22test%22%2C+%22time%22%3A+0.0%7D%7D&api.token=cli-hahayouwish&name=local%3Acommits", + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", "headers": { - "content-length": [ - "398" - ], - "host": [ - "phab.mercurial-scm.org" - ], "content-type": [ "application/x-www-form-urlencoded" - ], + ], "accept": [ "application/mercurial-0.1" - ], + ], "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+867-34bcd3af7109+20180915)" + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "227" ] - }, - "method": "POST" - }, + } + }, "response": { "status": { - "code": 200, + "code": 200, "message": "OK" - }, + }, + "body": { + "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" + }, + "headers": { + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:37 GMT" + ], + "x-frame-options": [ + "Deny" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-content-type-options": [ + "nosniff" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "set-cookie": [ + "phsid=A%2Fgw67yfcsx7vvxkymeac52ca5is4jkxjwqqkhayco; expires=Fri, 01-Mar-2024 00:12:37 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ] + } + } + }, + { + "request": { + "method": "POST", + "body": "api.token=cli-hahayouwish&corpus=create+beta+for+phabricator+test", + "uri": "https://phab.mercurial-scm.org//api/differential.parsecommitmessage", "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "accept": [ + "application/mercurial-0.1" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "82" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "body": { + "string": "{\"result\":{\"errors\":[],\"fields\":{\"title\":\"create beta for phabricator test\"},\"revisionIDFieldInfo\":{\"value\":null,\"validDomain\":\"https:\\/\\/phab.mercurial-scm.org\"}},\"error_code\":null,\"error_info\":null}" + }, + "headers": { + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:37 GMT" + ], + "x-frame-options": [ + "Deny" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-content-type-options": [ + "nosniff" + ], "server": [ "Apache/2.4.10 (Debian)" - ], + ], + "set-cookie": [ + "phsid=A%2Fyt5ejs6pgvjdxzms7geaxup63jpqkisngu3cprk6; expires=Fri, 01-Mar-2024 00:12:37 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], "strict-transport-security": [ "max-age=0; includeSubdomains; preload" - ], - "x-frame-options": [ - "Deny" - ], - "x-content-type-options": [ - "nosniff" - ], - "expires": [ - "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2Fywrdtdafcn5p267qiqfgfh7h4buaqxmnrgan6fh2; expires=Thu, 14-Sep-2023 04:53:50 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], - "x-xss-protection": [ - "1; mode=block" - ], - "content-type": [ - "application/json" - ], - "cache-control": [ - "no-store" - ], - "date": [ - "Sat, 15 Sep 2018 04:53:50 GMT" ] - }, - "body": { - "string": "{\"result\":{\"object\":{\"id\":4597,\"phid\":\"PHID-DREV-as7flhipq636gqvnyrsf\"},\"transactions\":[{\"phid\":\"PHID-XACT-DREV-bwzosyyqmzlhe6g\"},{\"phid\":\"PHID-XACT-DREV-ina5ktuwp6eiwv6\"},{\"phid\":\"PHID-XACT-DREV-22bjztn3szeyicy\"},{\"phid\":\"PHID-XACT-DREV-kcv6zk2yboepbmo\"},{\"phid\":\"PHID-XACT-DREV-mnbp6f6sq54hzs2\"},{\"phid\":\"PHID-XACT-DREV-qlakltzsdzclpha\"},{\"phid\":\"PHID-XACT-DREV-a5347cobhvqnc22\"},{\"phid\":\"PHID-XACT-DREV-sciqq5cqfuqfh67\"}]},\"error_code\":null,\"error_info\":null}" } } - }, + }, { "request": { - "body": "api.token=cli-hahayouwish&ids%5B0%5D=4596&ids%5B1%5D=4597", - "uri": "https://phab.mercurial-scm.org//api/differential.query", + "method": "POST", + "body": "transactions%5B0%5D%5Btype%5D=update&transactions%5B0%5D%5Bvalue%5D=PHID-DIFF-pofynzhmmqm2czm33teg&transactions%5B1%5D%5Btype%5D=summary&transactions%5B1%5D%5Bvalue%5D=Depends+on+D6054&transactions%5B2%5D%5Btype%5D=summary&transactions%5B2%5D%5Bvalue%5D=+&transactions%5B3%5D%5Btype%5D=title&transactions%5B3%5D%5Bvalue%5D=create+beta+for+phabricator+test&api.token=cli-hahayouwish", + "uri": "https://phab.mercurial-scm.org//api/differential.revision.edit", "headers": { - "content-length": [ - "74" - ], - "host": [ - "phab.mercurial-scm.org" - ], "content-type": [ "application/x-www-form-urlencoded" - ], + ], "accept": [ "application/mercurial-0.1" - ], + ], "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+867-34bcd3af7109+20180915)" + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "398" ] - }, - "method": "POST" - }, + } + }, "response": { "status": { - "code": 200, + "code": 200, "message": "OK" - }, + }, + "body": { + "string": "{\"result\":{\"object\":{\"id\":6055,\"phid\":\"PHID-DREV-k2hin2iytzuvu3j5icm3\"},\"transactions\":[{\"phid\":\"PHID-XACT-DREV-3xjvwemev7dqsj3\"},{\"phid\":\"PHID-XACT-DREV-giypqlavgemr56i\"},{\"phid\":\"PHID-XACT-DREV-tcfqd4aj6rxtxzz\"},{\"phid\":\"PHID-XACT-DREV-2timgnudaxeln7a\"},{\"phid\":\"PHID-XACT-DREV-vb6564lrsxpsw4l\"},{\"phid\":\"PHID-XACT-DREV-maym4xi2tdhysvo\"},{\"phid\":\"PHID-XACT-DREV-bna5heyckxkk5ke\"},{\"phid\":\"PHID-XACT-DREV-b2eig3stbdic7k7\"}]},\"error_code\":null,\"error_info\":null}" + }, "headers": { - "server": [ - "Apache/2.4.10 (Debian)" - ], - "strict-transport-security": [ - "max-age=0; includeSubdomains; preload" - ], - "x-frame-options": [ - "Deny" - ], - "x-content-type-options": [ - "nosniff" - ], "expires": [ "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2F2iio6iugurtd7ml2tnwfwv24hkrfhs62yshvmouv; expires=Thu, 14-Sep-2023 04:53:51 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], + ], "x-xss-protection": [ "1; mode=block" - ], - "content-type": [ - "application/json" - ], + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:38 GMT" + ], + "x-frame-options": [ + "Deny" + ], "cache-control": [ "no-store" - ], - "date": [ - "Sat, 15 Sep 2018 04:53:51 GMT" + ], + "content-type": [ + "application/json" + ], + "x-content-type-options": [ + "nosniff" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "set-cookie": [ + "phsid=A%2Fgqyrj3op7rar26t6crqlt6rpdsxcefnrofqkw5rt; expires=Fri, 01-Mar-2024 00:12:38 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" ] - }, - "body": { - "string": "{\"result\":[{\"id\":\"4597\",\"phid\":\"PHID-DREV-as7flhipq636gqvnyrsf\",\"title\":\"create beta for phabricator test\",\"uri\":\"https:\\/\\/phab.mercurial-scm.org\\/D4597\",\"dateCreated\":\"1536987231\",\"dateModified\":\"1536987231\",\"authorPHID\":\"PHID-USER-cgcdlc6c3gpxapbmkwa2\",\"status\":\"0\",\"statusName\":\"Needs Review\",\"properties\":[],\"branch\":null,\"summary\":\" \",\"testPlan\":\"\",\"lineCount\":\"1\",\"activeDiffPHID\":\"PHID-DIFF-sitmath22fwgsfsbdmne\",\"diffs\":[\"11074\"],\"commits\":[],\"reviewers\":{\"PHID-PROJ-3dvcxzznrjru2xmmses3\":\"PHID-PROJ-3dvcxzznrjru2xmmses3\"},\"ccs\":[\"PHID-USER-q42dn7cc3donqriafhjx\"],\"hashes\":[],\"auxiliary\":{\"phabricator:projects\":[],\"phabricator:depends-on\":[\"PHID-DREV-bntcdwe74cw3vwkzt6nq\"]},\"repositoryPHID\":\"PHID-REPO-bvunnehri4u2isyr7bc3\",\"sourcePath\":null},{\"id\":\"4596\",\"phid\":\"PHID-DREV-bntcdwe74cw3vwkzt6nq\",\"title\":\"create alpha for phabricator test\",\"uri\":\"https:\\/\\/phab.mercurial-scm.org\\/D4596\",\"dateCreated\":\"1536986862\",\"dateModified\":\"1536987231\",\"authorPHID\":\"PHID-USER-cgcdlc6c3gpxapbmkwa2\",\"status\":\"0\",\"statusName\":\"Needs Review\",\"properties\":[],\"branch\":null,\"summary\":\"\",\"testPlan\":\"\",\"lineCount\":\"2\",\"activeDiffPHID\":\"PHID-DIFF-vwre7kpjdq52wbt56ftl\",\"diffs\":[\"11073\",\"11072\"],\"commits\":[],\"reviewers\":{\"PHID-PROJ-3dvcxzznrjru2xmmses3\":\"PHID-PROJ-3dvcxzznrjru2xmmses3\"},\"ccs\":[\"PHID-USER-q42dn7cc3donqriafhjx\"],\"hashes\":[],\"auxiliary\":{\"phabricator:projects\":[],\"phabricator:depends-on\":[]},\"repositoryPHID\":\"PHID-REPO-bvunnehri4u2isyr7bc3\",\"sourcePath\":null}],\"error_code\":null,\"error_info\":null}" } } - }, + }, { "request": { - "body": "diff_id=11074&api.token=cli-hahayouwish&data=%7B%22parent%22%3A+%22f70265671c65ab4b5416e611a6bd61887c013122%22%2C+%22node%22%3A+%22c2b605ada280b38c38031b5d31622869c72b0d8d%22%2C+%22user%22%3A+%22test%22%2C+%22date%22%3A+%220+0%22%7D&name=hg%3Ameta", - "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", + "method": "POST", + "body": "api.token=cli-hahayouwish&ids%5B0%5D=6054&ids%5B1%5D=6055", + "uri": "https://phab.mercurial-scm.org//api/differential.query", "headers": { - "content-length": [ - "264" - ], - "host": [ - "phab.mercurial-scm.org" - ], "content-type": [ "application/x-www-form-urlencoded" - ], + ], "accept": [ "application/mercurial-0.1" - ], + ], "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+867-34bcd3af7109+20180915)" + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "74" ] - }, - "method": "POST" - }, + } + }, "response": { "status": { - "code": 200, + "code": 200, "message": "OK" - }, + }, + "body": { + "string": "{\"result\":[{\"id\":\"6055\",\"phid\":\"PHID-DREV-k2hin2iytzuvu3j5icm3\",\"title\":\"create beta for phabricator test\",\"uri\":\"https:\\/\\/phab.mercurial-scm.org\\/D6055\",\"dateCreated\":\"1551571958\",\"dateModified\":\"1551571958\",\"authorPHID\":\"PHID-USER-5iy6mkoveguhm2zthvww\",\"status\":\"0\",\"statusName\":\"Needs Review\",\"properties\":[],\"branch\":null,\"summary\":\" \",\"testPlan\":\"\",\"lineCount\":\"1\",\"activeDiffPHID\":\"PHID-DIFF-pofynzhmmqm2czm33teg\",\"diffs\":[\"14305\"],\"commits\":[],\"reviewers\":{\"PHID-PROJ-3dvcxzznrjru2xmmses3\":\"PHID-PROJ-3dvcxzznrjru2xmmses3\"},\"ccs\":[\"PHID-USER-q42dn7cc3donqriafhjx\"],\"hashes\":[],\"auxiliary\":{\"phabricator:projects\":[],\"phabricator:depends-on\":[\"PHID-DREV-6pczsbtdpqjc2nskmxwy\"]},\"repositoryPHID\":\"PHID-REPO-bvunnehri4u2isyr7bc3\",\"sourcePath\":null},{\"id\":\"6054\",\"phid\":\"PHID-DREV-6pczsbtdpqjc2nskmxwy\",\"title\":\"create alpha for phabricator test \\u20ac\",\"uri\":\"https:\\/\\/phab.mercurial-scm.org\\/D6054\",\"dateCreated\":\"1551571947\",\"dateModified\":\"1551571958\",\"authorPHID\":\"PHID-USER-5iy6mkoveguhm2zthvww\",\"status\":\"0\",\"statusName\":\"Needs Review\",\"properties\":[],\"branch\":null,\"summary\":\"\",\"testPlan\":\"\",\"lineCount\":\"2\",\"activeDiffPHID\":\"PHID-DIFF-3wv2fwmzp27uamb66xxg\",\"diffs\":[\"14304\",\"14303\"],\"commits\":[],\"reviewers\":{\"PHID-PROJ-3dvcxzznrjru2xmmses3\":\"PHID-PROJ-3dvcxzznrjru2xmmses3\"},\"ccs\":[\"PHID-USER-q42dn7cc3donqriafhjx\"],\"hashes\":[],\"auxiliary\":{\"phabricator:projects\":[],\"phabricator:depends-on\":[]},\"repositoryPHID\":\"PHID-REPO-bvunnehri4u2isyr7bc3\",\"sourcePath\":null}],\"error_code\":null,\"error_info\":null}" + }, "headers": { - "server": [ - "Apache/2.4.10 (Debian)" - ], - "strict-transport-security": [ - "max-age=0; includeSubdomains; preload" - ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:39 GMT" + ], "x-frame-options": [ "Deny" - ], + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], "x-content-type-options": [ "nosniff" - ], - "expires": [ - "Sat, 01 Jan 2000 00:00:00 GMT" - ], + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], "set-cookie": [ - "phsid=A%2Fvwsd2gtkeg64gticvthsxnpufne42t4eqityra25; expires=Thu, 14-Sep-2023 04:53:52 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], - "x-xss-protection": [ - "1; mode=block" - ], - "content-type": [ - "application/json" - ], - "cache-control": [ - "no-store" - ], - "date": [ - "Sat, 15 Sep 2018 04:53:52 GMT" + "phsid=A%2F5wxg6sdf2mby5iljd5e5qpgoex6uefo5pgltav7k; expires=Fri, 01-Mar-2024 00:12:39 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" ] - }, - "body": { - "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" } } - }, + }, { "request": { - "body": "diff_id=11074&api.token=cli-hahayouwish&data=%7B%22c2b605ada280b38c38031b5d31622869c72b0d8d%22%3A+%7B%22time%22%3A+0.0%2C+%22authorEmail%22%3A+%22test%22%2C+%22author%22%3A+%22test%22%7D%7D&name=local%3Acommits", - "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", + "method": "POST", + "body": "diff_id=14305&data=%7B%22user%22%3A+%22test%22%2C+%22parent%22%3A+%22939d862f03181a366fea64a540baf0bb33f85d92%22%2C+%22node%22%3A+%229c64e1fc33e1b9a70eb60643fe96a4d5badad9dc%22%2C+%22date%22%3A+%220+0%22%7D&api.token=cli-hahayouwish&name=hg%3Ameta", + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", "headers": { - "content-length": [ - "227" - ], - "host": [ - "phab.mercurial-scm.org" - ], "content-type": [ "application/x-www-form-urlencoded" - ], + ], "accept": [ "application/mercurial-0.1" - ], + ], "user-agent": [ - "mercurial/proto-1.0 (Mercurial 4.7.1+867-34bcd3af7109+20180915)" + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "264" ] - }, - "method": "POST" - }, + } + }, "response": { "status": { - "code": 200, + "code": 200, "message": "OK" - }, + }, + "body": { + "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" + }, "headers": { + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:40 GMT" + ], + "x-frame-options": [ + "Deny" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-content-type-options": [ + "nosniff" + ], "server": [ "Apache/2.4.10 (Debian)" - ], + ], + "set-cookie": [ + "phsid=A%2F4c7iamnsn57y6qpccmbesf4ooflmkqvt4m6udawl; expires=Fri, 01-Mar-2024 00:12:40 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], "strict-transport-security": [ "max-age=0; includeSubdomains; preload" - ], - "x-frame-options": [ - "Deny" - ], - "x-content-type-options": [ - "nosniff" - ], + ] + } + } + }, + { + "request": { + "method": "POST", + "body": "diff_id=14305&data=%7B%229c64e1fc33e1b9a70eb60643fe96a4d5badad9dc%22%3A+%7B%22author%22%3A+%22test%22%2C+%22authorEmail%22%3A+%22test%22%2C+%22time%22%3A+0.0%7D%7D&api.token=cli-hahayouwish&name=local%3Acommits", + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "accept": [ + "application/mercurial-0.1" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 4.9+477-7c86ec0ca5c5+20190303)" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "content-length": [ + "227" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "body": { + "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" + }, + "headers": { "expires": [ "Sat, 01 Jan 2000 00:00:00 GMT" - ], - "set-cookie": [ - "phsid=A%2Fflxjbmx24qcq7qhggolo6b7iue7utwp7kyoazduk; expires=Thu, 14-Sep-2023 04:53:52 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" - ], + ], "x-xss-protection": [ "1; mode=block" - ], + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sun, 03 Mar 2019 00:12:40 GMT" + ], + "x-frame-options": [ + "Deny" + ], + "cache-control": [ + "no-store" + ], "content-type": [ "application/json" - ], - "cache-control": [ - "no-store" - ], - "date": [ - "Sat, 15 Sep 2018 04:53:52 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "set-cookie": [ + "phsid=A%2Ftdudqohojcq4hyc7gl4kthzkhuq3nmcxgnunpbjm; expires=Fri, 01-Mar-2024 00:12:40 GMT; Max-Age=157680000; path=/; domain=phab.mercurial-scm.org; secure; httponly" + ], + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" ] - }, - "body": { - "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" } } } - ] + ], + "version": 1 } diff --git a/tests/test-phabricator.t b/tests/test-phabricator.t --- a/tests/test-phabricator.t +++ b/tests/test-phabricator.t @@ -48,22 +48,24 @@ phabupdate with an accept: > --test-vcr "$VCR/accept-4564.json" Create a differential diff: + $ HGENCODING=utf-8; export HGENCODING $ echo alpha > alpha - $ hg ci --addremove -m 'create alpha for phabricator test' + $ hg ci --addremove -m 'create alpha for phabricator test €' adding alpha $ hg phabsend -r . --test-vcr "$VCR/phabsend-create-alpha.json" - D4596 - created - 5206a4fa1e6c: create alpha for phabricator test - saved backup bundle to $TESTTMP/repo/.hg/strip-backup/5206a4fa1e6c-dec9e777-phabsend.hg + D6054 - created - d386117f30e6: create alpha for phabricator test \xe2\x82\xac (esc) + saved backup bundle to $TESTTMP/repo/.hg/strip-backup/d386117f30e6-24ffe649-phabsend.hg $ echo more >> alpha $ HGEDITOR=true hg ci --amend - saved backup bundle to $TESTTMP/repo/.hg/strip-backup/d8f232f7d799-c573510a-amend.hg + saved backup bundle to $TESTTMP/repo/.hg/strip-backup/cb03845d6dd9-870f61a6-amend.hg $ echo beta > beta $ hg ci --addremove -m 'create beta for phabricator test' adding beta $ hg phabsend -r ".^::" --test-vcr "$VCR/phabsend-update-alpha-create-beta.json" - D4596 - updated - f70265671c65: create alpha for phabricator test - D4597 - created - 1a5640df7bbf: create beta for phabricator test - saved backup bundle to $TESTTMP/repo/.hg/strip-backup/1a5640df7bbf-6daf3e6e-phabsend.hg + D6054 - updated - 939d862f0318: create alpha for phabricator test \xe2\x82\xac (esc) + D6055 - created - f55f947ed0f8: create beta for phabricator test + saved backup bundle to $TESTTMP/repo/.hg/strip-backup/f55f947ed0f8-0d1e502e-phabsend.hg + $ unset HGENCODING The amend won't explode after posting a public commit. The local tag is left behind to identify it. @@ -74,13 +76,13 @@ behind to identify it. $ echo 'draft change' > alpha $ hg ci -m 'create draft change for phabricator testing' $ hg phabsend --amend -r '.^::' --test-vcr "$VCR/phabsend-create-public.json" - D5544 - created - 540a21d3fbeb: create public change for phabricator testing - D5545 - created - 6bca752686cd: create draft change for phabricator testing - warning: not updating public commit 2:540a21d3fbeb - saved backup bundle to $TESTTMP/repo/.hg/strip-backup/6bca752686cd-41faefb4-phabsend.hg + D5544 - created - a56e5ebd77e6: create public change for phabricator testing + D5545 - created - 6a0ade3e3ec2: create draft change for phabricator testing + warning: not updating public commit 2:a56e5ebd77e6 + saved backup bundle to $TESTTMP/repo/.hg/strip-backup/6a0ade3e3ec2-aca7d23c-phabsend.hg $ hg tags -v - tip 3:620a50fd6ed9 - D5544 2:540a21d3fbeb local + tip 3:90532860b5e1 + D5544 2:a56e5ebd77e6 local $ hg debugcallconduit user.search --test-vcr "$VCR/phab-conduit.json" < { @@ -107,13 +109,13 @@ Template keywords $ hg log -T'{rev} {phabreview|json}\n' 3 {"id": "D5545", "url": "https://phab.mercurial-scm.org/D5545"} 2 {"id": "D5544", "url": "https://phab.mercurial-scm.org/D5544"} - 1 {"id": "D4597", "url": "https://phab.mercurial-scm.org/D4597"} - 0 {"id": "D4596", "url": "https://phab.mercurial-scm.org/D4596"} + 1 {"id": "D6055", "url": "https://phab.mercurial-scm.org/D6055"} + 0 {"id": "D6054", "url": "https://phab.mercurial-scm.org/D6054"} $ hg log -T'{rev} {if(phabreview, "{phabreview.url} {phabreview.id}")}\n' 3 https://phab.mercurial-scm.org/D5545 D5545 2 https://phab.mercurial-scm.org/D5544 D5544 - 1 https://phab.mercurial-scm.org/D4597 D4597 - 0 https://phab.mercurial-scm.org/D4596 D4596 + 1 https://phab.mercurial-scm.org/D6055 D6055 + 0 https://phab.mercurial-scm.org/D6054 D6054 $ cd ..