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.

Reply via email to