This is a set of initial documentation for libtaskotron. It still needs work and more content but it's ready for initial review.
Details
- Reviewers
kparal mkrizek jskladan - Maniphest Tasks
- T139: Create skeleton sphinx project for libtaskotron
This is just docs, so no real test plan.
Diff Detail
- Branch
- feature/T139-initial-sphinx-project
- Lint
No Linters Available - Unit
No Unit Test Coverage
The rendered docs are available at:
http://tflink.fedorapeople.org/taskotron/initial-taskotron-docs/
I have proposed a few changes, but apart from that, I think it looks good. Thanks for working on this.
docs/source/devguide.rst | ||
---|---|---|
46 |
That almost sounds like we run it only very occasionally. I think everyone should run the full functional test suite before pushing a patch. Can we rephrase it a bit? E.g. "They are often slower, but offer better test coverage." | |
79 | Output redirection doesn't work with sudo. Use this instead: sudo curl http://repos.fedorapeople.org/repos/tflink/phabricator/fedora-phabricator.repo -o /etc/yum.repos.d/fedora-phabricator.repo Maybe fedora-qa-phabricator.repo would a better file name? | |
152 | I have seen arc behaving very weirdly very often. Please recommend this command instead: arc diff develop Otherwise it sometimes ends up detecting wrong parent branches, creating new reviews instead of updating existing one, etc. | |
174 | When using arc diff develop, I have never seen a problem in existing Differential Review detection. But --update obviously works as well. For problems mentioned above, I think develop should always be a part of the command: arc diff develop or arc diff develop --update DXXX | |
186–187 | The problem with arc land is that it puts a lot of clutter into your commit message without your control and pushes immediately (you can use special cmdline options to avoid that). I think it's much better to use traditional: git checkout develop git merge --squash feature/TXXX git commit # remove all the clutter from the commit message, just keep in short summary and Differential link git push origin Alternatively, git flow feature finish can be used and then git commit --amend to remove the clutter. | |
205 | arcpatch-DXXX | |
225–235 | Would it make sense to copy this section to readme.rst in top-level directory? |
Maybe fedora-qa-phabricator.repo would a better file name?
The differentiation was between fedora-phabricator and epel-phabricator, so I'm not sure fedora-qa-phabricator would make a whole lot of sense here. Then again, I did create the repo before we started patching the upstream sources. I don't see much of a benefit to changing that filename but I'm not hugely against it either.
> are not run as often
That almost sounds like we run it only very occasionally. I think everyone should run the full functional test suite before pushing a patch. Can we rephrase it a bit? E.g. "They are often slower, but offer better test coverage."
I'm usually running the unit tests at least every couple minutes when I'm writing code, so that interpretation didn't occur to me :)
re: arc land:
Yeah, suppose that there are better ways of doing that. Come to think of it, I usually use git flow feature finish myself. I don't really mind the 'noise' from arcanist, though. Do you really think that it needs to be cleaned up?
Would it make sense to copy this section to readme.rst in top-level directory?
It probably does, yes. I'll add the section.
- updating to current develop branch
- adding doc building instructions to readme, changing the title
- fixing mistakes, clarifying unit tests and adding merge instructions to devguide to fix comments from review
I don't really mind the 'noise' from arcanist, though. Do you really think that it needs to be cleaned up?
I'm not really a fan of the Phab's idea that commit message == full review description. In my view, commit message should be concise and clear and link to the review ticket for further details. The review description should be the opposite, very detailed. Also, I usually raise some questions in it. The commit message should reflect the final decisions taken after the discussion in the review, not the questions. Look at D26, D39 or D52. Would you really like to have all of it in the commit message?
One minor annoyance is also the line length. When writing the review descriptions, I don't wrap lines, obviously, it's just a text in a web page. But if we end up with 200+ characters commit title or 500+ characters-wide lines in the commit body, it breaks the formatting in all the usual tools, like git log or git branch. Of course, it might be seen as a deficiency of those tools. But the git guidelines say that the commit title should not be longer than 50-80 chars (and vim notifies you of a longer title by showing red background for longer titles), so the situation is a bit different from e.g. email line wrapping, I think.
I can certainly live with it, but I don't think commit message should equal review request description and I personally always adjust it before pushing to origin.
docs/source/devguide.rst | ||
---|---|---|
192 | I think that a squash merge is better, because who would like to see a number of "WIP" commits in the log? It makes operations on the history (e.g. navigating or bisecting) much harder. But that's just my personal preference. |
I can certainly live with it, but I don't think commit message should equal review request description and I personally always adjust it before pushing to origin.
Any suggestions for what to use as a suggested template?
docs/source/devguide.rst | ||
---|---|---|
192 | For that particular line, a squash merge is a really bad idea. That's just updating the feature branch from develop. For the actual merge into develop (with the git flow feature finish), I could go both ways. Personally, I think that the bigger problem is all the meaningless "WIP" commit messages but that being said, I usually rebase my feature branches before merging them in. Is using --squash trustworthy? I usually prefer to to my rebases by hand to make sure that it looks right before merging. |
docs/source/devguide.rst | ||
---|---|---|
192 | Oh, I misunderstood the line, sorry. In this case, git merge develop or git rebase develop makes sense, but the --ff-only never works, I believe. I tried locally on a trivial example and it didn't work. | |
193 | Let's recommend this:
If the commits are not yet to your liking, run git rebase -i develop and adjust the commits. git flow feature finish TXXX-some-feature
git flow feature finish --squash TXXX-some-feature (This should be identical approach to manually rebasing and squashing commits.) | |
194 |
Before pushing, it's nice of you to make the commit message pretty. You can amend the latest commit message: git commit --amend and remove any unnecessary noise (Test Plan, Reviewers, CC, too detailed description) and wrap lines properly. Please keep the review hyperlink. |
docs/source/devguide.rst | ||
---|---|---|
192 | I guess the question becomes whether to suggest merge or rebase, then. I think that rebase could lead to cleaner history but merge would work in more situations. Any objections to suggesting rebase and say something like "if you run into problems, please ask for help"? | |
193 | if we go that route, I'd prefer to specify a preferred default. Any objections to saying "a single commit per feature is preferred in most cases."? | |
194 | Is that specific enough or should we have an example template? |
Once you're satisfied with the small tweaks, please merge into develop. The important thing is that we have the sphinx config and doc build instructions. We can discuss and amend the guides any time in the future, let's not hold this review on this :) Thanks.
docs/source/devguide.rst | ||
---|---|---|
192 | I have the same understanding as you do. No objections at all. | |
193 | I completely agree. Most features are small changes and it's easiest to have them in a single commit. | |
194 | Isn't that overkill? Just a quick look to git log will tell the person how the commit messages usually look like. We can also just say this ("Have a look at how commits usually look like") instead of enumerating things that can possibly be removed. |
That almost sounds like we run it only very occasionally. I think everyone should run the full functional test suite before pushing a patch. Can we rephrase it a bit? E.g. "They are often slower, but offer better test coverage."