# HG changeset patch # User Augie Fackler # Date 2020-02-03 16:51:52 # Node ID 15eb90965a003d7a83c182fd404cd4935765f561 # Parent 830eae18b2f3194630fa99780c9451ae01ca1ecc # Parent c002d504ff11fe698b276460f451826918bcf0c0 merge with stable diff --git a/.hgsigs b/.hgsigs --- a/.hgsigs +++ b/.hgsigs @@ -191,3 +191,4 @@ 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 diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -204,3 +204,4 @@ a50fecefa691c9b72a99e49aa6fe9dd13943c2bf b4c82b70418022e67cc0e69b1aa3c3aa43aa1d29 5.2.2 84a0102c05c7852c8215ef6cf21d809927586b69 5.3rc0 e4344e463c0c888a2f437b78b5982ecdf3f6650a 5.3rc1 +7f5410dfc8a64bb587d19637deb95d378fd1eb5c 5.3 diff --git a/contrib/packaging/debian/copyright b/contrib/packaging/debian/copyright --- a/contrib/packaging/debian/copyright +++ b/contrib/packaging/debian/copyright @@ -3,7 +3,7 @@ Upstream-Name: mercurial Source: https://www.mercurial-scm.org/ Files: * -Copyright: 2005-2019, Matt Mackall and others. +Copyright: 2005-2020, Matt Mackall and others. License: GPL-2+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public diff --git a/contrib/packaging/hgpackaging/inno.py b/contrib/packaging/hgpackaging/inno.py --- a/contrib/packaging/hgpackaging/inno.py +++ b/contrib/packaging/hgpackaging/inno.py @@ -20,6 +20,8 @@ from .py2exe import ( ) from .util import ( find_vc_runtime_files, + normalize_windows_version, + process_install_rules, read_version_py, ) @@ -30,6 +32,10 @@ EXTRA_PACKAGES = { 'win32ctypes', } +EXTRA_INSTALL_RULES = [ + ('contrib/win32/mercurial.ini', 'defaultrc/mercurial.rc'), +] + PACKAGE_FILES_METADATA = { 'ReadMe.html': 'Flags: isreadme', } @@ -60,7 +66,7 @@ def build( staging_dir = inno_build_dir / 'stage' requirements_txt = ( - source_dir / 'contrib' / 'packaging' / 'inno' / 'requirements.txt' + source_dir / 'contrib' / 'packaging' / 'requirements_win32.txt' ) inno_build_dir.mkdir(parents=True, exist_ok=True) @@ -83,6 +89,9 @@ def build( # Now assemble all the packaged files into the staging directory. stage_install(source_dir, staging_dir) + # We also install some extra files. + process_install_rules(EXTRA_INSTALL_RULES, source_dir, staging_dir) + # hg.exe depends on VC9 runtime DLLs. Copy those into place. for f in find_vc_runtime_files(vc_x64): if f.name.endswith('.manifest'): @@ -156,6 +165,7 @@ def build( version = read_version_py(source_dir) args.append('/dVERSION=%s' % version) + args.append('/dQUAD_VERSION=%s' % normalize_windows_version(version)) args.append('/Odist') args.append(str(inno_build_dir / 'mercurial.iss')) diff --git a/contrib/packaging/hgpackaging/py2exe.py b/contrib/packaging/hgpackaging/py2exe.py --- a/contrib/packaging/hgpackaging/py2exe.py +++ b/contrib/packaging/hgpackaging/py2exe.py @@ -21,20 +21,20 @@ from .util import ( STAGING_RULES = [ - ('contrib/bash_completion', 'Contrib/'), - ('contrib/hgk', 'Contrib/hgk.tcl'), - ('contrib/hgweb.fcgi', 'Contrib/'), - ('contrib/hgweb.wsgi', 'Contrib/'), - ('contrib/logo-droplets.svg', 'Contrib/'), - ('contrib/mercurial.el', 'Contrib/'), - ('contrib/mq.el', 'Contrib/'), - ('contrib/tcsh_completion', 'Contrib/'), - ('contrib/tcsh_completion_build.sh', 'Contrib/'), - ('contrib/vim/*', 'Contrib/Vim/'), + ('contrib/bash_completion', 'contrib/'), + ('contrib/hgk', 'contrib/hgk.tcl'), + ('contrib/hgweb.fcgi', 'contrib/'), + ('contrib/hgweb.wsgi', 'contrib/'), + ('contrib/logo-droplets.svg', 'contrib/'), + ('contrib/mercurial.el', 'contrib/'), + ('contrib/mq.el', 'contrib/'), + ('contrib/tcsh_completion', 'contrib/'), + ('contrib/tcsh_completion_build.sh', 'contrib/'), + ('contrib/vim/*', 'contrib/vim/'), ('contrib/win32/postinstall.txt', 'ReleaseNotes.txt'), ('contrib/win32/ReadMe.html', 'ReadMe.html'), - ('contrib/xml.rnc', 'Contrib/'), - ('contrib/zsh_completion', 'Contrib/'), + ('contrib/xml.rnc', 'contrib/'), + ('contrib/zsh_completion', 'contrib/'), ('dist/hg.exe', './'), ('dist/lib/*.dll', 'lib/'), ('dist/lib/*.pyd', 'lib/'), @@ -47,7 +47,7 @@ STAGING_RULES = [ ('mercurial/helptext/**/*.txt', 'helptext/'), ('mercurial/defaultrc/*.rc', 'defaultrc/'), ('mercurial/locale/**/*', 'locale/'), - ('mercurial/templates/**/*', 'Templates/'), + ('mercurial/templates/**/*', 'templates/'), ('COPYING', 'Copying.txt'), ] diff --git a/contrib/packaging/hgpackaging/util.py b/contrib/packaging/hgpackaging/util.py --- a/contrib/packaging/hgpackaging/util.py +++ b/contrib/packaging/hgpackaging/util.py @@ -82,6 +82,66 @@ def windows_10_sdk_info(): } +def normalize_windows_version(version): + """Normalize Mercurial version string so WiX/Inno accepts it. + + Version strings have to be numeric ``A.B.C[.D]`` to conform with MSI's + requirements. + + We normalize RC version or the commit count to a 4th version component. + We store this in the 4th component because ``A.B.C`` releases do occur + and we want an e.g. ``5.3rc0`` version to be semantically less than a + ``5.3.1rc2`` version. This requires always reserving the 3rd version + component for the point release and the ``X.YrcN`` release is always + point release 0. + + In the case of an RC and presence of ``+`` suffix data, we can't use both + because the version format is limited to 4 components. We choose to use + RC and throw away the commit count in the suffix. This means we could + produce multiple installers with the same normalized version string. + + >>> normalize_windows_version("5.3") + '5.3.0' + + >>> normalize_windows_version("5.3rc0") + '5.3.0.0' + + >>> normalize_windows_version("5.3rc1") + '5.3.0.1' + + >>> normalize_windows_version("5.3rc1+2-abcdef") + '5.3.0.1' + + >>> normalize_windows_version("5.3+2-abcdef") + '5.3.0.2' + """ + if '+' in version: + version, extra = version.split('+', 1) + else: + extra = None + + # 4.9rc0 + if version[:-1].endswith('rc'): + rc = int(version[-1:]) + version = version[:-3] + else: + rc = None + + # Ensure we have at least X.Y version components. + versions = [int(v) for v in version.split('.')] + while len(versions) < 3: + versions.append(0) + + if len(versions) < 4: + if rc is not None: + versions.append(rc) + elif extra: + # -+ + versions.append(int(extra.split('-')[0])) + + return '.'.join('%d' % x for x in versions[0:4]) + + def find_signtool(): """Find signtool.exe from the Windows SDK.""" sdk = windows_10_sdk_info() diff --git a/contrib/packaging/hgpackaging/wix.py b/contrib/packaging/hgpackaging/wix.py --- a/contrib/packaging/hgpackaging/wix.py +++ b/contrib/packaging/hgpackaging/wix.py @@ -24,14 +24,18 @@ from .py2exe import ( ) from .util import ( extract_zip_to_directory, + normalize_windows_version, process_install_rules, sign_with_signtool, ) EXTRA_PACKAGES = { + 'dulwich', 'distutils', + 'keyring', 'pygments', + 'win32ctypes', } @@ -71,34 +75,6 @@ def find_version(source_dir: pathlib.Pat return m.group(1) -def normalize_version(version): - """Normalize Mercurial version string so WiX accepts it. - - Version strings have to be numeric X.Y.Z. - """ - - if '+' in version: - version, extra = version.split('+', 1) - else: - extra = None - - # 4.9rc0 - if version[:-1].endswith('rc'): - version = version[:-3] - - versions = [int(v) for v in version.split('.')] - while len(versions) < 3: - versions.append(0) - - major, minor, build = versions[:3] - - if extra: - # -+ - build = int(extra.split('-')[0]) - - return '.'.join('%d' % x for x in (major, minor, build)) - - def ensure_vc90_merge_modules(build_dir): x86 = ( download_entry( @@ -367,7 +343,7 @@ def build_installer( dist_dir = source_dir / 'dist' wix_dir = source_dir / 'contrib' / 'packaging' / 'wix' - requirements_txt = wix_dir / 'requirements.txt' + requirements_txt = 'requirements_win32.txt' build_py2exe( source_dir, @@ -379,8 +355,11 @@ def build_installer( extra_packages_script=extra_packages_script, ) - version = version or normalize_version(find_version(source_dir)) + orig_version = version or find_version(source_dir) + version = normalize_windows_version(orig_version) print('using version string: %s' % version) + if version != orig_version: + print('(normalized from: %s)' % orig_version) if post_build_fn: post_build_fn(source_dir, hg_build_dir, dist_dir, version) @@ -440,7 +419,7 @@ def build_installer( run_candle(wix_path, build_dir, source, source_build_rel, defines=defines) msi_path = ( - source_dir / 'dist' / ('%s-%s-%s.msi' % (msi_name, version, arch)) + source_dir / 'dist' / ('%s-%s-%s.msi' % (msi_name, orig_version, arch)) ) args = [ diff --git a/contrib/packaging/inno/mercurial.iss b/contrib/packaging/inno/mercurial.iss --- a/contrib/packaging/inno/mercurial.iss +++ b/contrib/packaging/inno/mercurial.iss @@ -6,7 +6,7 @@ #endif [Setup] -AppCopyright=Copyright 2005-2019 Matt Mackall and others +AppCopyright=Copyright 2005-2020 Matt Mackall and others AppName=Mercurial AppVersion={#VERSION} #if ARCH == "x64" @@ -30,8 +30,9 @@ AppContact=mercurial@mercurial-scm.org DefaultDirName={pf}\Mercurial SourceDir=stage VersionInfoDescription=Mercurial distributed SCM (version {#VERSION}) -VersionInfoCopyright=Copyright 2005-2019 Matt Mackall and others +VersionInfoCopyright=Copyright 2005-2020 Matt Mackall and others VersionInfoCompany=Matt Mackall and others +VersionInfoVersion={#QUAD_VERSION} InternalCompressLevel=max SolidCompression=true SetupIconFile=../mercurial.ico diff --git a/contrib/packaging/inno/requirements.txt b/contrib/packaging/inno/requirements.txt deleted file mode 100644 --- a/contrib/packaging/inno/requirements.txt +++ /dev/null @@ -1,45 +0,0 @@ -# -# This file is autogenerated by pip-compile -# To update, run: -# -# pip-compile --generate-hashes --output-file=contrib/packaging/inno/requirements.txt contrib/packaging/inno/requirements.txt.in -# -certifi==2019.9.11 \ - --hash=sha256:e4f3620cfea4f83eedc95b24abd9cd56f3c4b146dd0177e83a21b4eb49e21e50 \ - --hash=sha256:fd7c7c74727ddcf00e9acd26bba8da604ffec95bf1c2144e67aff7a8b50e6cef \ - # via dulwich -configparser==4.0.2 \ - --hash=sha256:254c1d9c79f60c45dfde850850883d5aaa7f19a23f13561243a050d5a7c3fe4c \ - --hash=sha256:c7d282687a5308319bf3d2e7706e575c635b0a470342641c93bea0ea3b5331df \ - # via entrypoints -docutils==0.15.2 \ - --hash=sha256:6c4f696463b79f1fb8ba0c594b63840ebd41f059e92b31957c46b74a4599b6d0 \ - --hash=sha256:9e4d7ecfc600058e07ba661411a2b7de2fd0fafa17d1a7f7361cd47b1175c827 \ - --hash=sha256:a2aeea129088da402665e92e0b25b04b073c04b2dce4ab65caaa38b7ce2e1a99 -dulwich==0.19.13 \ - --hash=sha256:0e442f6f96e6d97270a7cca4e75306b6b0228627bdf57dde3759e0e345a6b523 \ - --hash=sha256:667f49536ccba09d3b90bac80d44048e45566f84b98a5e139cc8c70757a6ae60 \ - --hash=sha256:82792a9d49b112fa2151fa0fb29b01667855a843ff99325b1c1578a4aec11b57 \ - --hash=sha256:aa628449c5f594a9a282f4d9e5993fef65481ef5e3b9b6c52ff31200f8f5dc95 \ - --hash=sha256:ab4668bc4e1996d12eb1910e123a09edcff8e166e7ec46db5aafb5c7e250b99f \ - --hash=sha256:c35ed2cd5b263ce0d67758ffba590c0466ff13b048457ff060b7d2e6cb55a40e \ - --hash=sha256:c8b48079a14850cbeb788b38e1061ae6db75061431c1c0f91382460be4c84bbe \ - --hash=sha256:dfcd9943c69f963dd61a027f480d16f548ea5905c2485be8f4b8f130df2c32de \ - --hash=sha256:e3693c3238c1a5fc1e4427281c4455d78549f4797f2a7107a5f4443b21efafb4 -entrypoints==0.3 \ - --hash=sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19 \ - --hash=sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451 \ - # via keyring -keyring==18.0.1 \ - --hash=sha256:67d6cc0132bd77922725fae9f18366bb314fd8f95ff4d323a4df41890a96a838 \ - --hash=sha256:7b29ebfcf8678c4da531b2478a912eea01e80007e5ddca9ee0c7038cb3489ec6 -pygments==2.4.2 \ - --hash=sha256:71e430bc85c88a430f000ac1d9b331d2407f681d6f6aec95e8bcfbc3df5b0127 \ - --hash=sha256:881c4c157e45f30af185c1ffe8d549d48ac9127433f2c380c24b84572ad66297 -pywin32-ctypes==0.2.0 \ - --hash=sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942 \ - --hash=sha256:9dc2d991b3479cc2df15930958b674a48a227d5361d413827a4cfd0b5876fc98 -urllib3==1.25.6 \ - --hash=sha256:3de946ffbed6e6746608990594d08faac602528ac7015ac28d33cee6a45b7398 \ - --hash=sha256:9a107b99a5393caf59c7aa3c1249c16e6879447533d0887f4336dde834c7be86 \ - # via dulwich diff --git a/contrib/packaging/inno/requirements.txt.in b/contrib/packaging/inno/requirements.txt.in deleted file mode 100644 --- a/contrib/packaging/inno/requirements.txt.in +++ /dev/null @@ -1,7 +0,0 @@ -docutils -dulwich -keyring -pygments -# Need to list explicitly so dependency gets pulled in when -# not running on Windows. -pywin32-ctypes diff --git a/contrib/packaging/wix/requirements.txt b/contrib/packaging/requirements_win32.txt rename from contrib/packaging/wix/requirements.txt rename to contrib/packaging/requirements_win32.txt --- a/contrib/packaging/wix/requirements.txt +++ b/contrib/packaging/requirements_win32.txt @@ -2,12 +2,44 @@ # This file is autogenerated by pip-compile # To update, run: # -# pip-compile --generate-hashes --output-file=contrib/packaging/wix/requirements.txt contrib/packaging/wix/requirements.txt.in +# pip-compile --generate-hashes --output-file=contrib/packaging/requirements_win32.txt contrib/packaging/requirements_win32.txt.in # +certifi==2019.9.11 \ + --hash=sha256:e4f3620cfea4f83eedc95b24abd9cd56f3c4b146dd0177e83a21b4eb49e21e50 \ + --hash=sha256:fd7c7c74727ddcf00e9acd26bba8da604ffec95bf1c2144e67aff7a8b50e6cef \ + # via dulwich +configparser==4.0.2 \ + --hash=sha256:254c1d9c79f60c45dfde850850883d5aaa7f19a23f13561243a050d5a7c3fe4c \ + --hash=sha256:c7d282687a5308319bf3d2e7706e575c635b0a470342641c93bea0ea3b5331df \ + # via entrypoints docutils==0.15.2 \ --hash=sha256:6c4f696463b79f1fb8ba0c594b63840ebd41f059e92b31957c46b74a4599b6d0 \ --hash=sha256:9e4d7ecfc600058e07ba661411a2b7de2fd0fafa17d1a7f7361cd47b1175c827 \ --hash=sha256:a2aeea129088da402665e92e0b25b04b073c04b2dce4ab65caaa38b7ce2e1a99 +dulwich==0.19.13 \ + --hash=sha256:0e442f6f96e6d97270a7cca4e75306b6b0228627bdf57dde3759e0e345a6b523 \ + --hash=sha256:667f49536ccba09d3b90bac80d44048e45566f84b98a5e139cc8c70757a6ae60 \ + --hash=sha256:82792a9d49b112fa2151fa0fb29b01667855a843ff99325b1c1578a4aec11b57 \ + --hash=sha256:aa628449c5f594a9a282f4d9e5993fef65481ef5e3b9b6c52ff31200f8f5dc95 \ + --hash=sha256:ab4668bc4e1996d12eb1910e123a09edcff8e166e7ec46db5aafb5c7e250b99f \ + --hash=sha256:c35ed2cd5b263ce0d67758ffba590c0466ff13b048457ff060b7d2e6cb55a40e \ + --hash=sha256:c8b48079a14850cbeb788b38e1061ae6db75061431c1c0f91382460be4c84bbe \ + --hash=sha256:dfcd9943c69f963dd61a027f480d16f548ea5905c2485be8f4b8f130df2c32de \ + --hash=sha256:e3693c3238c1a5fc1e4427281c4455d78549f4797f2a7107a5f4443b21efafb4 +entrypoints==0.3 \ + --hash=sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19 \ + --hash=sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451 \ + # via keyring +keyring==18.0.1 \ + --hash=sha256:67d6cc0132bd77922725fae9f18366bb314fd8f95ff4d323a4df41890a96a838 \ + --hash=sha256:7b29ebfcf8678c4da531b2478a912eea01e80007e5ddca9ee0c7038cb3489ec6 pygments==2.4.2 \ --hash=sha256:71e430bc85c88a430f000ac1d9b331d2407f681d6f6aec95e8bcfbc3df5b0127 \ --hash=sha256:881c4c157e45f30af185c1ffe8d549d48ac9127433f2c380c24b84572ad66297 +pywin32-ctypes==0.2.0 \ + --hash=sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942 \ + --hash=sha256:9dc2d991b3479cc2df15930958b674a48a227d5361d413827a4cfd0b5876fc98 +urllib3==1.25.6 \ + --hash=sha256:3de946ffbed6e6746608990594d08faac602528ac7015ac28d33cee6a45b7398 \ + --hash=sha256:9a107b99a5393caf59c7aa3c1249c16e6879447533d0887f4336dde834c7be86 \ + # via dulwich diff --git a/contrib/packaging/wix/requirements.txt.in b/contrib/packaging/requirements_win32.txt.in rename from contrib/packaging/wix/requirements.txt.in rename to contrib/packaging/requirements_win32.txt.in --- a/contrib/packaging/wix/requirements.txt.in +++ b/contrib/packaging/requirements_win32.txt.in @@ -1,2 +1,7 @@ docutils +dulwich +keyring pygments +# Need to list explicitly so dependency gets pulled in when +# not running on Windows. +pywin32-ctypes diff --git a/contrib/packaging/wix/COPYING.rtf b/contrib/packaging/wix/COPYING.rtf index 320dd93cce160f2950b9e47d0144efecfe40a1d6..fc98ff56d9794ed561e92196cf4ec116b680532f GIT binary patch literal 1792 zc$|$@O>g5i5bZfY{=;A|-7Qi_R+6HvivsQ<*%+HRhT~unfESvgtm#suLQ*yi!~eZA zl-#&zu&ocWB@O3&%p<)MK9)lvZNPL<&1#rm<)YAKnF;G!RIYAhHLMlEgxAW!y-wN3eA*C~1L=zz{ty+o%B}gPxQ0+7(!C z`9W(7?SW`O)V>bj%5?K-`UIbnQwC=3(x8GnRN4j&GC;#m0+|QPZ7RQE^v50@ZX9)$ z5uF`@MwSR`l1cZF9{~DpXFzP;%gBU1xP}*fAeLJ&GQO@GbmlB*VdLG(OJd4Mui^?o zn;KWHAuScPq`NI_kgQ&6XoD_Wa|TokUnYy&ho=RMr_b&xKz1CeP ztQ&*Wm^685bT^*E>}fuG zc)aepPb^rMnzQLfhd{%5Y0-Bs%7(y{TpCTvH{4fpehY|>m2Esmw5v`I+oN2w^|-1c z2{tssWF)^xkphAw!kfxLEw_hp_rw23CgPE$XKa+gM1o*BLnYN0vX(1NZ_z5#7EFVI zx{XAZhDIyoAM_pz(np!0Wy;ZfUs}57i1tlrY8bc!JKaZtM#J@J#qPx=2iGjGaTqg%n*%orFZ0zL%P-z2=0cd`Lz6g<{1Oyn^V2HbjZGn*j@Uycy6J z$w8zFwiQZ=rlq{~jQ?gu&=j}SljCzdfWG9zSr;fQ2}@P|w7Bc>peou_OFFGU7HbT| z<^V)2v3JGw9eOAGSUqa}UmLbe8=iNICavbM@|n~IO1voueyzzUrEyKzGKK5^oCL`bp6BmyZwI0YkV+q_pL(FnoOuN+tcT89>edw&~Fpy+t!D}bP%-B7S(|Mli&^f PHw)jw@4)F_=exfE(z1DC diff --git a/contrib/win32/ReadMe.html b/contrib/win32/ReadMe.html --- a/contrib/win32/ReadMe.html +++ b/contrib/win32/ReadMe.html @@ -140,7 +140,7 @@ editor = whatever

- Mercurial is Copyright 2005-2019 Matt Mackall and others. + Mercurial is Copyright 2005-2020 Matt Mackall and others.

diff --git a/hgext/phabricator.py b/hgext/phabricator.py --- a/hgext/phabricator.py +++ b/hgext/phabricator.py @@ -747,11 +747,11 @@ def uploadfile(fctx): return fphid -def addoldbinary(pchange, fctx, originalfname): +def addoldbinary(pchange, fctx): """add the metadata for the previous version of a binary file to the phabchange for the new version """ - oldfctx = fctx.p1()[originalfname] + oldfctx = fctx.p1() if fctx.cmp(oldfctx): # Files differ, add the old one pchange.metadata[b'old:file:size'] = oldfctx.size() @@ -832,7 +832,7 @@ def addmodified(pdiff, ctx, modified): if fctx.isbinary() or notutf8(fctx): makebinary(pchange, fctx) - addoldbinary(pchange, fctx, fname) + addoldbinary(pchange, fctx) else: maketext(pchange, ctx, fname) diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -7777,7 +7777,7 @@ def version_(ui, **opts): ) license = _( b"(see https://mercurial-scm.org for more information)\n" - b"\nCopyright (C) 2005-2019 Matt Mackall and others\n" + b"\nCopyright (C) 2005-2020 Matt Mackall and others\n" b"This is free software; see the source for copying conditions. " b"There is NO\nwarranty; " b"not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py --- a/mercurial/dirstate.py +++ b/mercurial/dirstate.py @@ -1849,7 +1849,7 @@ if rustmod is not None: nonnorm, otherparents = self._rustmap.nonnormalentries() return nonnorm - @property + @propertycache def otherparentset(self): nonnorm, otherparents = self._rustmap.nonnormalentries() return otherparents diff --git a/mercurial/helptext/hg.1.txt b/mercurial/helptext/hg.1.txt --- a/mercurial/helptext/hg.1.txt +++ b/mercurial/helptext/hg.1.txt @@ -112,7 +112,7 @@ Mailing list: https://www.mercurial-scm. Copying """"""" -Copyright (C) 2005-2019 Matt Mackall. +Copyright (C) 2005-2020 Matt Mackall. Free use of this software is granted under the terms of the GNU General Public License version 2 or any later version. diff --git a/mercurial/helptext/hgignore.5.txt b/mercurial/helptext/hgignore.5.txt --- a/mercurial/helptext/hgignore.5.txt +++ b/mercurial/helptext/hgignore.5.txt @@ -26,7 +26,7 @@ See Also Copying ======= This manual page is copyright 2006 Vadim Gelfer. -Mercurial is copyright 2005-2019 Matt Mackall. +Mercurial is copyright 2005-2020 Matt Mackall. Free use of this software is granted under the terms of the GNU General Public License version 2 or any later version. diff --git a/mercurial/helptext/hgrc.5.txt b/mercurial/helptext/hgrc.5.txt --- a/mercurial/helptext/hgrc.5.txt +++ b/mercurial/helptext/hgrc.5.txt @@ -34,7 +34,7 @@ See Also Copying ======= This manual page is copyright 2005 Bryan O'Sullivan. -Mercurial is copyright 2005-2019 Matt Mackall. +Mercurial is copyright 2005-2020 Matt Mackall. Free use of this software is granted under the terms of the GNU General Public License version 2 or any later version. diff --git a/mercurial/utils/resourceutil.py b/mercurial/utils/resourceutil.py --- a/mercurial/utils/resourceutil.py +++ b/mercurial/utils/resourceutil.py @@ -33,11 +33,25 @@ def mainfrozen(): if mainfrozen() and getattr(sys, 'frozen', None) != 'macosx_app': # executable version (py2exe) doesn't support __file__ datapath = os.path.dirname(pycompat.sysexecutable) - _rootpath = os.path.dirname(datapath) + _rootpath = datapath + + # The installers store the files outside of library.zip, like + # C:\Program Files\Mercurial\defaultrc\*.rc. This strips the + # leading "mercurial." off of the package name, so that these + # pseudo resources are found in their directory next to the + # executable. + def _package_path(package): + dirs = package.split(b'.') + assert dirs[0] == b'mercurial' + return os.path.join(_rootpath, *dirs[1:]) + else: datapath = os.path.dirname(os.path.dirname(pycompat.fsencode(__file__))) _rootpath = os.path.dirname(datapath) + def _package_path(package): + return os.path.join(_rootpath, *package.split(b'.')) + try: from importlib import resources @@ -63,9 +77,6 @@ try: except (ImportError, AttributeError): - def _package_path(package): - return os.path.join(_rootpath, *package.split(b'.')) - def open_resource(package, name): path = os.path.join(_package_path(package), name) return open(path, 'rb') diff --git a/mercurial/worker.py b/mercurial/worker.py --- a/mercurial/worker.py +++ b/mercurial/worker.py @@ -226,7 +226,7 @@ def _posixworker(ui, func, staticargs, a selector = selectors.DefaultSelector() for rfd, wfd in pipes: os.close(wfd) - selector.register(os.fdopen(rfd, 'rb', 0), selectors.EVENT_READ) + selector.register(os.fdopen(rfd, 'rb'), selectors.EVENT_READ) def cleanup(): signal.signal(signal.SIGINT, oldhandler) diff --git a/setup.py b/setup.py --- a/setup.py +++ b/setup.py @@ -1599,7 +1599,7 @@ if py2exeloaded: extra['console'] = [ { 'script': 'hg', - 'copyright': 'Copyright (C) 2005-2019 Matt Mackall and others', + 'copyright': 'Copyright (C) 2005-2020 Matt Mackall and others', 'product_version': version, } ] diff --git a/tests/phabricator/phabsend-binary.json b/tests/phabricator/phabsend-binary.json new file mode 100644 --- /dev/null +++ b/tests/phabricator/phabsend-binary.json @@ -0,0 +1,1909 @@ +{ + "version": 1, + "interactions": [ + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:03 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}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%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", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "183" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/diffusion.repository.search" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:04 GMT" + ] + }, + "body": { + "string": "{\"result\":{\"upload\":true,\"filePHID\":null},\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22contentHash%22%3A+%22022a6979e6dab7aa5ae4c3e5e45f7e977112a7e63593820dbec1ec738a24f93c%22%2C+%22contentLength%22%3A+2%2C+%22name%22%3A+%22bin%22%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "269" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/file.allocate" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:04 GMT" + ] + }, + "body": { + "string": "{\"result\":\"PHID-FILE-6icohlowpfhuvuut4kt4\",\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22data_base64%22%3A+%22AGE%3D%22%2C+%22name%22%3A+%22bin%22%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "183" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/file.upload" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:05 GMT" + ] + }, + "body": { + "string": "{\"result\":{\"diffid\":19599,\"phid\":\"PHID-DIFF-uvk7qaq6iglk4wgk2lxb\",\"uri\":\"https:\\/\\/phab.mercurial-scm.org\\/differential\\/diff\\/19599\\/\"},\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%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%22bin%22%3A+%7B%22addLines%22%3A+0%2C+%22awayPaths%22%3A+%5B%5D%2C+%22commitHash%22%3A+null%2C+%22currentPath%22%3A+%22bin%22%2C+%22delLines%22%3A+0%2C+%22fileType%22%3A+3%2C+%22hunks%22%3A+%5B%5D%2C+%22metadata%22%3A+%7B%22new%3Abinary-phid%22%3A+%22PHID-FILE-6icohlowpfhuvuut4kt4%22%2C+%22new%3Afile%3Asize%22%3A+2%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+%221849d7828727a28e14c589323e4f8c9a1c8d2816%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", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "1081" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.creatediff" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:06 GMT" + ] + }, + "body": { + "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%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%22aa24a81f55de50addfce4a824eeb919d59b19683%5C%22%2C+%5C%22parent%5C%22%3A+%5C%221849d7828727a28e14c589323e4f8c9a1c8d2816%5C%22%2C+%5C%22user%5C%22%3A+%5C%22test%5C%22%7D%22%2C+%22diff_id%22%3A+19599%2C+%22name%22%3A+%22hg%3Ameta%22%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "482" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:06 GMT" + ] + }, + "body": { + "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22data%22%3A+%22%7B%5C%22aa24a81f55de50addfce4a824eeb919d59b19683%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%22aa24a81f55de50addfce4a824eeb919d59b19683%5C%22%2C+%5C%22parents%5C%22%3A+%5B%5C%221849d7828727a28e14c589323e4f8c9a1c8d2816%5C%22%5D%2C+%5C%22time%5C%22%3A+0%7D%7D%22%2C+%22diff_id%22%3A+19599%2C+%22name%22%3A+%22local%3Acommits%22%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "594" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:07 GMT" + ] + }, + "body": { + "string": "{\"result\":{\"errors\":[],\"fields\":{\"title\":\"add binary\"},\"revisionIDFieldInfo\":{\"value\":null,\"validDomain\":\"https:\\/\\/phab.mercurial-scm.org\"},\"transactions\":[{\"type\":\"title\",\"value\":\"add binary\"}]},\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22corpus%22%3A+%22add+binary%22%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "155" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.parsecommitmessage" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:08 GMT" + ] + }, + "body": { + "string": "{\"result\":{\"object\":{\"id\":8007,\"phid\":\"PHID-DREV-477vjqq7vbddmjluy2cd\"},\"transactions\":[{\"phid\":\"PHID-XACT-DREV-3mzn77j7wvia63r\"},{\"phid\":\"PHID-XACT-DREV-qs7abx4c65qud72\"},{\"phid\":\"PHID-XACT-DREV-yzrxnvdwpapxruz\"},{\"phid\":\"PHID-XACT-DREV-byrci62wwrwl262\"},{\"phid\":\"PHID-XACT-DREV-3ialrkyr7elyr72\"}]},\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22transactions%22%3A+%5B%7B%22type%22%3A+%22update%22%2C+%22value%22%3A+%22PHID-DIFF-uvk7qaq6iglk4wgk2lxb%22%7D%2C+%7B%22type%22%3A+%22title%22%2C+%22value%22%3A+%22add+binary%22%7D%5D%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "308" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.revision.edit" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:08 GMT" + ] + }, + "body": { + "string": "{\"result\":{\"upload\":true,\"filePHID\":null},\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22contentHash%22%3A+%2257eb35615d47f34ec714cacdf5fd74608a5e8e102724e80b24b287c0c27b6a31%22%2C+%22contentLength%22%3A+2%2C+%22name%22%3A+%22bin%22%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "269" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/file.allocate" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:09 GMT" + ] + }, + "body": { + "string": "{\"result\":\"PHID-FILE-smitcgkxyyu7u3qodnmj\",\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22data_base64%22%3A+%22AGI%3D%22%2C+%22name%22%3A+%22bin%22%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "183" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/file.upload" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:10 GMT" + ] + }, + "body": { + "string": "{\"result\":{\"upload\":false,\"filePHID\":\"PHID-FILE-ulotc37zwk3yic5hh72n\"},\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22contentHash%22%3A+%22022a6979e6dab7aa5ae4c3e5e45f7e977112a7e63593820dbec1ec738a24f93c%22%2C+%22contentLength%22%3A+2%2C+%22name%22%3A+%22bin%22%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "269" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/file.allocate" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:10 GMT" + ] + }, + "body": { + "string": "{\"result\":{\"diffid\":19600,\"phid\":\"PHID-DIFF-wdmlzkf4huoiqpl4vbsr\",\"uri\":\"https:\\/\\/phab.mercurial-scm.org\\/differential\\/diff\\/19600\\/\"},\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%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%22bin%22%3A+%7B%22addLines%22%3A+0%2C+%22awayPaths%22%3A+%5B%5D%2C+%22commitHash%22%3A+null%2C+%22currentPath%22%3A+%22bin%22%2C+%22delLines%22%3A+0%2C+%22fileType%22%3A+3%2C+%22hunks%22%3A+%5B%5D%2C+%22metadata%22%3A+%7B%22new%3Abinary-phid%22%3A+%22PHID-FILE-smitcgkxyyu7u3qodnmj%22%2C+%22new%3Afile%3Asize%22%3A+2%2C+%22old%3Abinary-phid%22%3A+%22PHID-FILE-ulotc37zwk3yic5hh72n%22%2C+%22old%3Afile%3Asize%22%3A+2%7D%2C+%22newProperties%22%3A+%7B%7D%2C+%22oldPath%22%3A+%22bin%22%2C+%22oldProperties%22%3A+%7B%7D%2C+%22type%22%3A+2%7D%7D%2C+%22creationMethod%22%3A+%22phabsend%22%2C+%22lintStatus%22%3A+%22none%22%2C+%22repositoryPHID%22%3A+%22PHID-REPO-bvunnehri4u2isyr7bc3%22%2C+%22sourceControlBaseRevision%22%3A+%22aa24a81f55de50addfce4a824eeb919d59b19683%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", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "1148" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.creatediff" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:11 GMT" + ] + }, + "body": { + "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%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%22d8d62a881b546814f012cef7c1bd0c438cc153e2%5C%22%2C+%5C%22parent%5C%22%3A+%5C%22aa24a81f55de50addfce4a824eeb919d59b19683%5C%22%2C+%5C%22user%5C%22%3A+%5C%22test%5C%22%7D%22%2C+%22diff_id%22%3A+19600%2C+%22name%22%3A+%22hg%3Ameta%22%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "482" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:12 GMT" + ] + }, + "body": { + "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22data%22%3A+%22%7B%5C%22d8d62a881b546814f012cef7c1bd0c438cc153e2%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%22d8d62a881b546814f012cef7c1bd0c438cc153e2%5C%22%2C+%5C%22parents%5C%22%3A+%5B%5C%22aa24a81f55de50addfce4a824eeb919d59b19683%5C%22%5D%2C+%5C%22time%5C%22%3A+0%7D%7D%22%2C+%22diff_id%22%3A+19600%2C+%22name%22%3A+%22local%3Acommits%22%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "594" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:12 GMT" + ] + }, + "body": { + "string": "{\"result\":{\"errors\":[],\"fields\":{\"title\":\"modify binary\"},\"revisionIDFieldInfo\":{\"value\":null,\"validDomain\":\"https:\\/\\/phab.mercurial-scm.org\"},\"transactions\":[{\"type\":\"title\",\"value\":\"modify binary\"}]},\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22corpus%22%3A+%22modify+binary%22%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "158" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.parsecommitmessage" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:13 GMT" + ] + }, + "body": { + "string": "{\"result\":{\"object\":{\"id\":8008,\"phid\":\"PHID-DREV-q5cr6ap6pwfczhlhjrmv\"},\"transactions\":[{\"phid\":\"PHID-XACT-DREV-54nmhipbtei7cmf\"},{\"phid\":\"PHID-XACT-DREV-zh5tb4ay2no4lr7\"},{\"phid\":\"PHID-XACT-DREV-mi6n5eteba4pb2h\"},{\"phid\":\"PHID-XACT-DREV-zmbupfrlsvzty6c\"},{\"phid\":\"PHID-XACT-DREV-h2mxx7gkkriw5b5\"},{\"phid\":\"PHID-XACT-DREV-6zpi3cnarzr5f6i\"}]},\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22transactions%22%3A+%5B%7B%22type%22%3A+%22update%22%2C+%22value%22%3A+%22PHID-DIFF-wdmlzkf4huoiqpl4vbsr%22%7D%2C+%7B%22type%22%3A+%22parents.set%22%2C+%22value%22%3A+%5B%22PHID-DREV-477vjqq7vbddmjluy2cd%22%5D%7D%2C+%7B%22type%22%3A+%22title%22%2C+%22value%22%3A+%22modify+binary%22%7D%5D%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "413" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.revision.edit" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:14 GMT" + ] + }, + "body": { + "string": "{\"result\":{\"diffid\":19601,\"phid\":\"PHID-DIFF-burakyhnzac52zcbjn2l\",\"uri\":\"https:\\/\\/phab.mercurial-scm.org\\/differential\\/diff\\/19601\\/\"},\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%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%22bin%22%3A+%7B%22addLines%22%3A+0%2C+%22awayPaths%22%3A+%5B%5D%2C+%22commitHash%22%3A+null%2C+%22currentPath%22%3A+%22bin%22%2C+%22delLines%22%3A+0%2C+%22fileType%22%3A+1%2C+%22hunks%22%3A+%5B%5D%2C+%22metadata%22%3A+%7B%7D%2C+%22newProperties%22%3A+%7B%7D%2C+%22oldPath%22%3A+%22bin%22%2C+%22oldProperties%22%3A+%7B%22unix%3Afilemode%22%3A+%22100644%22%7D%2C+%22type%22%3A+3%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+%22d8d62a881b546814f012cef7c1bd0c438cc153e2%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", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "991" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.creatediff" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:14 GMT" + ] + }, + "body": { + "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%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%22af55645b2e292f3168e993e74356af15dee0abdb%5C%22%2C+%5C%22parent%5C%22%3A+%5C%22d8d62a881b546814f012cef7c1bd0c438cc153e2%5C%22%2C+%5C%22user%5C%22%3A+%5C%22test%5C%22%7D%22%2C+%22diff_id%22%3A+19601%2C+%22name%22%3A+%22hg%3Ameta%22%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "482" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:15 GMT" + ] + }, + "body": { + "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22data%22%3A+%22%7B%5C%22af55645b2e292f3168e993e74356af15dee0abdb%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%22af55645b2e292f3168e993e74356af15dee0abdb%5C%22%2C+%5C%22parents%5C%22%3A+%5B%5C%22d8d62a881b546814f012cef7c1bd0c438cc153e2%5C%22%5D%2C+%5C%22time%5C%22%3A+0%7D%7D%22%2C+%22diff_id%22%3A+19601%2C+%22name%22%3A+%22local%3Acommits%22%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "594" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:15 GMT" + ] + }, + "body": { + "string": "{\"result\":{\"errors\":[],\"fields\":{\"title\":\"remove binary\"},\"revisionIDFieldInfo\":{\"value\":null,\"validDomain\":\"https:\\/\\/phab.mercurial-scm.org\"},\"transactions\":[{\"type\":\"title\",\"value\":\"remove binary\"}]},\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22corpus%22%3A+%22remove+binary%22%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "158" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.parsecommitmessage" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:16 GMT" + ] + }, + "body": { + "string": "{\"result\":{\"object\":{\"id\":8009,\"phid\":\"PHID-DREV-dhu2sy4tbldt4npi6sm7\"},\"transactions\":[{\"phid\":\"PHID-XACT-DREV-bj3vveste6uhvwa\"},{\"phid\":\"PHID-XACT-DREV-nh6m26vnt2lglxa\"},{\"phid\":\"PHID-XACT-DREV-qpaic5oz5gjiyac\"},{\"phid\":\"PHID-XACT-DREV-2e4pylpz72lnq4u\"},{\"phid\":\"PHID-XACT-DREV-4ajvkrw3bwabrxb\"},{\"phid\":\"PHID-XACT-DREV-xs75m6gczvk4fbb\"}]},\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22transactions%22%3A+%5B%7B%22type%22%3A+%22update%22%2C+%22value%22%3A+%22PHID-DIFF-burakyhnzac52zcbjn2l%22%7D%2C+%7B%22type%22%3A+%22parents.set%22%2C+%22value%22%3A+%5B%22PHID-DREV-q5cr6ap6pwfczhlhjrmv%22%5D%7D%2C+%7B%22type%22%3A+%22title%22%2C+%22value%22%3A+%22remove+binary%22%7D%5D%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "413" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.revision.edit" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:17 GMT" + ] + }, + "body": { + "string": "{\"result\":[{\"id\":\"8009\",\"phid\":\"PHID-DREV-dhu2sy4tbldt4npi6sm7\",\"title\":\"remove binary\",\"uri\":\"https:\\/\\/phab.mercurial-scm.org\\/D8009\",\"dateCreated\":\"1579932076\",\"dateModified\":\"1579932076\",\"authorPHID\":\"PHID-USER-tzhaient733lwrlbcag5\",\"status\":\"0\",\"statusName\":\"Needs Review\",\"properties\":{\"draft.broadcast\":true,\"lines.added\":0,\"lines.removed\":0},\"branch\":\"default\",\"summary\":\"\",\"testPlan\":\"\",\"lineCount\":\"0\",\"activeDiffPHID\":\"PHID-DIFF-burakyhnzac52zcbjn2l\",\"diffs\":[\"19601\"],\"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\"]],\"auxiliary\":{\"phabricator:projects\":[],\"phabricator:depends-on\":[\"PHID-DREV-q5cr6ap6pwfczhlhjrmv\"]},\"repositoryPHID\":\"PHID-REPO-bvunnehri4u2isyr7bc3\",\"sourcePath\":\"\\/\"},{\"id\":\"8008\",\"phid\":\"PHID-DREV-q5cr6ap6pwfczhlhjrmv\",\"title\":\"modify binary\",\"uri\":\"https:\\/\\/phab.mercurial-scm.org\\/D8008\",\"dateCreated\":\"1579932073\",\"dateModified\":\"1579932076\",\"authorPHID\":\"PHID-USER-tzhaient733lwrlbcag5\",\"status\":\"0\",\"statusName\":\"Needs Review\",\"properties\":{\"draft.broadcast\":true,\"lines.added\":0,\"lines.removed\":0},\"branch\":\"default\",\"summary\":\"\",\"testPlan\":\"\",\"lineCount\":\"0\",\"activeDiffPHID\":\"PHID-DIFF-wdmlzkf4huoiqpl4vbsr\",\"diffs\":[\"19600\"],\"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\"]],\"auxiliary\":{\"phabricator:projects\":[],\"phabricator:depends-on\":[\"PHID-DREV-477vjqq7vbddmjluy2cd\"]},\"repositoryPHID\":\"PHID-REPO-bvunnehri4u2isyr7bc3\",\"sourcePath\":\"\\/\"},{\"id\":\"8007\",\"phid\":\"PHID-DREV-477vjqq7vbddmjluy2cd\",\"title\":\"add binary\",\"uri\":\"https:\\/\\/phab.mercurial-scm.org\\/D8007\",\"dateCreated\":\"1579932068\",\"dateModified\":\"1579932073\",\"authorPHID\":\"PHID-USER-tzhaient733lwrlbcag5\",\"status\":\"0\",\"statusName\":\"Needs Review\",\"properties\":{\"draft.broadcast\":true,\"lines.added\":0,\"lines.removed\":0},\"branch\":\"default\",\"summary\":\"\",\"testPlan\":\"\",\"lineCount\":\"0\",\"activeDiffPHID\":\"PHID-DIFF-uvk7qaq6iglk4wgk2lxb\",\"diffs\":[\"19599\"],\"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\"]],\"auxiliary\":{\"phabricator:projects\":[],\"phabricator:depends-on\":[]},\"repositoryPHID\":\"PHID-REPO-bvunnehri4u2isyr7bc3\",\"sourcePath\":\"\\/\"}],\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22ids%22%3A+%5B8007%2C+8008%2C+8009%5D%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "162" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.query" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:17 GMT" + ] + }, + "body": { + "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%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%22b8139fbb4a579a69dccd906a1a8bf34ba2b885a3%5C%22%2C+%5C%22parent%5C%22%3A+%5C%221849d7828727a28e14c589323e4f8c9a1c8d2816%5C%22%2C+%5C%22user%5C%22%3A+%5C%22test%5C%22%7D%22%2C+%22diff_id%22%3A+19599%2C+%22name%22%3A+%22hg%3Ameta%22%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "482" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:18 GMT" + ] + }, + "body": { + "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22data%22%3A+%22%7B%5C%22b8139fbb4a579a69dccd906a1a8bf34ba2b885a3%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%22b8139fbb4a579a69dccd906a1a8bf34ba2b885a3%5C%22%2C+%5C%22parents%5C%22%3A+%5B%5C%221849d7828727a28e14c589323e4f8c9a1c8d2816%5C%22%5D%2C+%5C%22time%5C%22%3A+0%7D%7D%22%2C+%22diff_id%22%3A+19599%2C+%22name%22%3A+%22local%3Acommits%22%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "594" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:19 GMT" + ] + }, + "body": { + "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%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%22c88ce4c2d2ad6337b772bc093398f85858196eb5%5C%22%2C+%5C%22parent%5C%22%3A+%5C%22b8139fbb4a579a69dccd906a1a8bf34ba2b885a3%5C%22%2C+%5C%22user%5C%22%3A+%5C%22test%5C%22%7D%22%2C+%22diff_id%22%3A+19600%2C+%22name%22%3A+%22hg%3Ameta%22%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "482" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:19 GMT" + ] + }, + "body": { + "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22data%22%3A+%22%7B%5C%22c88ce4c2d2ad6337b772bc093398f85858196eb5%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%22c88ce4c2d2ad6337b772bc093398f85858196eb5%5C%22%2C+%5C%22parents%5C%22%3A+%5B%5C%22b8139fbb4a579a69dccd906a1a8bf34ba2b885a3%5C%22%5D%2C+%5C%22time%5C%22%3A+0%7D%7D%22%2C+%22diff_id%22%3A+19600%2C+%22name%22%3A+%22local%3Acommits%22%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "594" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:20 GMT" + ] + }, + "body": { + "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%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%2275dbbc901145d7beb190197aa232f74540e5a9f3%5C%22%2C+%5C%22parent%5C%22%3A+%5C%22c88ce4c2d2ad6337b772bc093398f85858196eb5%5C%22%2C+%5C%22user%5C%22%3A+%5C%22test%5C%22%7D%22%2C+%22diff_id%22%3A+19601%2C+%22name%22%3A+%22hg%3Ameta%22%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "482" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty" + } + }, + { + "response": { + "status": { + "message": "OK", + "code": 200 + }, + "headers": { + "strict-transport-security": [ + "max-age=0; includeSubdomains; preload" + ], + "server": [ + "Apache/2.4.10 (Debian)" + ], + "referrer-policy": [ + "no-referrer" + ], + "x-frame-options": [ + "Deny" + ], + "expires": [ + "Sat, 01 Jan 2000 00:00:00 GMT" + ], + "x-content-type-options": [ + "nosniff" + ], + "cache-control": [ + "no-store" + ], + "content-type": [ + "application/json" + ], + "x-xss-protection": [ + "1; mode=block" + ], + "transfer-encoding": [ + "chunked" + ], + "date": [ + "Sat, 25 Jan 2020 06:01:21 GMT" + ] + }, + "body": { + "string": "{\"result\":null,\"error_code\":null,\"error_info\":null}" + } + }, + "request": { + "body": "output=json&__conduit__=1¶ms=%7B%22__conduit__%22%3A+%7B%22token%22%3A+%22cli-hahayouwish%22%7D%2C+%22data%22%3A+%22%7B%5C%2275dbbc901145d7beb190197aa232f74540e5a9f3%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%2275dbbc901145d7beb190197aa232f74540e5a9f3%5C%22%2C+%5C%22parents%5C%22%3A+%5B%5C%22c88ce4c2d2ad6337b772bc093398f85858196eb5%5C%22%5D%2C+%5C%22time%5C%22%3A+0%7D%7D%22%2C+%22diff_id%22%3A+19601%2C+%22name%22%3A+%22local%3Acommits%22%7D", + "method": "POST", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "user-agent": [ + "mercurial/proto-1.0 (Mercurial 5.3rc1+3-624fe53ce1e7+20200124)" + ], + "content-length": [ + "594" + ], + "host": [ + "phab.mercurial-scm.org" + ], + "accept": [ + "application/mercurial-0.1" + ] + }, + "uri": "https://phab.mercurial-scm.org//api/differential.setdiffproperty" + } + } + ] +} \ No newline at end of file diff --git a/tests/test-phabricator.t b/tests/test-phabricator.t --- a/tests/test-phabricator.t +++ b/tests/test-phabricator.t @@ -139,6 +139,23 @@ Phabsending a skipped commit: $ hg phabsend --no-amend -r . --test-vcr "$VCR/phabsend-skipped.json" D7919 - skipped - 1849d7828727: create comment for phabricator test +Phabesending a new binary, a modified binary, and a removed binary + + >>> open('bin', 'wb').write(b'\0a') and None + $ hg ci -Am 'add binary' + adding bin + >>> open('bin', 'wb').write(b'\0b') and None + $ hg ci -m 'modify binary' + $ hg rm bin + $ hg ci -m 'remove binary' + $ hg phabsend -r .~2:: --test-vcr "$VCR/phabsend-binary.json" + uploading bin@aa24a81f55de + D8007 - created - aa24a81f55de: add binary + uploading bin@d8d62a881b54 + D8008 - created - d8d62a881b54: modify binary + D8009 - created - af55645b2e29: remove binary + saved backup bundle to $TESTTMP/repo/.hg/strip-backup/aa24a81f55de-a3a0cf24-phabsend.hg + Phabreading a DREV with a local:commits time as a string: $ hg phabread --test-vcr "$VCR/phabread-str-time.json" D1285 # HG changeset patch