User Tools

Site Tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
github_best_practices [2018/09/12 22:26] – Two dashes display properly now. Traumfluggithub_best_practices [2019/10/05 14:00] (current) – [File Permissions] Clarify link. Traumflug
Line 134: Line 134:
 </code> </code>
 That's it! After this simple oneliner, one has this commit on top of the local branch, including author info and commit timestamp. Now one can review this commit, run the local shop installation with it, add remarks in the commit message, push it on a topic branch for a Travis CI run, and so on. Easy, and much more reliable. That's it! After this simple oneliner, one has this commit on top of the local branch, including author info and commit timestamp. Now one can review this commit, run the local shop installation with it, add remarks in the commit message, push it on a topic branch for a Travis CI run, and so on. Easy, and much more reliable.
 +
 +===== Dealing with Github Issues =====
 +
 +Here are some hints on good practices when dealing with Github issues.
 +
 +== Issue reports are of value ==
 +As unfortunate as it is, code has inevitably flaws. Now think of a given set of code, and the same set of code, together with a description of its flaws. The latter is undoubtly of more value.
 +
 +The only situation even better than code together with a description of its flaws is code with these flaws actually fixed.
 +
 +== Steps to reproduce ==
 +Good Github issues come with a list of steps to reproduce. Like:
 +
 +  - Have a fresh shop installation.
 +  - Install this.
 +  - Change this setting to that.
 +  - Expected behavior: [...]
 +  - Actual behavior: [...]
 +  - Screenshot, showing the flaw.
 +
 +First thing when attempting to fix a flaw is to reproduce the issue. If there is no list of steps to reproduce the bug, add it in a comment. This way everybody participating knows what's going on. If the issue appears to be not reproducible, for the lack of a description or the lack of a bug or because it was fixed already, ask the issue reporter.
 +
 +== Talk ==
 +If an issue can get fixed immediately, great! If not, it's a good idea to add comments about partial successes. Or things which were tried, but didn't work out.
 +
 +== Issue reporters close issues ==
 +Many projects have the habit to close issue reports quickly. Sometimes by writing some magic words into the commit message.
 +
 +Closing a Github issue doesn't make the issue in code going away. As the issue reporter knows best whether something was actually fixed, it's a good idea to ask him and let him decide whether the issue is actually solved. Reports just waiting for an answer of the reporter don't hurt.
 +
 +== Issues get reported for a reason ==
 +One can often see issues getting closed within minutes with //'works as expected'//, especially in popular, matured projects.
 +
 +It's a good idea to keep in mind that people usually don't write issue reports because they're bored. They do have an issue. Maybe the user interface isn't intuitive. Maybe software behavior can get improved. Getting such seemingly wrong reports is often a sign there's some room for improvement. This should be leveraged. thirty bees should be easy and intuitive to use, even for newbies.
 +
  
 ===== This and That ===== ===== This and That =====
Line 149: Line 184:
 </code> </code>
  
 +==== File Permissions ====
 +
 +A typical problem of developer installations is trouble with file permissions. While the Git repository is owned by the developer, the web server runs as another user. Result: developer can't edit files created by the web server and vice versa.
 +
 +Solution is to use extended file permissions. First, move //.git// aside:
 +
 +  $ mv <git repository>/.git /tmp
 +
 +Then follow instructions at [[Developer Installation#The User Privileges Issue|Developer Installation]].
 +
 +That done, move //.git// back:
 +
 +  $ mv /tmp/.git <git repository>/
  
 ===== References ===== ===== References =====
github_best_practices.1536784003.txt.gz · Last modified: 2018/09/12 22:26 by Traumflug