Package: dgit Version: 3.12 Severity: wishlist I had a converation with Matthew Vernon. He investigated some of the work done by Peter Green but is considering implementing some slightly more gitish patch rebaser robot.
A piece of this is close to stuff that git-debrebase already does. Here is an IRC conversation about what exactly Matthew might want from git-debrebase. Ian. 14:28 <Diziet> Emperor: I think you want a tool which strips the pseudomerge and maybe a changelog change ? 14:29 <Diziet> Emperor: Do you want it to reapply the pseudomerge ? 14:29 <Diziet> I think maybe not because the user may want to git-rebase -i ? 14:29 <Diziet> And that will not go right if there's a pseudomerge at the top of the branch. 14:30 <Diziet> Emperor: I think this tool may need two modes, one for your robot and one for humans ? 14:30 <Diziet> Emperor: You'll supply it with the base branch name, and invoke it with HEAD on the branch you want to edit ? 14:31 <Diziet> Are you going to generate debian/changelog entries with gbp dch ? Does this tool want to do that for you ? 14:31 <Emperor> I was expecting to generate d/changelog entries with gbp dch, yes. 14:32 <Diziet> Do you in fact want to strip the changelog entries at all ? 14:32 <Diziet> I'm not sure why that would be needed if we can merge them. 14:32 <Emperor> Diziet: I think so, yes. 14:32 <Diziet> So you don't want a record in the current branch of the changelog entries for previous branches ? 14:33 <Diziet> I think that means that you're going to be using git tags to find what was done in previous version. 14:33 <Emperor> I was expecting to tag each successful build, yes. 14:34 <Diziet> Emperor: Tag just before publish. 14:35 <Emperor> I think when the distro moves from foo-X-Y to foo-X-Z we don't want the changelog from appling our patch(es) to foo-X-Y-local to appear in the changelog for foo-X-Z-local [assume I get the version numbering correct for a moment] 14:35 <Diziet> Emperor: So, the tool should basically take your HEAD and launder it by removing changelog updates and pseudomerges and leave you with something you can git-rebase 14:35 <Diziet> Emperor: Your patches won't have any changelog entries then 14:36 <Diziet> You probably want to make gbp dch put something in your generated changelogs saying "local history is not described here, pls see git" 14:36 <Emperor> Diziet: indeed, I was proposing that the patches would have suitable contents in their commit messages for the changelog entries to be automatically-produced by something like gbp dch 14:36 <Diziet> Emperor: Oh I see. 14:36 <Diziet> So you process the git log into a single new changelog entry. 14:36 <Diziet> That makes sense. 14:36 <Emperor> That was my thinking, yes 14:36 <Diziet> Dunno if gbp dch will do that nicely for you but it sounds not too hard. 14:37 <Diziet> And if you do that you will indeed generate a single commit containing only a changelog update, which a branch launderer can know to filter out. 14:37 <Emperor> I've not looked in detail, but a scan of the gbp docs suggest it will 14:37 <Diziet> Excellent. 14:38 <Diziet> I think the branch launderer does not need to record the current head for a future pseudomerge because that's just HEAD from before you start it ? 14:38 <Diziet> (Or maybe it's remotes/myserver/mybranch) 14:38 <Diziet> Emperor: And I think the branch launderer does not need to help you _make_ the psuedomerge because that's just git merge -s ours. 14:39 <Emperor> I think so 14:39 <Diziet> Looking at it this way means the branch launderer doesn't need to know anything about your ref namespace. 14:39 <Diziet> You can tell it explicitly the relevant inputs. 14:39 <Diziet> Well, I think my git-debrebase wip is very close to being the thing you want. 14:40 <Emperor> :) 14:40 <Diziet> It is even possible that I would have it in a state where it would be able to do that by the time I get back. 14:41 <Diziet> So I would recommend that you do not expend any effort on this part of your problem and instead hope that I will solve it by the time you need it. 14:41 <Diziet> If at any point you come up with an example branch I can use as a test case, do let me know. 14:41 <Emperor> OK 14:41 <Diziet> Ideally an example branch in a package that's not linux-kernel or libreoffice :-) -- Ian Jackson <ijack...@chiark.greenend.org.uk> These opinions are my own. If I emailed you from an address @fyvzl.net or @evade.org.uk, that is a private address which bypasses my fierce spamfilter.