Page MenuHomePhabricator
Feed All Stories

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
epriestley added a comment to D21680: An assortment of fixes and updates to using arc-land with mercurial.

"Cascading" is updating all local refs which depend on refs that were selected-and-modified by the land operation. So if you have dependent features in several dependent branches named change1 -> change2 -> change3 locally, and arc land change2, we want to (in the general case) rebase your local change3 onto the landed version of change2 so that it no longer has out-of-date ancestors.

Jul 8 2021, 8:25 PM
cspeckmim added a comment to D21679: Update templates used with mercurial to remove '--debug'.

This specific issue is probably the relevant one, the other thing linked from there looks like it's just a --debug problem, which this patch should fix.

https://discourse.phabricator-community.org/t/error-cloning-mercurial-repository-http-after-first-install/1200/2

Jul 8 2021, 8:17 PM
cspeckmim planned changes to D21680: An assortment of fixes and updates to using arc-land with mercurial.

Thank you for the tips.

Jul 8 2021, 8:13 PM
cspeckmim planned changes to D21679: Update templates used with mercurial to remove '--debug'.
  1. Bring the 2.4 version bump upstream, without directly addressing annotate --debug.
  2. Deal with annotate --debug by either:
    1. bumping the minimum version to 4.6 in your fork and using --template; and/or
    2. defining another Mercurial version capability test for annotate --template and selecting that in versions of Mercurial which support it (this can come upstream).

Your call on whether you want to do the legwork on (2B).

I'll plan to do (2B) now that I'm more familiar/comfortable with the version-checking approach. Bumping the required version to something so much newer isn't really justified for this, especially considering the versions that are available on official distribution packages (centos7 currently has mercurial-2.6). Using --template for newer versions will be less error-prone though so I'll do the legwork. I'll try to get something up later tonight.

Jul 8 2021, 7:40 PM
epriestley added a comment to D21679: Update templates used with mercurial to remove '--debug'.

This specific issue is probably the relevant one, the other thing linked from there looks like it's just a --debug problem, which this patch should fix.

Jul 8 2021, 7:08 PM
epriestley added a comment to D21679: Update templates used with mercurial to remove '--debug'.

Requiring very recent Mercurial may also run into issues described here:

Jul 8 2021, 7:07 PM
epriestley added a comment to D21680: An assortment of fixes and updates to using arc-land with mercurial.

reconcileLocalState() is another possible place to put the post-push update logic -- that runs exactly once, and a little later.

Jul 8 2021, 7:01 PM
epriestley added a comment to D21680: An assortment of fixes and updates to using arc-land with mercurial.

A possible approach would be to try to put the "failure" commands into ArcanistMercurialLocalState. I think that would look like snapshotting every bookmark (not just the active one), and then resetting all bookmarks when restoring state. I'm not really sure if this would be better -- your approach seems fairly reasonable to me, and has the advantage of doing all the bookmark management pretty narrowly in one place, and this should be the only place that this work needs to happen. Offhand, I think I favor the approach you've taken here.

Jul 8 2021, 7:00 PM
epriestley 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.

Jul 8 2021, 6:36 PM
epriestley requested changes to D21679: Update templates used with mercurial to remove '--debug'.

Ah, I didn't realize annotate --template arrived so recently. Phacility production has Mercurial 2.8.2 and I can't easily fix that at the moment, so I don't want to bring version bump all the way to 4.6 upstream today. I'm okay with the jump to 2.4 upstream, and also okay with leaving annotate --debug without filtering upstream (since no one has complained in all this time, and not addressing it doesn't make things worse). So I'd propose:

Jul 8 2021, 6:14 PM
epriestley accepted D21681: Update templates used with mercurial to remove '--debug'.
Jul 8 2021, 5:46 PM
epriestley closed D21678: Remove some "Phacility" and "epriestley" references.
Jul 8 2021, 5:46 PM
epriestley committed rP5521f76fe406: Remove some "Phacility" and "epriestley" references (authored by epriestley).
Remove some "Phacility" and "epriestley" references
Jul 8 2021, 5:46 PM
cspeckmim published D21680: An assortment of fixes and updates to using arc-land with mercurial for review.

This is still in early stage but marking for review because I wanted to get some early feedback if I'm on the right track. With these changes when I land a diff with other arbitrary local commits the pull -B master that it ends up running does pull down and update the local master bookmark to the right revision, on a hosted mercurial repository. The changes to splitting the $tail command array into two separate arrays feels a bit off to me. As for updating the working directory I think that change is going to be a bit more involved but I'm not sure if that's something appropriate to be done in pushChange() or that should happen higher up in ArcanistLandEngine::exeute() by adding some other functions to be overridden by the different engines or similar.

Jul 8 2021, 4:14 AM
cspeckmim updated the diff for D21681: Update templates used with mercurial to remove '--debug'.

"fix" "typos"

Jul 8 2021, 3:58 AM
cspeckmim added inline comments to D21681: Update templates used with mercurial to remove '--debug'.
Jul 8 2021, 3:57 AM
cspeckmim published D21681: Update templates used with mercurial to remove '--debug' for review.
Jul 8 2021, 3:55 AM
cspeckmim published D21679: Update templates used with mercurial to remove '--debug' for review.

Okay I have these changes in and verified that things seem to be working fine with mercurial 5.8, though I'm not sure your thoughts on requiring mercurial 4.6 as the minimum version. If we restore the hg annotate --debug then the minimum version required would only jump to 2.4.

Jul 8 2021, 3:55 AM

Jul 7 2021

cspeckmim added a revision to T13546: Modernize the "arc land" workflow: D21680: An assortment of fixes and updates to using arc-land with mercurial.
Jul 7 2021, 8:53 PM · Arcanist
epriestley added a comment to T13652: Notes on Ardunio CNC drivers.

I should probably just set up a blog or something since I don't expect to bring any microcontroller components upstream, but until then:

Jul 7 2021, 6:03 PM
cspeckmim added a comment to D21677: Updating the filtering of Mercurial debug output.

According to their changelog the {p1node} style was added in 2.4 (2012) and was deprecated in 4.9 (2019) in favor of the new {p1.node} format
https://www.mercurial-scm.org/wiki/WhatsNew/Archive#Mercurial_2.4_.282012-11-01.29

Jul 7 2021, 2:00 AM
cspeckmim added a comment to D21677: Updating the filtering of Mercurial debug output.

I started a draft change in D21679. I also have changes for rARC but haven't yet created a diff for that (or yet figured out the exact versions to define)

Jul 7 2021, 1:01 AM

Jul 6 2021

cspeckmim added a comment to D21677: Updating the filtering of Mercurial debug output.

Ah thank you for those details for the better change. I was planning to play around with what would be needed to remove the --debug flag(s) but I hadn't yet gone into the details. I'll take a look at these changes. From quick testing on recent mercurial versions (5.8) it looks like the output does not include the local revision number, e.g instead of
693:8b39f63eb209dd2bdfd4bd3d0721a9e38d75a6d3 -1:0000000000000000000000000000000000000000
it prints out
8b39f63eb209dd2bdfd4bd3d0721a9e38d75a6d3 0000000000000000000000000000000000000000

Jul 6 2021, 11:58 PM
epriestley added a comment to D21677: Updating the filtering of Mercurial debug output.

(DiffusionLowLevelMercurialPathsQuery has an example of using PhutilBinaryAnalyzer to do a Mercurial capability test.)

Jul 6 2021, 10:17 PM
epriestley added a comment to D21677: Updating the filtering of Mercurial debug output.

On navigating the version stuff, I think the pathway would be:

Jul 6 2021, 10:17 PM
epriestley added a comment to D21677: Updating the filtering of Mercurial debug output.

Keep the protocol/domain on one line and the path on another (in this case path is <80 chars)?

Jul 6 2021, 10:13 PM
cspeckmim closed D21677: Updating the filtering of Mercurial debug output.
Jul 6 2021, 9:28 PM
cspeckmim committed rP14c516b7a109: Updating the filtering of Mercurial debug output (authored by cspeckmim).
Updating the filtering of Mercurial debug output
Jul 6 2021, 9:28 PM
cspeckmim updated the diff for D21677: Updating the filtering of Mercurial debug output.

For the invalid branch cache message remove the (served): bit which might differ on hosted vs. observed repositories.

Jul 6 2021, 7:28 PM
cspeckmim planned changes to D21677: Updating the filtering of Mercurial debug output.
Jul 6 2021, 7:23 PM
epriestley accepted D21677: Updating the filtering of Mercurial debug output.
Jul 6 2021, 7:09 PM
cspeckmim published D21677: Updating the filtering of Mercurial debug output for review.
Jul 6 2021, 6:44 PM

Jul 1 2021

cspeckmim accepted D21678: Remove some "Phacility" and "epriestley" references.

I removed the "install RHEL" and "install Ubuntu" scripts outright since I don't have any reasonable way to test them and don't plan to maintain them.

Ah I did come across these as well and forgot to note.

Jul 1 2021, 1:47 AM
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 30 2021

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

Proof-of-concept only for class_alias():

Jun 30 2021, 10:39 PM
epriestley requested review of D21678: Remove some "Phacility" and "epriestley" references.
Jun 30 2021, 10:32 PM
epriestley added a revision to T13658: How to rebrand Phabricator: D21678: Remove some "Phacility" and "epriestley" references.
Jun 30 2021, 10:31 PM
epriestley added a comment to T13658: How to rebrand Phabricator.

This is a bit out there, but: PHP once had something called classkit and later runkit, which perhaps exists as runkit7 now, that let you dynamically rename classes at runtime. In theory, you could use this as a compatibility layer to support mass renaming of classes: if code asks for PhabricatorXYZ, look for GenericXYZ (or XYZ, or consult a mapping), then make a runtime copy of the class. This narrow capability may be in PHP's core as class_alias(), now.

Jun 30 2021, 10:13 PM
epriestley added a comment to T13658: How to rebrand Phabricator.

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

Jun 30 2021, 10:07 PM

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 comment to D21676: Force all mercurial commands to use UTF-8 encoding.

As another test I tried creating a new commit on Windows and using smart-quotes and em-dash in the commit message and mercurial bombed with

$ hg ci # nvim opened an editor in UTF-8 encoding mode and let me write in a commit message: Test commit with “smart quotes” and "em—dash"
transaction abort!
rollback completed
note: commit message saved in .hg\last-message.txt
note: use 'hg commit --logfile .hg/last-message.txt --edit' to reuse it
abort: decoding near 't quotesΓÇ¥ and "emΓ': 'charmap' codec can't decode byte 0x9d in position 34: character maps to <undefined>!
Jun 28 2021, 1:48 AM
cspeckmim closed D21676: Force all mercurial commands to use UTF-8 encoding.
Jun 28 2021, 1:39 AM
cspeckmim committed rARCc94c5bbf35f0: Force all mercurial commands to use UTF-8 encoding (authored by cspeckmim).
Force all mercurial commands to use UTF-8 encoding
Jun 28 2021, 1:39 AM
cspeckmim updated the test plan for D21676: Force all mercurial commands to use UTF-8 encoding.
Jun 28 2021, 1:38 AM
cspeckmim added a comment to D21676: Force all mercurial commands to use UTF-8 encoding.

I ran through another test just in case and things do seem to function fine. Another interesting point is when using nvim on Windows it will properly render the smart-quotes and em-dash, but mercruial's output uses the weird characters. Just in case I made sure to test having smart quotes and em-dash both in the Title and Summary fields as well as the content of the file change. Patching and landing the change from Windows, then pulling the commit onto the Mac and the end result on the Mac looks correct for all places.

Jun 28 2021, 1:36 AM
cspeckmim updated the test plan for D21676: Force all mercurial commands to use UTF-8 encoding.
Jun 28 2021, 1:34 AM
epriestley accepted D21676: Force all mercurial commands to use UTF-8 encoding.

The results in T13649 -- where none of these results actually print a character that anyone would consider to be a "smart quote" (?) -- aren't exactly inspiring, but I think this is a step forward at least.

Jun 28 2021, 1:17 AM
cspeckmim retitled D21676: Force all mercurial commands to use UTF-8 encoding from Force all mercurial commands to use `--encoding UTF-8` to Force all mercurial commands to use UTF-8 encoding.
Jun 28 2021, 12:56 AM
cspeckmim requested review of D21676: Force all mercurial commands to use UTF-8 encoding.
Jun 28 2021, 12:43 AM
cspeckmim added a revision to T13649: Address higher-impact `arc` toolsets behaviors: D21676: Force all mercurial commands to use UTF-8 encoding.
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

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

I think the global flag is reasonable.

Jun 27 2021, 11:05 PM · Arcanist
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
cspeckmim closed D21675: Update a few random typos.
Jun 27 2021, 9:38 PM
cspeckmim committed rP96374208616b: Update a few random typos (authored by cspeckmim).
Update a few random typos
Jun 27 2021, 9:38 PM
epriestley added a comment to D21675: Update a few random typos.

Oops -- I assumed you were already in Blessed Committers. I added you, you should be able to either arc land or "Land Revision" now (if arc diff uploaded to staging properly). See that project description for some details, or yell if you're still having issues.

Jun 27 2021, 9:34 PM
epriestley added a member for Blessed Committers: cspeckmim.
Jun 27 2021, 9:33 PM
cspeckmim added a comment to D21675: Update a few random typos.

For landing the revision can that only be done through the "Land Revision" button? It's greyed out for me.

Jun 27 2021, 9:05 PM
cspeckmim updated the test plan for D21675: Update a few random typos.
Jun 27 2021, 8:49 PM
cspeckmim updated the diff for D21675: Update a few random typos.

Re-balance the text line formatting with the new phrasing

Jun 27 2021, 8:45 PM
cspeckmim updated the diff for D21675: Update a few random typos.

Update the phrasing

Jun 27 2021, 8:43 PM
epriestley added a comment to D21675: Update a few random typos.

Oh, just for completeness -- you can trigger the first message by visiting this URI while logged out (e.g., in an incognito window):

Jun 27 2021, 8:40 PM
epriestley accepted D21675: Update a few random typos.
Jun 27 2021, 8:37 PM
cspeckmim requested review of D21675: Update a few random typos.
Jun 27 2021, 8:12 PM

Jun 25 2021

epriestley edited the content of Changelog.
Jun 25 2021, 9:34 PM
epriestley created an object: 2021 Week 26 (Late June).
Jun 25 2021, 9:32 PM
epriestley committed rP193798385bd3: (stable) Promote 2021 Week 26 (authored by epriestley).
(stable) Promote 2021 Week 26
Jun 25 2021, 9:32 PM
epriestley closed D21674: Add an "Authority" control to Packages to support "Watcher" packages.
Jun 25 2021, 8:48 PM
epriestley committed rPa641ec82a323: Add an "Authority" control to Packages to support "Watcher" packages (authored by epriestley).
Add an "Authority" control to Packages to support "Watcher" packages
Jun 25 2021, 8:48 PM
epriestley committed rPbf889c1c083e: Correct a mistaken path in the "Advanced Configuration" documentation (authored by epriestley).
Correct a mistaken path in the "Advanced Configuration" documentation
Jun 25 2021, 8:48 PM
epriestley closed D21663: Correct a mistaken path in the "Advanced Configuration" documentation.
Jun 25 2021, 8:48 PM
epriestley updated the diff for D21674: Add an "Authority" control to Packages to support "Watcher" packages.
  • Allow "owners.search" API to read this setting.
Jun 25 2021, 5:00 PM
epriestley requested review of D21674: Add an "Authority" control to Packages to support "Watcher" packages.
Jun 25 2021, 4:31 PM
epriestley triaged T13657: Allow "watcher" packages to have dominion without permitting owners to force accept as Normal priority.
Jun 25 2021, 3:32 PM · Owners
0 added a comment to D21673: Saturate day of month in datepicker.

Thank you! Looks like it worked.

Jun 25 2021, 12:10 AM
0 committed rP1b54afdce565: Saturate day of month in datepicker (authored by 0).
Saturate day of month in datepicker
Jun 25 2021, 12:03 AM
0 closed D21673: Saturate day of month in datepicker.
Jun 25 2021, 12:03 AM

Jun 24 2021

epriestley added a comment to D21673: Saturate day of month in datepicker.

I added you to Blessed Committers, so you should be able to land this yourself. See that project description for guidance, or let me know if you run into issues.

Jun 24 2021, 5:49 PM
epriestley added a member for Blessed Committers: 0.
Jun 24 2021, 5:49 PM
epriestley accepted D21673: Saturate day of month in datepicker.

(That was really me.)

Jun 24 2021, 5:40 PM
0 added a comment to D21673: Saturate day of month in datepicker.

I did see that, but @epriestley (or possibly an impostor) said:

I think a reasonable strategy for the moment is just to send patches upstream for review normally (with me as a reviewer) until I stop getting to them or it's clear that we don't have similar viewpoints on what constitutes a desirable patch.

Jun 24 2021, 1:01 AM

Jun 17 2021

holmboe awarded T13654: Wind Down Phacility Operations a Heartbreak token.
Jun 17 2021, 2:40 PM · Phacility

Jun 16 2021

briankc updated briankc.
Jun 16 2021, 8:33 AM

Jun 15 2021

artms added a comment to D21673: Saturate day of month in datepicker.

Wondering if you saw:

Effective June 1, 2021: Phabricator is no longer actively maintained.
Jun 15 2021, 7:34 PM

Jun 13 2021

0 published D21673: Saturate day of month in datepicker for review.
Jun 13 2021, 9:22 PM

Jun 9 2021

dtf awarded T13654: Wind Down Phacility Operations a Heartbreak token.
Jun 9 2021, 9:06 AM · Phacility

Jun 8 2021

Bezalel awarded T13654: Wind Down Phacility Operations a Heartbreak token.
Jun 8 2021, 7:20 AM · Phacility

Jun 7 2021

tiguchi awarded T13654: Wind Down Phacility Operations a Heartbreak token.
Jun 7 2021, 3:25 PM · Phacility
krisbuist awarded T13654: Wind Down Phacility Operations a Heartbreak token.
Jun 7 2021, 6:54 AM · Phacility
tycho.tatitscheff abandoned D15760: Add a user field into aphlict configuration.
Jun 7 2021, 12:03 AM

Jun 5 2021

epriestley edited the content of Changelog.
Jun 5 2021, 6:45 PM
epriestley committed rARC4f70fcffa8a5: (stable) Promote 2021 Week 23 (authored by epriestley).
(stable) Promote 2021 Week 23
Jun 5 2021, 6:14 PM
epriestley committed rPcdae0ac68f1f: (stable) Promote 2021 Week 23 (authored by epriestley).
(stable) Promote 2021 Week 23
Jun 5 2021, 6:14 PM
epriestley created an object: 2021 Week 23 (Early June).
Jun 5 2021, 6:14 PM
Krinkle awarded T13654: Wind Down Phacility Operations a Heartbreak token.
Jun 5 2021, 3:32 PM · Phacility

Jun 4 2021

stwalkerster updated stwalkerster.
Jun 4 2021, 10:56 PM
mbishopim3 added a comment to 2021 Week 22 (End of Active Maintenance).

My company was a loving user of Phabricator (local server!) for over 10 years. I still fondly remember the discussions here and talking through new applications, testing changes, and so much more. I know that the use of this tool permanently shaped hundreds of engineers' views on code quality, review, the software development lifecycle, and so on. It will be missed.

Jun 4 2021, 2:06 PM