Simon Josefsson writes ("Re: Include git commit id and git tree id in *.changes 
files when uploading? [and 1 more messages]"):
> Ian Jackson <[email protected]> writes:
> > Even if it did have an option to check the tarball contents was right,
> > it would be very tempting for a maintainer who's trying to get shit
> > done to override the check, rather than deciding not to import the
> > tarball at all, since they probably don't have a procedure they're
> > confident in that doesn't involve gbp import-orig.  So what would be
> > needed is a mode for gbp import-orig where it is able to *not import a
> > tarball at all*, thus preferring git when tarballs and git disagree.
> > That way the user faced with a discrepancy can proceeed.
> 
> I agree that would be an improvement.  GBP is fairly tarball-centric.
> 
> I now realize that maybe I agree more about your recommendation against
> 'gbp import-orig' than I earlier thought.
> 
> If we use 'gbp import-orig' for the strong work-flow of importing
> upstream git, including using upstream git tags, into the upstream
> branch, then in this situation, 'gbp import-orig' is just a lot of
> complexity compared to
> 
> git checkout upstream
> git fetch up
> git checkout -B upstream up/v1.2.3
> git checkout debian/latest
> git merge upstream
> git diff debian/1.2.2-4..
> 
> or something to similar effect.  More people should be familiar with
> this kind of normal git operation than any gbp commands.

Precisely.  But also, gbp import-orig (1) expects an orig tarball
(2) if the tarball contents differ, synthesises git commits based on
the tarball.

That's not just a "lot of complexity".  Point 2 it is a vulnerability
which has been used, in practice, to attack Debian!

> So maybe these commands (or something similar) is what should/could be
> recommended instead of 'gbp import-orig'.

Yes.  That's what we recommend in dgit-maint-merge(7).

> > So not any gitlab, nor github.  Codeberg supports it AIUI but you
> > can't get there from a SHA1 repo.  This is a largely theoretical
> > situation.  See my other comments about git upstream's approach to
> > this transition.
> 
> Both GitLab(.com) and Codeberg supports Git SHA256 projects.  It seems
> Salsa is configured to disable them.

I think the best information about the current situation is here:
  https://git-scm.com/docs/hash-function-transition

Unless that's out of date, I think it's clear that there isn't yet
upstream support for a workable transition to SHA256 in existing
projects, and new projects still default to SHA1.

In particular, this part is totally hopeless:

  Until Git protocol gains SHA-256 support, using SHA-256 based
  storage on public-facing Git servers is strongly discouraged. Once
  Git protocol gains SHA-256 support, SHA-256 based servers are likely
  not to support SHA-1 compatibility, to avoid what may be a very
  expensive hash re-encode during clone and to encourage peers to
  modernize.

That's undeployable in two separate ways.  I imagine the pressure to
fix it is is very intense though.  We are fate-sharing with a lot of
powerful (and rich) people with similar concerns.

Ian.

-- 
Ian Jackson <[email protected]>   These opinions are my own.  

Pronouns: they/he.  If I emailed you from @fyvzl.net or @evade.org.uk,
that is a private address which bypasses my fierce spamfilter.

Reply via email to