This Tag is useful to indicate that something "Affects the FreeBSD community" (since they use Phabricator/Phorge).
This is a "community workboard" that can be used by the FreeBSD community to organize their work.
This Tag is useful to indicate that something "Affects the FreeBSD community" (since they use Phabricator/Phorge).
This is a "community workboard" that can be used by the FreeBSD community to organize their work.
Uh thanks! Feel free to increase the "Hours invested" counter in the Task description ihih
Ok, I got bored.
My plan is:
@avivey Yes I think this is what we need.
There is a caveat though:
@ton - this is what I have so far:
Probably this is a good starting point to understand what to do:
Arcanist internally generates a diff that includes a similar suggested parameter to account for the entire file contents being present in the resulting diff.
In T15364#8952, @avivey wrote:"tooling for chains of diffs" might need its own topic, with a design of the what the whole thing should look like in an ideal world, and how to get to it.
Even if not all of the stuff fits nicely into Phorge, there's probably a lot that can work, and some conduit methods can be added to implement the rest.
"tooling for chains of diffs" might need its own topic, with a design of the what the whole thing should look like in an ideal world, and how to get to it.
Even if not all of the stuff fits nicely into Phorge, there's probably a lot that can work, and some conduit methods can be added to implement the rest.
Chaining Diffs is something that we would like to use more often, and it is definitely not used enough today. FreeBSD is a large codebase and making any change that is bigger than trivial often involves touching multiple parts of the system, the most difficult kind of change is architectural changes. We are limited by our tooling to a certain degree:
mmm... I've never really worked where many changes are made of lots of dependent revisions - it's possible I've never even seen a chain of 3 revisions in the same repo. So I'm not sure about workflows for this kind of scenarios.
Yea, today I have about 50 lines of shell scripting that gets the different bits of data from the condon API point and then bashes them into a nearly acceptable commit message....
Ok, so here's my thoughts on moving this forward:
FWIW I think the test plan is configurable (that requirement can be disabled in phabricator's config server side which should remove it from commit messages in arc)
What are the reasons for doing commit message rendering on the server side?
In an ideal world the solution should be as simple as having a template somewhere in {{repo_root}}/.arcanist/commit_template.j2 that arcanist injects values in and renders.
We can probably come up with a way to allow an extension to customize the "render template" implementation without forking (e.g., just add a hook in differential.getcommitmessage), but it would have to be very carful about the whole form-thing.
Maybe just adding an "for landing" flag in differential.getcommitmessage (or adding a different method) would solve this problem...
In T15364#8281, @ton wrote:The template is actually generated server side, not in arcanist, so it just a matter of getting the BSD Phorge server to have the right opinions.
Some of the sections can be configured alreadyPlease point me in the right place in the code where I can find the template
The template is actually generated server side, not in arcanist, so it just a matter of getting the BSD Phorge server to have the right opinions.
Some of the sections can be configured already
re @avivey : arc land --hold sort of works but look at the ergonomics:
Alternatively - there's also arc land --hold, which does almost everything except for the git push, which would allow the user to update the commit message. Have anyone tried that?
thanks @ton - these look very actionable:
In T15249#8232, @ton wrote:@avivey today I tried arc patch to download a bunch of Diffs.
Some diffs check out OK. Lots of Diffs fail to be fetched, I get a very useless error message:
Exception strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated (Run with `--trace` for a full exception trace.)
@avivey many developers do not use arcanist at all for reasons outlined in https://we.phorge.it/T15096#6224 - many do not wish to install php, some find arc interface confusing...
@ton: Why are "they" not using arc patch to download the patch?
This?
I wanted to set up some docker/compose file or possibly a VM but didn’t get far since neither of those are great solutions on windows, primarily for getting local code into the container/vm. My goal would be to get a quick setup time with a rapid dev/test cycle. For me to make progress I’ll likely have to switch to mac or Linux.
In T15249#6474, @speck wrote:Getting set up with a development environment (including database~) along with configuring the local instance and populating it with sample data is extremely daunting and is frankly why I haven’t done much contributing. I lost my dev environment a few years ago and have tried only once to get set back up, spent a few hours and never came back to it. It doesn’t help that arcanist’s self linter isn’t usable on windows systems.
I suspect the barrier is more the dev environment and less PHP or the codebase.
Getting set up with a development environment (including database~) along with configuring the local instance and populating it with sample data is extremely daunting and is frankly why I haven’t done much contributing. I lost my dev environment a few years ago and have tried only once to get set back up, spent a few hours and never came back to it. It doesn’t help that arcanist’s self linter isn’t usable on windows systems.