Each branch contains all commits from all dependencies, i.e. his entire past in the DAG. All of this is related to THIS ticket since there is no guarantee that dependency tickets will be reviewed at all. If you want to disentangle the dependencies, have them reviewed first.
More to the point : that's what we already do with HG, i.e. naming the
dependencies explicitly, and we don't set a ticket to positive_review
before the dependencies have been reviewed.
It would be nice if I had a reviewer right now. I don't. I would like
to be able to write several patches depending on each other, and I
don't want the last of them to be stuffed with totally unrelated
commits, i.e. commits that are dependencies, and not implemented by
this ticket.
What's the problem with not printing the commits from the dependencies ?
In some cases, for example, fixing a typo in another unreviewed commit,
there shouldn't be a problem with reviewing it before the dependency is
reviewed.
Changing something like that on a ticket would usually trigger a
re-review, right?
Does the current graph show back to the master branch, or back to the
most recently positively-reviewed ticket?
My post was about the messages that are added to the ticket when a
branch is updated. Surely this will not be edited backward when the
dependencies are reviewed ?
Second question : has the dependencies field become useless, then ?
And if not, what does it mean ?
Suppose there is ticket A that is a dependency for B, which in turn is a
dependency for C.
I review A. When I go to B, I try to see the commits just on B to make
sure I know exactly what I've done and what I'm doing now. However,
since the list of commits shows everything since master (and A hasn't
been merged), I have to manually match things up from A.
Also, setting a ticket to positive review does not mean it will get
merged as-is.
Conditional reviews (reviewing a ticket depending on not-yet-reviewed
ticket) is a feature that many people, including myself, requested.
Does the current graph show back to the master branch, or back to the
most recently positively-reviewed ticket?The master branch, since that is what is definitely merged.
Yet it would be very useful to hide unreviewed commits (or should I say patches?)
that commute with commits consituting the ticket.
And, just to repeat myself: If you just reviewed A then you can't possibly be confused by seeing A+B as the default diff. You can use git or the dev scripts to see the A-B diff if that is what you want.
But if you had _not_ just reviewed A then it would absolutely terrible to just show you A-B as default. You would be mislead to assume that this is all there is, and to catch your mistake would potentially require reconstructing the trac history (i.e. is impossible).
Sorry if I'm missing something that has been decided such that the above
problem has an obvious easy solution or is nonsensical in the first
place. I mostly just like drawing ASCII diagrams :)
This.
First of all, your suggestion is not easy to implement. Merging A or B
into O individually is trivial (in fact, they are already merged into O
-- think about why this is true). Merging both A and B into O means
merging A and B together. This may be nontrivial as conflicts may
arise. As A and B might not depend on each other, nobody is under any
obligation to have resolved these conflicts, and so such a merge will
not be possible to do automatically in general.
Please correct me if I am wrong, but rereading this entire thread it seems that everyone -- Nathann, Stefan, Dima, Nicolas and Jason -- is arguing for just displaying the diffs for just the current patch with the exception of Volker. I also vote for this.
As an aside, I suspect a lot of the problems many of you are envisioning
will be minimized by the existence of a master branch into which
positively reviewed code is constantly being merged.
But this is an important
enough operation that it should not only be possible, but trivial to
get it, in particular from trac (I am happy with whatever warning you
will see fit when you open that view).
Hellooooooo everybody !!!
I coded a bit too much in the last days, and created several tickets
depending on each other. The last of them (#15310) only contains three
commits (those who message begins with "Wilson's construction"), but
many more appear on the page. Wouldn't it be better if we only saw on
that page the list of patches that are related to THIS ticket ? All
the others will have been reviewed in the dependencies, and it's hard
to tell if a ticket contains a lot of code or not when you see the
ticket's code mixed with the code from its dependencies.
I just looked at the code of trac-githooks, and it looks like there is
not much to change, even though it's hard for me to .... actually try
anything :-P
The "log_table" function defined in
trac-githooks/post-receive.d/01-trac_branch features a "ignore"
argument (which contains master by default), and all that would be
needed would be to add there the reference toward the content of the
"dependencies" field of the trac ticket. What do you think ? And is
there any way for me to do the job rather than posting here ?
Have fuuuuuuuuuuuuun ! And thanks ;-)
Nathann
Okay, so we will post a message here whenever we wonder ?
And we will also make it easier to see this on the trac server,
because right now reviewing stuff is complicated.