getnikola / nikola

A static website and blog generator
https://getnikola.com/
MIT License
2.58k stars 443 forks source link

Support passing --poll to the auto plugin to better deal with symlink farms. #3757

Closed aknrdureegaesr closed 5 months ago

aknrdureegaesr commented 5 months ago

Pull Request Checklist

Description

What did I do?

Expectation:

The nikola auto plugin does its thing and my change becomes visible in the browser.

Actually seen:

The required rebuild is not triggered.

Investigation

This related to a rather ancient bug of watchdog. As I found out by playing around, the bug disappears if the polling functionality of watchdog is used.

What does this PR do?

Add a command line argument to nikola auto, namely --poll. If not present, all is as it always has been. If present, the polling watchdog observer is used and the rebuilds happen as they should.

aknrdureegaesr commented 5 months ago

Sorry - this PR wasn't up to the standards I usually demand of myself 😔. Thanks for the suggestions!

I somewhat changed the help text. The way it is now, the second sentence is actually a sentence, and still shorter.

I think this can be merged now.

Kwpolska commented 5 months ago

Don’t worry about it, not all code one writes is perfect, but that’s what the code review is for :)

PS. you don’t need to squash things yourself, we now have a policy that mandates squashes on the GitHub side (your branch can be a complete mess full of merges and test commits, but only one commit will land on master no matter what). Squashing manually makes it harder to track changes on GitHub, as there’s no way to get a diff between revisions of the PR.