{"push_id":826290830,"size":33,"distinct_size":33,"ref":"refs/heads/master","head":"29dda73ec2b4d6494784b933dbf2132d7ee8dece","before":"e3a012e79ed57df54b260ea144dd4370d93e6616","commits":[{"sha":"02f42628c3bafd3fb8d893724dc8096f9b73c450","author":{"email":"c34c009102e60d77975598e1f414f8a701c22d0b@phacility.com","name":"Chad Little"},"message":"Update Harbormaster for handleRequest\n\nSummary: Updates Harbormaster for handleRequest over processRequest\n\nTest Plan: Went through various Harbormaster areas, buildables, actions.\n\nReviewers: epriestley\n\nReviewed By: epriestley\n\nSubscribers: Korvin\n\nDifferential Revision: https://secure.phabricator.com/D14255","distinct":true,"url":"https://api.github.com/repos/freebsd/phabricator/commits/02f42628c3bafd3fb8d893724dc8096f9b73c450"},{"sha":"44e61a239754307fab33f9c9acca6f9a81227ac7","author":{"email":"c34c009102e60d77975598e1f414f8a701c22d0b@phacility.com","name":"Chad Little"},"message":"Update home for handleRequest\n\nSummary: Updates /home/ for handleRequest\n\nTest Plan: Visit /home/creat/\n\nReviewers: epriestley\n\nReviewed By: epriestley\n\nSubscribers: Korvin\n\nDifferential Revision: https://secure.phabricator.com/D14257","distinct":true,"url":"https://api.github.com/repos/freebsd/phabricator/commits/44e61a239754307fab33f9c9acca6f9a81227ac7"},{"sha":"dac16264e401247477a328230abe63a142f7e201","author":{"email":"c34c009102e60d77975598e1f414f8a701c22d0b@phacility.com","name":"Chad Little"},"message":"Update metamta for handleRequest\n\nSummary: Updates metamta for handleRequest\n\nTest Plan: Unable to test this, but looks safe?\n\nReviewers: epriestley\n\nReviewed By: epriestley\n\nSubscribers: Korvin\n\nDifferential Revision: https://secure.phabricator.com/D14256","distinct":true,"url":"https://api.github.com/repos/freebsd/phabricator/commits/dac16264e401247477a328230abe63a142f7e201"},{"sha":"1bdf22535414e5473aea98dc7da3a25d6d4afe4e","author":{"email":"46f1a0bd5592a2f9244ca321b129902a06b53e03@epriestley.com","name":"epriestley"},"message":"Use Drydock authorizations when acquiring leases\n\nSummary:\nRef T9519. When acquiring leases on resources:\n\n  - Only consider resources created by authorized blueprints.\n  - Only consider authorized blueprints when creating new resources.\n  - Fail with a tailored error if no blueprints are allowed.\n  - Fail with a tailored error if missing authorizations are causing acquisition failure.\n\nOne somewhat-substantial issue with this is that it's pretty hard to figure out from the Harbormaster side. Specifically, the Build step UI does not show field value anywhere, so the presence of unapproved blueprints is not communicated. This is much more clear in Drydock. I'll plan to address this in future changes to Harbormaster, since there are other related/similar issues anyway.\n\nTest Plan: {F872527}\n\nReviewers: hach-que, chad\n\nReviewed By: chad\n\nManiphest Tasks: T9519\n\nDifferential Revision: https://secure.phabricator.com/D14254","distinct":true,"url":"https://api.github.com/repos/freebsd/phabricator/commits/1bdf22535414e5473aea98dc7da3a25d6d4afe4e"},{"sha":"3ff5ca789a6027cda0f0a03f71fff5e5fd905369","author":{"email":"46f1a0bd5592a2f9244ca321b129902a06b53e03@epriestley.com","name":"epriestley"},"message":"Fix `/tag/aa%20bb` project URIs\n\nSummary:\nRef T9551. To set things up:\n\n  - Name a project `aa bb`. This will have the tag `aa_bb`.\n  - Try to visit `/tag/aa%20bb`.\n\nHere's what happens now:\n\n  - You get an Aphront redirect error as it tries to add the trailing `/`. Add `phutil_escape_uri()` so that works again.\n  - Then, you 404, even though this tag is reasonably equivalent to the real project tag and could be redirected. Add a fallback to lookup, resolve, and redirect if we can find a hit for the tag.\n\nThis also fixes stuff like `/tag/AA_BB/`.\n\nTest Plan: Visited URIs like `/tag/aa%20bb`, `/tag/aa%20bb/`, `/tag/Aa_bB/`, etc. None of them worked before and now they all do.\n\nReviewers: chad\n\nReviewed By: chad\n\nManiphest Tasks: T9551\n\nDifferential Revision: https://secure.phabricator.com/D14260","distinct":true,"url":"https://api.github.com/repos/freebsd/phabricator/commits/3ff5ca789a6027cda0f0a03f71fff5e5fd905369"},{"sha":"cd8be8106be8a5713a80e7d0e7ee3642d05c6f3b","author":{"email":"46f1a0bd5592a2f9244ca321b129902a06b53e03@epriestley.com","name":"epriestley"},"message":"Improve ruleset for generating project hashtags\n\nSummary:\nRef T9551. We currently use the same logic for generating project hashtags and Phriction slugs, but should be a little more conservative with project hashtags.\n\nStop them from generating with stuff that won't parse in a \"Reviewers:\" field or generally in commments (commas, colons, etc).\n\nTest Plan:\nCreated a bunch of projects with nonsense in them and saw them generate pretty reasonable hashtags.\n\n{F873456}\n\nReviewers: chad\n\nReviewed By: chad\n\nManiphest Tasks: T9551\n\nDifferential Revision: https://secure.phabricator.com/D14261","distinct":true,"url":"https://api.github.com/repos/freebsd/phabricator/commits/cd8be8106be8a5713a80e7d0e7ee3642d05c6f3b"},{"sha":"812c41a18abdd94be85f6902977ee3cf44b7eaf7","author":{"email":"788c26ffc7f4b4f8afed0cf0b9b26697331a2342@gmail.com","name":"Christopher Speck"},"message":"Conditionally use `hg files` vs. `hg locate` depending on version of Mercurial\n\nSummary:\nIn Mercurial 3.2 the `locate` command was deprecated in favor of `files` command. This change updates the DiffusionLowLevelMercurialPathsQuery command to conditionally use `locate` or `files` based on the version of Mercurial used.\n\nCloses T7375\n\nTest Plan:\nMy test/develop Phabricator instance is setup to run Mercurial 3.5.1.\n\nThe test procedure to verify valid file listings are being returned:\n 1. I navigated to `http://192.168.0.133/conduit/method/diffusion.querypaths/`\n 2. I populated the following fields:\n  - path: `\"/\"`\n  - commit: `\"d721d5b57fc9ef72e47ff9d4e0c583d74a46590c\"`\n  - callsign: `\"HGTEST\"`\n 3. I submitted request and verified that result contained all files in the repository:\n```\n{\n  \"0\": \"README\",\n  \"1\": \"alpha/beta/trifle\",\n  \"2\": \"test/Chupacabra.cow\",\n  \"3\": \"test/socket.ks\"\n}\n```\n\nI repeated the above steps after setting up Mercurial 2.6.2, which I installed in the following manner:\n 1. I downloaded Mercurial 2.6.2 source and run `make local` which will only compile it to work from its own directory (`/opt/mercurial-2.6.2`)\n 2. I linked `/usr/local/bin/hg -> /opt/mercurial-2.6.2/hg` (there's also a `/usr/bin/hg` which is a link to `/usr/local/bin/hg`)\n 3. I navigated to my home directory and verify that `hg --version` returns 2.6.2.\n 4. I restarted phabricator services (probably unnecessary).\n\nWith the Multimeter application active\n 1. I verified that `/usr/local/bin/hg` referred to version 2.6\n 2. I ran the same conduit call from the conduit application\n 3. I verified that `http://192.168.0.133/multimeter/?type=2&group=label` incremented values for `bin.hg locate`.\n 4. I swapped out mercurial versions for 3.5.1\n 5. I ran the same conduit call from the conduit application\n 6. I verified that `http://192.168.0.133/multimeter/?type=2&group=label` incremented values for `bin.hg files`\n\nReviewers: epriestley, #blessed_reviewers\n\nReviewed By: epriestley, #blessed_reviewers\n\nSubscribers: Korvin\n\nManiphest Tasks: T7375\n\nDifferential Revision: https://secure.phabricator.com/D14253","distinct":true,"url":"https://api.github.com/repos/freebsd/phabricator/commits/812c41a18abdd94be85f6902977ee3cf44b7eaf7"},{"sha":"3f3626c11a04736181dac8e9b0962b34338cb2de","author":{"email":"46f1a0bd5592a2f9244ca321b129902a06b53e03@epriestley.com","name":"epriestley"},"message":"Write some documentation about Drydock security and repository automation\n\nSummary: Ref T182. Ref T9519. Some of what this describes doesn't exist yet, but should soon.\n\nTest Plan: Read documentation.\n\nReviewers: chad\n\nReviewed By: chad\n\nManiphest Tasks: T182, T9519\n\nDifferential Revision: https://secure.phabricator.com/D14258","distinct":true,"url":"https://api.github.com/repos/freebsd/phabricator/commits/3f3626c11a04736181dac8e9b0962b34338cb2de"},{"sha":"0b6c0310424b15b9dfc0a2feab314537f5693454","author":{"email":"46f1a0bd5592a2f9244ca321b129902a06b53e03@epriestley.com","name":"epriestley"},"message":"Work around an issue with custom \"users\" fields in Maniphest\n\nSummary:\nFixes T9558. The recent changes to validate PHID fields don't work cleanly with this gross hack.\n\nThis can probably be unwound now but it will definitely get fixed in T9132 so I may just wait for that.\n\nTest Plan: Edited a custom \"users\" field in Maniphest. This should only affect Maniphest because it has a weird hack.\n\nReviewers: chad\n\nReviewed By: chad\n\nManiphest Tasks: T9558\n\nDifferential Revision: https://secure.phabricator.com/D14264","distinct":true,"url":"https://api.github.com/repos/freebsd/phabricator/commits/0b6c0310424b15b9dfc0a2feab314537f5693454"},{"sha":"6ff1354ac1ff053532e85660f74216a9b57be5cd","author":{"email":"c34c009102e60d77975598e1f414f8a701c22d0b@phacility.com","name":"Chad Little"},"message":"Fix errors when mentioning others in Ponder\n\nSummary: Fixes T9552. We need to set a questionID and the question object (for policy) when initializing a new Answer.\n\nTest Plan: Write an answer that mentions another user.\n\nReviewers: epriestley\n\nReviewed By: epriestley\n\nSubscribers: Korvin\n\nManiphest Tasks: T9552\n\nDifferential Revision: https://secure.phabricator.com/D14263","distinct":true,"url":"https://api.github.com/repos/freebsd/phabricator/commits/6ff1354ac1ff053532e85660f74216a9b57be5cd"},{"sha":"df5a031b54a5691f5665e70e58e7ef1d75f0aee0","author":{"email":"46f1a0bd5592a2f9244ca321b129902a06b53e03@epriestley.com","name":"epriestley"},"message":"Allow \"Repository Automation\" to be configured for repositories\n\nSummary:\nRef T182. This allows you to assign blueprints that a repository can use to perform working copy operations. Eventually, this will support \"merge this\" in Differential, etc.\n\nThis is just UI for now, with no material effects.\n\nMost of this diff is just taking logic that was in the existing \"Blueprints\" CustomField and putting it in more general places so Diffusion (which does not use CustomFields) can also access it.\n\nTest Plan:\n  - Configured repository automation for a repository.\n  - Removed repository automation for a repository.\n\nReviewers: chad\n\nReviewed By: chad\n\nSubscribers: avivey\n\nManiphest Tasks: T182\n\nDifferential Revision: https://secure.phabricator.com/D14259","distinct":true,"url":"https://api.github.com/repos/freebsd/phabricator/commits/df5a031b54a5691f5665e70e58e7ef1d75f0aee0"},{"sha":"b4af57ec51e1c449e43b4da5113b44fbab49adde","author":{"email":"46f1a0bd5592a2f9244ca321b129902a06b53e03@epriestley.com","name":"epriestley"},"message":"Rough cut of DrydockRepositoryOperation\n\nSummary:\nRef T182. This doesn't do anything interesting yet and is mostly scaffolding, but here's roughly the workflow. From previous revision, you can configure \"Repository Automation\" for a repository:\n\n{F875741}\n\nIf it's configured, a new \"Land Revision\" button shows up:\n\n{F875743}\n\nOnce you click it you get a big warning dialog that it won't work, and then this shows up at the top of the revision (completely temporary/placeholder UI, some day a nice progress bar or whatever):\n\n{F875747}\n\nIf you're lucky, the operation eventually sort of works:\n\n{F875750}\n\nIt only runs `git show` right now, doesn't actually do any writes or anything.\n\nTest Plan:\n  - Clicked \"Land Revision\".\n  - Watched `phd debug task`.\n  - Saw it log `git show` to output.\n  - Verified operation success in UI (by fiddling URL, no way to get there normally yet).\n\nReviewers: chad\n\nReviewed By: chad\n\nSubscribers: revi\n\nManiphest Tasks: T182\n\nDifferential Revision: https://secure.phabricator.com/D14266","distinct":true,"url":"https://api.github.com/repos/freebsd/phabricator/commits/b4af57ec51e1c449e43b4da5113b44fbab49adde"},{"sha":"43bee4562c72a59fcbea054427a9d239c4c96a13","author":{"email":"46f1a0bd5592a2f9244ca321b129902a06b53e03@epriestley.com","name":"epriestley"},"message":"If the stars align, make \"Land Revision\" kind of work\n\nSummary:\nRef T182. If 35 other things are configured completely correctly, make it remotely possible that this button may do something approximating the thing that the user wanted.\n\nThis primarily fleshes out the idea that \"operations\" (like landing, merging or cherry-picking) can have some beahavior, and when we run an operation we do whatever that behavior is instead of just running `git show`.\n\nBroadly, this isn't too terrible because Drydock seems like it actually works properly for the most part (???!?!).\n\nTest Plan: {F876431}\n\nReviewers: chad\n\nReviewed By: chad\n\nManiphest Tasks: T182\n\nDifferential Revision: https://secure.phabricator.com/D14270","distinct":true,"url":"https://api.github.com/repos/freebsd/phabricator/commits/43bee4562c72a59fcbea054427a9d239c4c96a13"},{"sha":"476b5404c68f71897e5af63020b12f52cebb60ef","author":{"email":"da2ea5bee82302925a2874f529684e980c179d70@eitanadler.com","name":"Eitan Adler"},"message":"[FreeBSD] FreeBSD prefers 8 space tabs rather than 2","distinct":true,"url":"https://api.github.com/repos/freebsd/phabricator/commits/476b5404c68f71897e5af63020b12f52cebb60ef"},{"sha":"bc4a7d1395d977136fbaaac0e947671979dbede6","author":{"email":"aeb8da9b93f4f35c2ddc1280821f190e432a94e3@freebsd.org","name":"Ed Maste"},"message":"[FreeBSD] Avoid \"ready to land\" terminology\n\nReport only that a change has had a positive review, allowing the\nsubmitter to follow usual workflow conventions in FreeBSD. We use\nPhabricator as a standalone tool to facilitate review if desired,\nbut its use is not required, and does not dictate our workflow.\n\nClaiming a change is \"ready to land\" after one positive review does not\nmesh with the usual workflow in the FreeBSD community. Some changes may\nrequire more than one reviewer or additional testing, for example.","distinct":true,"url":"https://api.github.com/repos/freebsd/phabricator/commits/bc4a7d1395d977136fbaaac0e947671979dbede6"},{"sha":"16b238d8495be1a55d671b7ed040d4d37e32d9a8","author":{"email":"da2ea5bee82302925a2874f529684e980c179d70@eitanadler.com","name":"Eitan Adler"},"message":"[FreeBSD] Permit to join IRC channels with keys","distinct":true,"url":"https://api.github.com/repos/freebsd/phabricator/commits/16b238d8495be1a55d671b7ed040d4d37e32d9a8"},{"sha":"c7a052fe5bb475a407d20f09c0da8a76ef46ddbf","author":{"email":"da2ea5bee82302925a2874f529684e980c179d70@eitanadler.com","name":"Eitan Adler"},"message":"[FreeBSD] Don't ignore extensions in the FreeBSD install\n\nwe use them, so don't ignore them by default","distinct":true,"url":"https://api.github.com/repos/freebsd/phabricator/commits/c7a052fe5bb475a407d20f09c0da8a76ef46ddbf"},{"sha":"cd5eea3bd68f86b30a5ee78c74e12384d6706ef7","author":{"email":"da2ea5bee82302925a2874f529684e980c179d70@eitanadler.com","name":"Eitan Adler"},"message":"[FreeBSD] Unbreak notification handler","distinct":true,"url":"https://api.github.com/repos/freebsd/phabricator/commits/cd5eea3bd68f86b30a5ee78c74e12384d6706ef7"},{"sha":"6d2004adfb7ee65d9ddf69b2ead03f1604065744","author":{"email":"25b6170de171dac8b38030674da0d668d8db4286@uber.com","name":"Povilas Balzaravicius Pawka"},"message":"[Early] Fix exception when same tag as primary slug is provided during project creation.\n\nSummary: T8509\n\nTest Plan: Follow steps described in T8509.\n\nReviewers: #blessed_reviewers, eadler\n\nReviewed By: eadler\n\nSubscribers: epriestley\n\nManiphest Tasks: T8509\n\nDifferential Revision: https://secure.phabricator.com/D13244","distinct":true,"url":"https://api.github.com/repos/freebsd/phabricator/commits/6d2004adfb7ee65d9ddf69b2ead03f1604065744"},{"sha":"75c867c673f95e3d3d7551ea204d64bf3a85bbf3","author":{"email":"c028c213ed5efcf30c3f4fc7361dbde0c893c5b7@joshuaspence.com","name":"Joshua Spence"},"message":"[Early] Allow differential changesets to be marked as generated via diff properties\n\nSummary:\nRef T784. Allow differential changesets to be marked as generated with a `DifferentialDiffProperty`. The expectation is that `arc diff` will submit an `arc:generated` diff property (which will be populated out of the local `.arcconfig` file). These paths will then be automatically marked as generated when rendering the differential changeset.\n\nCurrently, the only way to achieve this is with `differential.generated-paths`. The main issue with `differential.generated-paths` is that it is a global setting and cannot be varied across repositories. A natural extension from `differential.generated-paths` would be to move this configuration into the per-repository configuration, however I feel that this approach would be too inflexible to be useful. Specifically, this setting would need to be updated whenever generated paths are added/removed/changed for a particular repository (although I would expect this to be a fairly infrequent occurrence).\n\nUnfortunately, this functionality will not be retrofitted to existing differentials. We //could// possibly add a migration which populates `arc:generated` for all existing differentials based on the value of `differential.generated-paths`, although I'm not convinced that this is worth pursuing.\n\nTest Plan:\nUploaded a diff (using `arc diff`) and set paths for `arc:generated` with `arc call-conduit 'differential.setdiffproperty'`. Loaded the differential in the UI and noticed that the paths were marked as generated as expected.\n\nOne interesting thing to note (I'm not sure if I would consider this to be a bug or expected behavior) is that lint messages takes a higher precedence over generated paths. If a path matches a regular expression in `arc:generated` but has some linter messages associated with that path, then the file will //not// be shown as generated in the UI. This is mainly an issue until after D11537.\n\nReviewers: epriestley, #blessed_reviewers\n\nSubscribers: Korvin, epriestley\n\nManiphest Tasks: T784\n\nDifferential Revision: https://secure.phabricator.com/D11535","distinct":true,"url":"https://api.github.com/repos/freebsd/phabricator/commits/75c867c673f95e3d3d7551ea204d64bf3a85bbf3"}]}