[ITA] nghttp2, mingw64-{x86_64,i686}-nghttp2

Brian Inglis Brian.Inglis@SystematicSw.ab.ca
Sat May 29 16:55:49 GMT 2021


On 2021-05-29 04:09, Jon Turney wrote:
> On 29/05/2021 07:12, Marco Atzeri via Cygwin-apps wrote:
>> On 29.05.2021 06:37, Brian Inglis wrote:
>>> until I can get git-cygwin-packages working again - see below!
>>>>> Changed maintainership to you (only for them this time)
>>>> Thank you very much - appreciate that!
>>> Do I also have ownership of: 
>> should be
>> but Jon is the expert here

>>> I am getting the following responses whenever I try to push to
>>> either playground or master branches!...
>>> $ git push
>>> Enumerating objects: 11, done.
>>> Counting objects: 100% (11/11), done.
>>> Delta compression using up to 4 threads
>>> Compressing objects: 100% (7/7), done.
>>> Writing objects: 100% (9/9), 2.23 KiB | 326.00 KiB/s, done.
>>> Total 9 (delta 2), reused 0 (delta 0), pack-reused 0
>>> remote: 'there can be only one!' at /sourceware1/cygwin-staging/gitolite.git/src/VREF/HIGHLANDER line 27.
>>> remote: FATAL: VREF/HIGHLANDER/cygport: helper program exit status 65280
>>> remote: error: hook declined to update refs/heads/playground
>>> To ssh://cygwin/git/cygwin-packages/nghttp2
>>>   ! [remote rejected]           playground -> playground (hook declined)
>>> error: failed to push some refs to 'ssh://cygwin/git/cygwin-packages/nghttp2'

> This is a new trigger I turned on recently, which (is supposed to) 
> prevent pushes of trees which contain more than one .cygport file
> (since that complicates navigating from source package name to git 
> history of the .cygport file in ways I have no interest in
> implementing)
> I've tuned this down to a warning at the moment (and made it a bit 
> clearer) so you should be able to proceed.
> Can you provide a commit id which triggers this which but shouldn't,
> and I'll try to work out why...
Criterion for having "only one!"?
There's a .cygport on both playground and master branches?
Which is kind of the point of having branches! ;^>

$ git push
Enumerating objects: 14, done.
Counting objects: 100% (14/14), done.
Delta compression using up to 4 threads
Compressing objects: 100% (10/10), done.
Writing objects: 100% (12/12), 2.49 KiB | 425.00 KiB/s, done.
Total 12 (delta 4), reused 0 (delta 0), pack-reused 0
remote: warning: adae2d9f76a662dbf0151e8a48b750bf93dd2d13 seems to 
contain more than one .cygport file
remote: this is bad and you should feel bad
remote: scallywag: build 2916 queued
remote: scallywag: https://cygwin.com/cgi-bin2/jobs.cgi?id=2916
To ssh://cygwin/git/cygwin-packages/nghttp2
    ee14bc998685..adae2d9f76a6  playground -> playground
$

This seems to have committed/pushed one of my mingw64 package 
subdirectories, which has its own repo and .git tree:

https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/nghttp2.git;a=tree;h=refs/heads/playground;hb=refs/heads/playground

How do I get rid of that object and keep the real files?
Can I copy that dir tree and just git rm and push all the objects?

I may have already merged those objects into master as part of earlier 
tests.
Will re-merging playground after rm fix those up?

Only thing I can think of is that I somehow managed to get to the state 
below, perhaps by trying to stage/add/commit files in mingw... 
subdirectories, which may have been propagated up to the parent 
directory if lacking its own .git tree, if I had not yet cloned the 
mingw git/cygwin-packages repos:

$ git status -b -v
On branch playground
Your branch is based on 'origin/playground', but the upstream is gone.
    (use "git branch --unset-upstream" to fixup)

Changes not staged for commit:
    (use "git add <file>..." to update what will be committed)
    (use "git restore <file>..." to discard changes in working directory)
          typechange: mingw64-x86_64-nghttp2/configure-ac-cxx-ext.patch
          modified:   mingw64-x86_64-nghttp2/mingw64-x86_64-nghttp2.cygport
          typechange: 
mingw64-x86_64-nghttp2/tests-Makefile-am-staticlib.patch

Untracked files:
    (use "git add <file>..." to include in what will be committed)
          1.7.1-win32-tests.patch
          check.uri
          ci.uri
          gdrive.uri
          nghttp2-1.37.0-1.i686/
          nghttp2-1.37.0-1.x86_64/
          nghttp2-1.43.0-1.i686/
          nghttp2-1.43.0-1.x86_64/
          nghttp2-i686-ci.log
          nghttp2-update-1.43.eml
          nghttp2-x86_64-ci.log

no changes added to commit (use "git add" and/or "git commit -a")
$

which I undid with a:

$ git stash
Saved working directory and index state WIP on playground:
29e92b49619d add empty python module subpackages to obsolete
$

although I thought I had previously cloned those earlier:

$ llgo -A {*/,}.git/config
-rw-r--r-- 1 426 May 28 22:21 .git/config
-rw-r--r-- 1 371 May 28 09:00 mingw64-i686-nghttp2/.git/config
-rw-r--r-- 1 373 May 28 08:53 mingw64-x86_64-nghttp2/.git/config
$ tail -n+0 {*/,}.git/config
==> mingw64-i686-nghttp2/.git/config <==
[core]
         repositoryformatversion = 0
         filemode = true
         bare = false
         logallrefupdates = true
         ignorecase = true
[remote "origin"]
         url = ssh://cygwin/git/cygwin-packages/mingw64-i686-nghttp2.git
         fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
         remote = origin
         merge = refs/heads/master
[branch "playground"]
         remote = origin
         merge = refs/heads/playground

==> mingw64-x86_64-nghttp2/.git/config <==
[core]
         repositoryformatversion = 0
         filemode = true
         bare = false
         logallrefupdates = true
         ignorecase = true
[remote "origin"]
         url = ssh://cygwin/git/cygwin-packages/mingw64-x86_64-nghttp2.git
         fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
         remote = origin
         merge = refs/heads/master
[branch "playground"]
         remote = origin
         merge = refs/heads/playground

==> .git/config <==
[core]
         repositoryformatversion = 0
         filemode = true
         bare = false
         logallrefupdates = true
         ignorecase = true
[remote "origin"]
         url = ssh://cygwin/git/cygwin-packages/nghttp2.git
         fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
         remote = ssh://cygwin/git/cygwin-packages/nghttp2
         merge = refs/heads/master
[branch "playground"]
         remote = ssh://cygwin/git/cygwin-packages/nghttp2
         merge = refs/heads/playground
$

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in binary units and prefixes, physical quantities in SI.]


More information about the Cygwin-apps mailing list