... | ... | @@ -143,4 +143,21 @@ git branch -u remote_repo/remote_branch local_branch |
|
|
Fun fact: `git pull` is really a shortcut to `git pull origin`. You can do `git pull private` or `git pull github`. The pull itself does two commands: `git fetch origin` and `git merge master origin/master`.
|
|
|
|
|
|
Finally, if you can't be bothered anymore and want to get rid of this multiple repos nonsense, do this:
|
|
|
`git remote remove trac`. It will unassociate your local copy with remote repo. |
|
|
\ No newline at end of file |
|
|
`git remote remove trac`. It will unassociate your local copy with remote repo.
|
|
|
|
|
|
# Reopens
|
|
|
|
|
|
The usual issue life cycle is as follows: opened by a reporter, a dev looks at the problem and comes up with some code or doc changes, which are later reviewed. If reporter is part of ISC team, he/she is often also a reviewer, but these two roles in principles are different. Once reviewer and dev agree that the code is ready, the change is merged and ticket is closed. However, this process has one flaw: it doesn't take into consideration whether the proposed fix actually addressed the problem raised by the original reporter.
|
|
|
|
|
|
The alternative - to ask for confirmation that the original problem is addressed - has many flaws. The reporter may not be skilled enough to know how to pull a branch from git, may be unwilling or unable to compile it or more likely be simply unresponsive. This would leave us with many tickets stuck in almost-done state. So we chose to use the approach of merging and closing, with reopen as an escape clause. If the reporter didn't confirm that the fix working, it's good to add something like "We think this should fix the original problem. If it doesn't work or you disagree with the solution, please reopen". This covers 99% of the cases. The text below discusses the remaining 1%.
|
|
|
|
|
|
There's the scenario: Someone reports a problem, we look at it, come up with a solution that we think addressed the problem, merge it and close. The reporter looked at the solution and discovered it doesn't solve the problem and reopens. There may be several reasons for this:
|
|
|
|
|
|
- the fix didn't work (or works in some cases, such as our tests, but doesn't in the real life deployment as experienced by reporter)
|
|
|
- the dev didn't understand the core of the problem (this may be caused be inadequate or incomplete description of the problem)
|
|
|
- the reporter doesn't like the solution and would like to get something different
|
|
|
- completely fixing the problem is too difficult or not reasonable (e.g. we will not rewrite whole parser just to improve an error message)
|
|
|
|
|
|
There may be other reasons. In all cases the major point is that the original problem remains unsolved and there is more to be done here. What should be done in such cases? **You can only close a ticket once**. If there's a reopen, a third person needs to get involved and independently confirm that the solution is valid and complete. This is kind of natural extension of the process we have for review where if dev and reviewer cannot reach an agreement, they ask for a third opinion. Feel free to ask the third person depending on the situation - a dev that's expert in the area, maybe someone from QA or get a manager involved.
|
|
|
|
|
|
In any case, closing a ticket that was reopened can easily be considered as rude behavior and can damage the public image of the whole project. If there's really nothing reasonable to be done in the short term, perhaps moving to %Outstanding is a good alternative to closing? |
|
|
\ No newline at end of file |