On Thursday 25 September 2008 19:30:17 wrote Peter Poeml:
On Thu, Sep 25, 2008 at 05:57:26PM +0200, Adrian Schröter wrote:
On Thursday 25 September 2008 17:49:49 wrote Peter Poeml:
On Thu, Sep 25, 2008 at 05:04:35PM +0200, Adrian Schröter wrote:
osc could for example checkout unexpanded, and check which changes have been merged. And keep conflicting changes like svn does with the conflicting changes in the files.
Well, link expansion happens on the server side... maybe it should be possible to expand the link based on *that* revision of the target package where the link still applied.
It would be possible, but what would be the benefit ?
osc would give you a working copy containing your changes. You could then properly (easily) diff against a checkout of the target directory, see what's going on and merge the changes.
That seems easier to me than juggling with reject files from failed merges.
well, that is way svn, cvs and so on is working. So I suppose they have some point ;)
Hm. Do we talk about something different maybe? osc does the same for resolving conflicts with diff3 as svn and svn.
I don't see how this helps with the broken link. Or is your idea to apply the link patches as well as possible and then put the failed merge files in conflict state, have them resolved, and check back in? I don't know if this isn't more complicated than needed...
Well, yes, my idea is that osc is apply the patches if the server fails to show the user the real problems (block X in file Y at line Z does conflict) instead of just showing a 404 api error. I am unsure if we need a "resolved" handling like svn does, but allowing a source checkout in any case is important IMHO. It is obvious that the user has to fix stuff manually when there are conflicting changes.
All I want is that 1) the link doesn't break in the beginning ;) 2) I can at least see what's broken. A simple diff (or even working rdiff) would be fine for that. So I can fix the link.
I fail to see how you can fix the link, when you check out in a way that everything applys. Do you want to show this by a later "osc up" ?
BTW, it could also help to store the link patches per file - in the last cleanup I did, the .changes file was mostly at fault. So it could be possible to get less rejects when only the merge attempt on the one problematic file fails.
The changes file is a problem on its own, there are some ideas to handle changelog entries differently. Also to avoid patch breakages, but also for other reason (like classifing changes). ...
What would also help is if the buildservice would give me *one* patch instead of 10, because a single patch would be much easier and more useful, than a (possibly long) series of stacked patches that (sometimes) revert each other and so on. (Been there...)
hm, could be done, I think, but esp. in case you submitted the first 3 already, they got just accepted later, you can not that easily merge patch 4 and 5 anymore for example.
Hm, I'm not sure what you mean with "first 3 submitted already". As far as I see, the stack of patches is applied serially and it would always be possible to make a single patch from it.
I just guess the chance that we can improve the cleanup on the server is higher with multiple patches. In case we know that the submission request applied only the first 3, so we could remove only them in the source link and keep the others. Nothing what we have, but might be possible in future.
Maybe an example helps:
The package I had to sort out recently had several patches that incrementally changed something in one spot, reflecting my individual commits to get things right. Later, I had to merge the patches into the current source. It would have been much less work to merge a single patch, than first merging the first patch, resolving the rejects, then merging the second patch, resolving more rejects, and the next, and so on. The result was that I had to resolve three or four rejects for a single file. One patch would have made this much easier, especially since patch3 was partly reverting patch2.
okay, it is true in the reverting case, otherwise I think it does not really matter. But I agree all changes (either by applying one big patch or running via all) need to get applied on disk when updating the sources. So the user has the chance to fix all conflicts at once. And unlike with "patch" command, matching chances can get ignored, instead of asking the user to use this patch "reverted", right ? 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