On Monday 10 March 2008 16:38:55 wrote Dr. Peter Poeml:
On Mon, Mar 10, 2008 at 04:00:10PM +0100, Adrian Schröter wrote:
On Monday 10 March 2008 14:37:23 wrote Dr. Peter Poeml:
On Mon, Mar 10, 2008 at 02:27:32PM +0100, Adrian Schröter wrote:
On Monday 10 March 2008 13:39:25 wrote Dr. Peter Poeml:
On Mon, Mar 10, 2008 at 01:32:03PM +0100, Adrian Schröter wrote:
On Monday 10 March 2008 13:28:46 wrote Dr. Peter Poeml: > On Thu, Mar 06, 2008 at 01:25:23PM -0500, JP Rosevear wrote: > > On Tue, 2008-03-04 at 12:37 +0100, Dr. Peter Poeml wrote:
...
> > How are multiple mergereq's for the same > > package handled? (Maybe we should try to apply all the > > rdiffs?). > > There is no plan for that. As far as I see, a second request > could be a) a new one from a previous submitter, or > b) from someone else, and another source package. > > In a), the first request is probably obsoleted by the second > one (if it comes from the same source). Thus, it would be good > from my perspective of a packager to attach a "obsoletes XY" > note. Or I could probably go ahead and delete the request that > I created earlier. > > In b), the request recipient will probably choose one of the > two requests, or try to apply them subsequently.
In any case, the first submit could conflict with the other one. So it is IMHO always better to accept them one after one to see, if it does still apply.
As far as I understand the current draft of how the "apply" step is going to be implemented, it _always_ applies. Because it is going to be a simple copy, overwriting what's there, and not a diff which is applied.
That is not the point, the point is that you may not WANT to merge the second one, because it may not apply anymore. It is better that the upstream project does fix it again instead of merge it also and have broken sources in the target project.
I'm afraid, I can't understand this. Could you explain what you wrote in a little more detail? What do you mean with "upstream project" and "fix it again"?
If you followed the thread, you may note that I referred to the proposition "try to apply all the rdiffs" -- which does not reflect the planned implementation. What I tried to point out is that there is no concept of a diff which can either apply, or not apply because it doesn't 'fit' anymore. Do you have a different view?
For example, there is a project "Factory" with a package "kernel" and there are multiple submit requests to this project and package from Project A, B and C.
When the owner of "Factory" decides to accept the merge request from "B", this change in may break the changes in "A" and "C".
In this case it is better to accept "B" and check back if "A" and "C" can still apply their changes and maybe you want also want to wait, if they will still build.
You seem to talk about cases here where there are source packages _linked_ to the target package. Right?
Well, yes, in other scenarios it does not make any sense at all to approve multiple merge requests to one package, because it would obsolete the other submission. Yes, it may make sense to approve multiple request to different package at once. But the usual workflow is to review one request, check the changes and results, approve or decline, before looking at the next one. At least this is the way how it currently happens.
I didn't have only this scenario in mind.
For those I think I can follow your suggestion. Even though "it still builds" is a very weak criterium for breakage, do you think it would be possible to - track the build status? Sounds cumbersome.
track ?, well it should become possible to check the build status of the source project/package before merging, yes. If we store also the source release of merged sources, we can check later, using the build log, which build state they had.
- have the requests indicate whether the source packages are _linked_ packages, to help with the decision to accept or decline?
Well, I think there is no need to have this information in the request, it can be checked when reviewing the source changes ?
(Thinking this further, this calls for a way to see wether a package has been built at all. So far, we typicall see "succeeded", but we don't know whether that's the status from the build before the latest commit, or from thereafter. So there is no way to see if the package been built successfully, except by checking the timestamped build history.)
Hm, if the scheduler is fast enough, it would change to scheduled/blocked after one source merge to the project happened. I know that this is currenly not always the case, but I would consider this a different problem. bye adrian -- Adrian Schroeter SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg) email: adrian@suse.de --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org