On Wed, 24 Oct 2007, Ian Jackson wrote: > I then tried to use rebase, like this: > > cp -a dpkg.triggers dpkg.triggers.rebase > cd dpkg.triggers.rebase/ > git-fetch ../dpkg.debian master:debian-head > # where ../dpkg.debian is a straightforward pull of the head > git-rebase debian-head > > This produced a great deal of output including complaints, for > example: > error: patch failed: debian/control:6 > error: debian/control: patch does not apply > and: > CONFLICT (content): Merge conflict in src/cleanup.c
This is just the normal behaviour since you have a conflict in the rebase. You just have to fix it exactly like you fixed the conflict when you did the merge. If you look at the output more carefully, you first see: error: patch failed: debian/control:6 error: debian/control: patch does not apply error: patch failed: src/cleanup.c:236 error: src/cleanup.c: patch does not apply error: patch failed: src/remove.c:163 error: src/remove.c: patch does not apply This just tells you that the patches of the current changeset being rebased do not apply. Later on you see: Falling back to patching base and 3-way merge... Auto-merged configure.ac Auto-merged debian/control Auto-merged src/cleanup.c CONFLICT (content): Merge conflict in src/cleanup.c Auto-merged src/remove.c Failed to merge in the changes. It means that most of the changes have been merged properly except the part that concerns src/cleanup.c. You can do a "git diff" and you'll see the conflict: $ git diff diff --cc src/cleanup.c index d1ebb68,29ac8fe..0000000 --- a/src/cleanup.c +++ b/src/cleanup.c @@@ -237,9 -229,8 +230,13 @@@ void cu_prermremove(int argc, void **ar if (cleanup_pkg_failed++) return; maintainer_script_installed(pkg,POSTINSTFILE,"post-installation", ++<<<<<<< HEAD:src/cleanup.c + "abort-remove", NULL); + pkg->status= *oldpkgstatus; ++======= + "abort-remove", (char*)0); ++>>>>>>> triggers initial implementation as of 1.14.5ubuntu8:src/cleanup.c pkg->eflag &= ~eflagf_reinstreq; - modstatdb_note(pkg); + cu_postinstdone(pkg); cleanup_pkg_failed--; } At that point, you manually fix the conflict with your editor and you do "git add src/cleanup.c" to indicate that your resolved the conflict. Then you continue the rebase process with "git rebase --continue". You might have to do that multiple times if there are more conflicts. But in any case those conflicts would also arise with a "git merge" so it's not git-rebase's fault. > Just to check that it's not anything wrong with my triggers branch I > did this too: > > cp -a dpkg.debian dpkg.debian.merge > cd dpkg.debian.merge/ > git pull ../dpkg.triggers > > which seemed to work perfectly. Unless you had "dpkg.debian" already merged in your "dpkg.triggers" branch, I don't understand this. Cheers, -- Raphaël Hertzog Premier livre français sur Debian GNU/Linux : http://www.ouaza.com/livre/admin-debian/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]