Ian Jackson <[email protected]> writes:

> Package: dgit-infrastructure
> Version: 13.12
>
> Simon Josefsson writes ("Re: [tag2upload 626] failed,
> golang-github-kevinburke-ssh-config 1.3-1"):
>> Help me understand why this one failed?  Where is the
>> 'e7d5f11fee84e75dbe27f04087a12442f76d87ff' commit identifier coming
>> from?  I can't find it on salsa.
>
> Firstly, sorry about the poor UX here.  That's #1111357.

Thank you!  I understand now.

> IMO this is a completly crazy thing for this package to have done in
> git.  It amounts to having git construct your test data out of other
> git-stored artifacts during checkout.
>
> Instead, the file should be committed, in git, with DOS line endings.
> IDK if this came from upstream; that seems likely.  It could be fixed
> by a patch (upstream, or in quilt) which changes the line endings and
> removes the entry in .gitattributes.

I opened

https://github.com/kevinburke/ssh_config/issues/72

and

https://github.com/kevinburke/ssh_config/pull/73

to discuss with upstream.

I think we can't rely on all upstream's to agree with your suggestion,
it seems someone may reasonable decide things work as intended and the
.gitattributes approach is the right one.  So you may want to do
something about this.

As comparison, for several packages, I use 'export-subst' in
.gitattributes to construct a .tarball-version-git file, compare:

https://browse.dgit.debian.org/libidn2.git/tree/.tarball-version-git

that says 'v2.3.8'

with upstream

https://codeberg.org/libidn/libidn2/src/branch/master/.tarball-version-git

that says '$Format:%(describe)$'.

The .gitattributes used here is

https://codeberg.org/libidn/libidn2/src/branch/master/.gitattributes

which says:

.tarball-version-git export-subst

It seems a bit weird for git files to have changed content when they are
imported into dgit, but I don't claim to understand what you want to
happen in a situation like this.

If you make dgit not respect .gitattributes, I think checking out
'libidn' from dgit will no longer build: the ./configure file rely on
.tarball-version-git to correspond to the git version tag.  It now only
works accidentally, since your import to dgit did the substitution, and
things will work.  If you did a sparse checkout without tags, I suppose
it wouldn't have worked.  But if you change so that .gitattributes
export-subst aren't respected, building will fail: 'git describe' will
fail on the dgit clone.  And ./configure will not use the right version
number for the build.  So tests/test-version.c will fail during
self-checks.

/Simon

Attachment: signature.asc
Description: PGP signature

Reply via email to