Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.kernel > #61785

Issues with using git debrebase for linux

From Ben Hutchings <ben@decadent.org.uk>
Newsgroups linux.debian.kernel
Subject Issues with using git debrebase for linux
Date 2018-08-12 05:00 +0200
Message-ID <wlOLL-4tm-3@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

I think that dgit and git debrebase have the potential to support
maintenance of the linux package in Debian, but I've run into a number
of issues that I think are currently show-stoppers.  I can turn them
into bug reports if you like, but I'm not yet sure which of them are
actually bugs in git debrebase.

For reference, my work can be found on the "use-dgit" branch of
<https://salsa.debian.org/benh/linux.git>.

1. Safe rebasing

linux is team-maintained, and it's normal for multiple developers to
push changes multiple times between releases.  It's therefore not
acceptable to update branches in a non-fast-forward way.  I believe
that git debrebase is supposed to avoid doing that, but it seems quite
easy to defeat the check:

$ git checkout -b use-dgit-test
Switched to a new branch 'use-dgit-test'
$ git branch --set-upstream-to=benh/use-dgit-test
Branch 'use-dgit-test' set up to track remote branch 'use-dgit-test' from 'benh'.
$ git debrebase -i 
OK, you are ahead of refs/remotes/benh/use-dgit-test
Waiting for Emacs...
Successfully rebased and updated refs/heads/use-dgit-test.
$ git rev-list ..benh/use-dgit-test | wc -l
109
$ git debrebase conclude

git-debrebase: error: No ongoing git-debrebase session.
$ git-debrebase status
current branch contents, in git-debrebase terms:
  branch is laundered
key git-debrebase commits:
  anchor
    470915f1011c git-debrebase import: declare upstream
  breakwater
    470915f1011c git-debrebase import: declare upstream
branch and ref status, in git-debrebase terms:
  stitched? (no record of git-debrebase work)

Why was there no pseudo-merge?  Shouldn't the remote tracking branch
have been recorded as ffq-prev?

2. Replacing commits

Over the last 2 days I've prepared the patches and scripts in the
package for conversion to a dgit patches-applied branch.  There are
three of these that import patches from elsewhere, all of which I have
moved to debian/bin/genpatch-<something>.

genpatch-rt can be ignored because it's updating optional patches that
will have to remain as quilt-in-git.  The other two will now need to
effectively replace existing commits.  When we discussed this at
DebConf it was suggested that git rebase, and therefore git debrebase,
could match up commits with corresponding reverts and delete both of
them from the commit series.  I therefore rewrote those scripts to
revert the old imported patches (in reverse order) and then apply the
new patches.  However, I now find that "git debrebase -i --autosquash"
leaves all the commits intact.  So I don't know how I can automate this
commit replacement now.

3. Speed of operation

git debrebase (that is, the default operation) is very slow in the
linux repository.  I don't know whether the size of the tree, or the
number of commits to upstream code, or both, is the problem.  On stable
branches we may have 1000 or more such commits, so if (as I suspect)
the time is proportional to that number then I think we would need at
least a factor of 10 improvement in the speed of operation.

Ben.

-- 
Ben Hutchings
The Peter principle: In a hierarchy, every employee tends to rise to
their level of incompetence.

Back to linux.debian.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Issues with using git debrebase for linux Ben Hutchings <ben@decadent.org.uk> - 2018-08-12 05:00 +0200
  Re: Issues with using git debrebase for linux Ian Jackson <ijackson@chiark.greenend.org.uk> - 2018-08-12 18:20 +0200
    Re: Issues with using git debrebase for linux Ian Jackson <ijackson@chiark.greenend.org.uk> - 2018-08-12 19:30 +0200
      Re: Issues with using git debrebase for linux Ian Jackson <ijackson@chiark.greenend.org.uk> - 2018-08-12 20:20 +0200
        Re: Issues with using git debrebase for linux Ian Jackson <ijackson@chiark.greenend.org.uk> - 2018-08-12 23:50 +0200
  Bug#905975: Issues with using git debrebase for linux Ian Jackson <ijackson@chiark.greenend.org.uk> - 2018-08-12 19:30 +0200
  Re: Issues with using git debrebase for linux Ian Jackson <ijackson@chiark.greenend.org.uk> - 2018-08-17 18:00 +0200
    Re: Issues with using git debrebase for linux Sean Whitton <spwhitton@spwhitton.name> - 2018-08-17 18:20 +0200
    Re: Issues with using git debrebase for linux Ben Hutchings <ben@decadent.org.uk> - 2018-08-17 19:10 +0200
      Re: Issues with using git debrebase for linux Ian Jackson <ijackson@chiark.greenend.org.uk> - 2018-08-17 19:30 +0200
  Re: Issues with using git debrebase for linux Sean Whitton <spwhitton@spwhitton.name> - 2018-08-17 18:00 +0200

csiph-web