Page MenuHomePhabricator

cspeckmim (Christopher Speck)
Xevioid

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Tuesday

  • Clear sailing ahead.

User Details

User Since
Dec 8 2014, 6:48 PM (620 w, 5 d)
Availability
Available

Software Engineering Lead

MIM Software, Inc.

http://www.mimsoftware.com/

{F1081352}

Recent Activity

May 30 2023

cspeckmim added a revision to T13588: PHP 8 Compatibility: Unknown Object (Differential Revision).
May 30 2023, 3:35 PM · Infrastructure
cspeckmim added a revision to T13588: PHP 8 Compatibility: Unknown Object (Differential Revision).
May 30 2023, 3:35 PM · Infrastructure
cspeckmim added a revision to T13588: PHP 8 Compatibility: Unknown Object (Differential Revision).
May 30 2023, 3:35 PM · Infrastructure
cspeckmim added a revision to T13588: PHP 8 Compatibility: Unknown Object (Differential Revision).
May 30 2023, 3:35 PM · Infrastructure
cspeckmim added a revision to T13588: PHP 8 Compatibility: Unknown Object (Differential Revision).
May 30 2023, 3:34 PM · Infrastructure
cspeckmim added a revision to T13588: PHP 8 Compatibility: Unknown Object (Differential Revision).
May 30 2023, 3:34 PM · Infrastructure
cspeckmim added a revision to T13588: PHP 8 Compatibility: Unknown Object (Differential Revision).
May 30 2023, 3:34 PM · Infrastructure
cspeckmim added a revision to T13588: PHP 8 Compatibility: Unknown Object (Differential Revision).
May 30 2023, 3:34 PM · Infrastructure

May 24 2023

cspeckmim added a revision to T13588: PHP 8 Compatibility: Unknown Object (Differential Revision).
May 24 2023, 9:07 PM · Infrastructure
cspeckmim added a revision to T13588: PHP 8 Compatibility: Unknown Object (Differential Revision).
May 24 2023, 9:06 PM · Infrastructure

Apr 29 2023

cspeckmim added a comment to T13588: PHP 8 Compatibility.

As an example, given this code

private $name;
Apr 29 2023, 8:33 PM · Infrastructure
cspeckmim added a comment to T12071: Require "E" be defined in variables_order so $_ENV is correctly populated.

I was ready to suggest that after further investigation was made, recalling the "recent" refactor work of the mercurial command-with-extensions changes we looked at 😄

Apr 29 2023, 7:46 PM · Infrastructure
cspeckmim added a comment to T13588: PHP 8 Compatibility.

Gotcha. I'm going to take a swing at updating past 8.0 and see what crops up. Also thanks for the tip with PHPAST. I haven't looked too much into it other than trying to get it working on Windows a year or so back

Apr 29 2023, 4:49 PM · Infrastructure
cspeckmim added a comment to T12071: Require "E" be defined in variables_order so $_ENV is correctly populated.

Would this be reasonable to address with a new server-side setup check, similar to the checks for post_max_size and op_cache values?

Apr 29 2023, 2:04 PM · Infrastructure

Apr 26 2023

cspeckmim added a comment to T13588: PHP 8 Compatibility.

PHP 8.1 disallows strlen(null).
...
Broadly, Phabricator likely will not pass the empty string as a constraint in these cases...
...
D21762 introduces phutil_nonempty_string(), which is like this test but slightly stricter (it raises an exception for wonky values) and easier to revisit later (i.e., use of this function is a hint that the code can be made more strict about value types).
...
Upshot:

  • if (strlen($maybe_null)) may be replaced in all cases with if (phutil_nonempty_string($maybe_null)) to work in PHP 8.1 and not break any code which wasn't already extremely suspicious (...stringlike() may be required if the value may be an object, usually a URI object).
  • This is usually not the most desirable replacement, but probably 95% of these aren't realistically worth being surgical about.
  • In new code, prefer increasing type strictness over these more-flexible tests.
Apr 26 2023, 7:05 PM · Infrastructure

Apr 25 2023

cspeckmim added a revision to T13588: PHP 8 Compatibility: Unknown Object (Differential Revision).
Apr 25 2023, 2:53 PM · Infrastructure

May 17 2022

cspeckmim added a comment to T13588: PHP 8 Compatibility.

Thank you!

May 17 2022, 11:28 PM · Infrastructure
cspeckmim added a comment to T13588: PHP 8 Compatibility.

A user just ran into this exception with Arcanist (current master changeset) while running arc diff (using Mercurial) with PHP 8.1. I haven't looked too in depth but it seems similar to other PHP 8.1 issues.

[2022-05-17 20:49:47] EXCEPTION: (RuntimeException) substr(): Passing null to parameter #1 ($string) of type string is deprecated at [<arcanist>/src/error/PhutilErrorHandler.php:261]
arcanist(head=master, ref.master=3cc486d5c156)
  #0 PhutilErrorHandler::handleError(integer, string, string, integer)
  #1 substr(NULL, integer, integer) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:807]
  #2 ArcanistRepositoryAPI::getDisplayHash(NULL) called at [<arcanist>/src/repository/marker/ArcanistRepositoryMarkerQuery.php:67]
  #3 ArcanistRepositoryMarkerQuery::execute() called at [<arcanist>/src/repository/query/ArcanistRepositoryQuery.php:20]
  #4 ArcanistRepositoryQuery::executeOne() called at [<arcanist>/src/repository/api/ArcanistMercurialAPI.php:988]
  #5 ArcanistMercurialAPI::getActiveBookmark() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:2253]
  #6 ArcanistDiffWorkflow::buildDiffSpecification() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:380]
  #7 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:427]
<<< [1] (+8,567) <exec> 8,567,426 us
May 17 2022, 9:01 PM · Infrastructure

May 1 2022

20after4 awarded T13658: How to rebrand Phabricator a Mountain of Wealth token.
May 1 2022, 10:15 PM

Apr 23 2022

cspeckmim added a comment to T13675: Can Arcanist plausibly be compiled into a binary?.

I find this very intriguing.

Phabricator would benefit from having access certain services (full-text search, full-codebase search, repository graph storage) that very likely aren't practical to write in PHP

Is the purpose of implementing introspection of libraries to allow for building native components that would get picked up and auto-loaded by arcanist?

Apr 23 2022, 4:14 PM · Arcanist

Apr 22 2022

cspeckmim added a comment to T13667: Landing a mercurial revision which has no changes causes errors on the revision page as well as history viewing.

Browsing Diffusion (namely, loading a file while the published changeset is head, and trying to Skip past commit):

I couldn't immediately reproduce this; it's also probably a bit of a messy fix.

I'll plan to investigate further if possible. I believe in this case the repository was running in observed mode rather than hosted in case that might be a factor.

Apr 22 2022, 2:23 AM · Arcanist, Mercurial
cspeckmim awarded T13675: Can Arcanist plausibly be compiled into a binary? a Manufacturing Defect? token.
Apr 22 2022, 2:08 AM · Arcanist

Mar 15 2022

cspeckmim added a comment to T13672: Arcanist: Exceptions when using Mercurial ~6.0/6.1.

Ah thank you!

Mar 15 2022, 5:19 PM
cspeckmim added a comment to T13672: Arcanist: Exceptions when using Mercurial ~6.0/6.1.

@epriestley - the fix for this landed in the master branch but it doesn't look like that has carried over yet into the GitHub mirror which is used as the install location for most users, and is the current recommendation on https://secure.phabricator.com/book/phabricator/article/arcanist_quick_start/. Is there a delay before the mirror observes the changes or does something need poked for it to propagate?

Mar 15 2022, 4:43 PM

Mar 11 2022

cspeckmim closed T13672: Arcanist: Exceptions when using Mercurial ~6.0/6.1 as Resolved by committing Restricted Diffusion Commit.
Mar 11 2022, 6:10 PM
cspeckmim added a revision to T13672: Arcanist: Exceptions when using Mercurial ~6.0/6.1: Unknown Object (Differential Revision).
Mar 11 2022, 6:00 PM
cspeckmim created T13672: Arcanist: Exceptions when using Mercurial ~6.0/6.1.
Mar 11 2022, 5:09 PM

Dec 2 2021

cspeckmim updated the task description for T13669: Discourage use of Mailgun as a mail provider.
Dec 2 2021, 11:18 PM · Guides, Mail
cspeckmim edited the content of 2021 Week 49 (Early December).
Dec 2 2021, 1:36 AM

Sep 23 2021

cspeckmim added a revision to T13668: Landing a string of dependent revisions which contains branched commits will result in stripping/pruning those branched commits: Unknown Object (Differential Revision).
Sep 23 2021, 3:09 AM · Mercurial, Arcanist

Sep 22 2021

cspeckmim updated the task description for T13668: Landing a string of dependent revisions which contains branched commits will result in stripping/pruning those branched commits.
Sep 22 2021, 2:10 AM · Mercurial, Arcanist
cspeckmim created T13668: Landing a string of dependent revisions which contains branched commits will result in stripping/pruning those branched commits.
Sep 22 2021, 2:06 AM · Mercurial, Arcanist

Sep 16 2021

cspeckmim added a revision to T13665: The "arc amend" workflow does not work on Mercurial repositories: Unknown Object (Differential Revision).
Sep 16 2021, 6:54 PM · Mercurial, Arcanist

Sep 14 2021

cspeckmim updated the task description for T13667: Landing a mercurial revision which has no changes causes errors on the revision page as well as history viewing.
Sep 14 2021, 9:59 PM · Arcanist, Mercurial
cspeckmim updated the task description for T13667: Landing a mercurial revision which has no changes causes errors on the revision page as well as history viewing.
Sep 14 2021, 9:55 PM · Arcanist, Mercurial
cspeckmim created T13667: Landing a mercurial revision which has no changes causes errors on the revision page as well as history viewing.
Sep 14 2021, 9:49 PM · Arcanist, Mercurial

Sep 5 2021

cspeckmim closed T13665: The "arc amend" workflow does not work on Mercurial repositories as Resolved by committing Restricted Diffusion Commit.
Sep 5 2021, 7:25 PM · Mercurial, Arcanist
cspeckmim added a comment to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.

So that part is correct, but swapping the commit and branch was incidental, and I overlooked it because we usually get the same result: in common cases, this is moot because ancestors(<branch name>) is equivalent to ancestors(<heads of that branch>), and branch(<commit hash>) is equivalent to branch(<branch of that commit>). The latter is always equivalent; the former is equivalent when commit is the single head of branch, which it almost always is in regular use.

But this behavior (on this install) is unambiguously wrong:

Screen Shot 2021-09-04 at 5.28.41 PM.png (1×2 px, 407 KB)

...since b7be5c961297 (the parameter) is an ancestor of 162a9c1e8e44 (the first commit in the result set). I'll send you a diff.

Sep 5 2021, 1:21 AM · Diffusion

Sep 4 2021

cspeckmim closed T13634: Support marking commits as UNREACHABLE in Mercurial as Resolved.
Sep 4 2021, 11:55 PM · Diffusion
cspeckmim added a comment to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.

One tangential thing I noticed from the error messages in these cases, in DiffusionHistoryQueryConduitAPIMethod the getMercurialResult() function executes this hg command

$path_args = array();
if (strlen($path)) {
  $path_args[] = $path;
  $revset_arg = hgsprintf(
    'reverse(ancestors(%s))',
    $commit_hash);
} else {
  $revset_arg = hgsprintf(
    'reverse(ancestors(%s)) and branch(%s)',
    $drequest->getBranch(),
    $commit_hash);
}
Sep 4 2021, 11:03 PM · Diffusion
cspeckmim closed T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations as Resolved.
Sep 4 2021, 10:51 PM · Diffusion
cspeckmim added a comment to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.

With just the updates to the future handling this is now the landing page I see with missing commits:

Screen Shot 2021-09-04 at 6.33.54 PM.png (948×3 px, 180 KB)

Sep 4 2021, 10:50 PM · Diffusion
cspeckmim renamed T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations from Improve error-handling behavior of Diffusion repository landing page to Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.
Sep 4 2021, 9:29 PM · Diffusion
cspeckmim added a comment to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.

I'm able to reproduce this but I'll investigate further

Sep 4 2021, 7:40 PM · Diffusion
cspeckmim added a comment to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.

I think I did conflate this partially - namely that this isn't directly caused by the issue discussed in T13365. Where this issue came up for me is while testing out D21715, I removed the head commit from the on-disk repo which caused the landing page to not render properly:

Sep 4 2021, 7:20 PM · Diffusion
cspeckmim added a revision to T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations: Unknown Object (Differential Revision).
Sep 4 2021, 6:07 AM · Diffusion
cspeckmim updated the task description for T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.
Sep 4 2021, 5:49 AM · Diffusion
cspeckmim added a revision to T13665: The "arc amend" workflow does not work on Mercurial repositories: Unknown Object (Differential Revision).
Sep 4 2021, 4:56 AM · Mercurial, Arcanist

Sep 3 2021

cspeckmim claimed T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.
Sep 3 2021, 10:26 PM · Diffusion
cspeckmim updated the task description for T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations.
Sep 3 2021, 10:26 PM · Diffusion
cspeckmim renamed T13365: Conduit API method "diffusion.historyquery" fatals under Git/Mercurial if passed a bad "commit" from Conduit API method "diffusion.historyquery" fatals if passed a bad "commit" to Conduit API method "diffusion.historyquery" fatals under Git/Mercurial if passed a bad "commit".
Sep 3 2021, 10:24 PM · Diffusion
cspeckmim renamed T13365: Conduit API method "diffusion.historyquery" fatals under Git/Mercurial if passed a bad "commit" from Conduit API method "diffusion.historyquery" fatals under Git if passed a bad "commit" to Conduit API method "diffusion.historyquery" fatals if passed a bad "commit".
Sep 3 2021, 10:24 PM · Diffusion
cspeckmim triaged T13666: Improve error-handling behavior of Diffusion repository landing page on non-clustered installations as Low priority.
Sep 3 2021, 10:23 PM · Diffusion
cspeckmim updated the task description for T13665: The "arc amend" workflow does not work on Mercurial repositories.
Sep 3 2021, 9:47 PM · Mercurial, Arcanist
cspeckmim added a project to T13665: The "arc amend" workflow does not work on Mercurial repositories: Mercurial.
Sep 3 2021, 2:25 PM · Mercurial, Arcanist
cspeckmim added a project to T13665: The "arc amend" workflow does not work on Mercurial repositories: Arcanist.
Sep 3 2021, 2:25 PM · Mercurial, Arcanist
cspeckmim triaged T13665: The "arc amend" workflow does not work on Mercurial repositories as Wishlist priority.
Sep 3 2021, 2:24 PM · Mercurial, Arcanist
cspeckmim added a comment to T13634: Support marking commits as UNREACHABLE in Mercurial.

In Mercurial, I'm not exactly sure how wide this window is. Since you normally can't strip commits in the remote by pushing (AFAIK?)

This is true, though it does change a bit if we enable evolve server-side. Then when commits/branches are pruned when pushing/pulling those obsolete markers will also be transferred, allowing similar disappearing commits (retrievable via —hidden). However I believe by default mercurial does not allow pruning public changesets (would require forcibly changing phases on client/server, or running a server/branch in non-publishing mode). Supporting evolve/topics server-side is probably large enough that it would be its own big project. So I think this assumption holds up well.

Sep 3 2021, 3:57 AM · Diffusion
cspeckmim added a comment to T13634: Support marking commits as UNREACHABLE in Mercurial.

Another caveat here is that if you destroy commits directly in Phabricator's working copy in certain states, it's possible it won't be able to trace ancestry to find all the commits you destroyed in order to mark them unreachable. However, this window is narrow. For Git, you can bin/repository mark-reachable to rebuild reachability if you know you've done a bunch of dangerous mutations to the on-disk state.

Sep 3 2021, 3:02 AM · Diffusion
cspeckmim updated the task description for T13634: Support marking commits as UNREACHABLE in Mercurial.
Sep 3 2021, 2:58 AM · Diffusion
cspeckmim added a revision to T13634: Support marking commits as UNREACHABLE in Mercurial: Restricted Differential Revision.
Sep 3 2021, 2:55 AM · Diffusion

Aug 17 2021

cspeckmim awarded T13133: Phabricator Query Layer Overview a Mountain of Wealth token.
Aug 17 2021, 12:14 AM · Guides

Jul 27 2021

cspeckmim added a revision to T13658: How to rebrand Phabricator: Unknown Object (Differential Revision).
Jul 27 2021, 12:44 AM

Jul 21 2021

cspeckmim added a revision to T13659: `arc land` may fail with missing rebase extension: Unknown Object (Differential Revision).
Jul 21 2021, 8:59 PM · Arcanist, Mercurial
cspeckmim closed T3271: Before launching $EDITOR from arc, print that we're doing it, a subtask of T13098: Plans: Arcanist toolsets and extensions, as Resolved.
Jul 21 2021, 12:37 AM · Arcanist, Plans
cspeckmim closed T3271: Before launching $EDITOR from arc, print that we're doing it as Resolved.

Marking this as resolved by D21700. If there are further details or input we can re-open to further address.

Jul 21 2021, 12:37 AM · Arcanist

Jul 20 2021

cspeckmim added a revision to T3271: Before launching $EDITOR from arc, print that we're doing it: Unknown Object (Differential Revision).
Jul 20 2021, 9:58 PM · Arcanist
cspeckmim added a revision to T13659: `arc land` may fail with missing rebase extension: Restricted Differential Revision.
Jul 20 2021, 4:36 AM · Arcanist, Mercurial

Jul 19 2021

cspeckmim added a comment to T13659: `arc land` may fail with missing rebase extension.

I'm also surprised that rebase extension isn't enabled by default. I guess I have been turning it on in my default setup.

Jul 19 2021, 5:42 PM · Arcanist, Mercurial
cspeckmim claimed T13659: `arc land` may fail with missing rebase extension.

I like that idea. I'll take a look.

Jul 19 2021, 5:41 PM · Arcanist, Mercurial

Jul 11 2021

cspeckmim added a comment to T12071: Require "E" be defined in variables_order so $_ENV is correctly populated.

One thought here is that updating variables_order is fine on the server, but I really don't want to force arc users to muck with php.ini.

This seems to be resolved already but just wanted to add a note - I believe Windows users currently need to modify php.ini to enable the curl extension for arcanist to work. This is from our internal documentation for installing PHP for arcanist:

Browse to C:\tools\php[some version number]. Edit php.ini as listed below.

  • Note: The following modifications remove the semi-colon at the start of the line. Semi-colons are comments in .ini files and these changes are uncommenting and updating the lines.
    • Find the line ;extension=curl and remove the semicolon.
    • Locate the line ;date.timezone = and replace it with date.timezone = UTC to prevent PHP from yelling at you.
Jul 11 2021, 3:21 PM · Infrastructure
cspeckmim added a revision to T13546: Modernize the "arc land" workflow: Unknown Object (Differential Revision).
Jul 11 2021, 5:57 AM · Arcanist

Jul 8 2021

cspeckmim added a comment to T13658: How to rebrand Phabricator.

One other case where "Phabricator" appears is in HTTP and Email headers, e.g. X-Phabricator-XYZ. For a separate project wanting to update these I think a slow migration approach is needed, to allow recipients currently expecting the existing fields. I'm guessing there isn't a reasonable change here for the upstream.

Depending on how many of these we end up with, I think an email-header-prefix sort of config option might be reasonable.

Oh and then for existing installs this would just default to X-Phabricator-XYZ to continue with existing behavior?

Jul 8 2021, 9:21 PM

Jul 7 2021

cspeckmim added a revision to T13546: Modernize the "arc land" workflow: Restricted Differential Revision.
Jul 7 2021, 8:53 PM · Arcanist

Jul 1 2021

cspeckmim added a comment to T13658: How to rebrand Phabricator.

Create Platform::getProjectRepo() to return "phabricator", or instead detect the repository name.

I suspect having this method do anything nontrivial may lead to some weird boostrapping issues, where it gets called very early during startup or with a partially built environment or during exception handling or whatever and not everything you expect to be available is actually available, so I suspect you'll have the best luck by just hard-coding this.

(For example, Phabricator reads PHABRICATOR_INSTANCE from the environment very early.)

Ah I did have a suspicion that would be tricky but was thinking to give it a shot. Hardcoding is probably just going to be easiest.

Jul 1 2021, 1:40 AM

Jun 29 2021

cspeckmim updated the task description for T13658: How to rebrand Phabricator.
Jun 29 2021, 9:52 PM
cspeckmim updated the task description for T13658: How to rebrand Phabricator.
Jun 29 2021, 9:51 PM
cspeckmim created T13658: How to rebrand Phabricator.
Jun 29 2021, 9:41 PM

Jun 28 2021

cspeckmim added a revision to T13649: Address higher-impact `arc` toolsets behaviors: Unknown Object (Differential Revision).
Jun 28 2021, 12:42 AM · Arcanist
cspeckmim added a comment to T13649: Address higher-impact `arc` toolsets behaviors.

Interestingly this is the output I get when using hg log to print out the commit message containing smart quotes with different encodings -- this behavior is the the same for both PowerShell (chcp 65001) and cmd.exe (chcp 437) and no errors occur.

$ hg log -r tip --template "{desc}" # "default" encoding
A test
Jun 28 2021, 12:23 AM · Arcanist

Jun 27 2021

cspeckmim added a comment to T13649: Address higher-impact `arc` toolsets behaviors.

In Mercurial, with certain character sets, some arc workflows may fail in arc-hg while trying to perform UTF8 operations.

I'm doing some testing to find an appropriate update to arcanist for this. I ran into another issue, when patching down a revision which has unicode characters in the summary on a windows machine. I could try to whack-a-mole these different issues but since Mercurial's --encoding argument is a global option do you think it would be wise to update ArcanistMercurialAPI::buildLocalFuture() with this?

diff --git a/src/repository/api/ArcanistMercurialAPI.php b/src/repository/api/ArcanistMercurialAPI.php
index e5c2078b..ac72c356 100644
--- a/src/repository/api/ArcanistMercurialAPI.php
+++ b/src/repository/api/ArcanistMercurialAPI.php
@@ -15,7 +15,7 @@ final class ArcanistMercurialAPI extends ArcanistRepositoryAPI {
   protected function buildLocalFuture(array $argv) {
     $env = $this->getMercurialEnvironmentVariables();
Jun 27 2021, 10:47 PM · Arcanist

Jun 3 2021

cspeckmim added a comment to 2021 Week 22 (End of Active Maintenance).

Thank you @epriestley and all of Phacility. Phabricator is a shining example of a well-engineered product that itself encourages better engineering processes and having fun while doing so. I had a great time learning and using Phabricator and it has left a big impact. I only wish I could have been more involved in the development and community. Wishing everyone the best!

Jun 3 2021, 6:10 PM

Jun 1 2021

cspeckmim awarded T13654: Wind Down Phacility Operations a Heartbreak token.
Jun 1 2021, 1:25 PM · Phacility
bbrdaric awarded Changelog a Heartbreak token.
Jun 1 2021, 8:41 AM

May 1 2021

cspeckmim awarded T13652: Notes on Ardunio CNC drivers a Cup of Joe token.
May 1 2021, 12:57 AM

Apr 30 2021

cspeckmim added a comment to T7260: EXCEPTION: (AphrontCharacterSetQueryException) Attempting to construct a query using a non-utf8 string when utf8 is expected.

Hmm okay that might only take effect at the time of making commits, though I've run into other issues where phabricator/arcanist fails to parse the contents of a commit message and forcing it to interpret as UTF-8 via --encoding utf-8 in the mercurial command has worked.

Apr 30 2021, 2:10 PM

Apr 26 2021

cspeckmim added a watcher for Guides: cspeckmim.
Apr 26 2021, 1:05 PM

Apr 23 2021

cspeckmim added a comment to T7260: EXCEPTION: (AphrontCharacterSetQueryException) Attempting to construct a query using a non-utf8 string when utf8 is expected.

To clarify I think having the environment variable set as HGENCODING=utf-8 would be a possible solution/workaround.

Apr 23 2021, 7:31 PM
cspeckmim added a comment to T7260: EXCEPTION: (AphrontCharacterSetQueryException) Attempting to construct a query using a non-utf8 string when utf8 is expected.

I have not tried this out yet but mercurial claims to respect an HGENCODING environment variable (https://www.mercurial-scm.org/doc/hg.1.html#environment-variables). It's possible that setting this on the phabricator server might fix the issue by affecting any hg commands run by phabricator. Note that the environment variable would need to be set/exported for both the system user account which phabricator web server runs under (like httpd or nginx) and the system user account which the daemons run under, as they both run mercurial commands.

Apr 23 2021, 7:30 PM

Mar 12 2021

cspeckmim awarded T13602: Improve workflow when users who do not have permission to see a revision are added as reviewers a Like token.
Mar 12 2021, 10:29 PM · Policy, Differential

Mar 11 2021

cspeckmim added a comment to T13628: Provide "Foist Upon", an inverse operation to "Commandeer".

Adding a data point, "Foist Upon" was a surprise hit among the developers here and additionally we have successfully utilized the conduit API to take advantage of foisting

There are probably also some off-label use cases where, for example, bots create revisions on behalf of users. I'm not thrilled about these, ...

oops 😬

Mar 11 2021, 7:38 PM · Differential

Jun 10 2020

cspeckmim added a comment to T9948: Modernize "arc land" for Mercurial: bookmark-to-branch, branch-to-self, multiple heads.

Would the use of an extension make additional setup necessary for observed repositories vs. hosted repositories, or are observed repositories out of scope for these set of changes?

Jun 10 2020, 3:35 PM · Mercurial, Arcanist

May 22 2020

cspeckmim awarded Blog Post: Quick Look: Suggesting Edits with Inline Comments a Love token.
May 22 2020, 9:53 PM · Differential, Quick Look

Aug 13 2019

jcox awarded Changelog a Love token.
Aug 13 2019, 4:30 PM

Apr 29 2019

cspeckmim added a comment to T13161: Plans: Improve Differential diff display behaviors.

Wow thank you for this. I came across a diff that mixed a lot of whitespace with minimal code change it's much easier to differentiate what happened.

otterlygreat.gif (177×315 px, 1 MB)

Apr 29 2019, 8:47 PM · Differential, Plans

Apr 19 2019

remusvrm awarded Changelog a Like token.
Apr 19 2019, 7:09 PM

Feb 16 2019

cspeckmim awarded T13161: Plans: Improve Differential diff display behaviors a Party Time token.
Feb 16 2019, 5:02 PM · Differential, Plans

Jul 10 2018

cspeckmim added a comment to T13153: Use a bloom filter (or low-resolution hashing?) to reserve unique identifiers in a GDPR-compliant way with reasonable technical foundations.

ugh, zucchini

Jul 10 2018, 2:55 AM · Guides

May 16 2018

cspeckmim added a comment to T9548: Support Mercurial's bundle2 wire protocol.

Mercurial 4.6 has added hg help internals.bundle2 which will render a book to your console with details about the format/protocol. I did a high-speed skim and then tried out hg help internals.changegroup on a whim which produced an even longer book about the stream protocol (SSH only maybe?).

May 16 2018, 1:13 AM · Diffusion, Mercurial

Mar 27 2018

cspeckmim created T13113: phurl.io SSL certificate has expired.
Mar 27 2018, 7:53 PM · Phacility, Ops