Package: dh-make-golang
Version: 0.0~git20180827.d94f0cb-1+b10
Severity: normal

dh-make-golang creates a git repository with remotes - that's
nice. but they are setup quite strangely:

anarcat@curie:dmarc-cat-wtf(master)$ git status
On branch master
nothing to commit, working tree clean
anarcat@curie:dmarc-cat-wtf(master)$ git pull
From salsa.debian.org:go-team/packages/dmarc-cat
 * branch            master     -> FETCH_HEAD
Already up to date.
anarcat@curie:dmarc-cat-wtf(master)$ git push 
Everything up-to-date

That might look innocuous, but it makes things actually quite annoying
as `git pull` will not actually merge new commits in the main
branch. Branch tracking is all out of whack as well - for example `git
status` doesn't know if the current branch is up to date.

Here's how a fresh clone looks like instead:

anarcat@curie:dmarc-cat(master)$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
anarcat@curie:dmarc-cat(master)$ git pull
Already up to date.
anarcat@curie:dmarc-cat(master)$ git push 
Everything up-to-date

I think the problem is in the remote configuration:

--- dmarc-cat-wtf/.git/config   2019-02-05 22:28:23.064681329 -0500
+++ dmarc-cat/.git/config       2019-02-06 10:45:16.337451188 -0500
@@ -3,21 +3,9 @@
        filemode = true
        bare = false
        logallrefupdates = true
-[user]
-       name = Antoine Beaupré
-       email = [email protected]
-[push]
-       default = matching
 [remote "origin"]
-       push = +refs/heads/*:refs/heads/*
-       push = +refs/tags/*:refs/tags/*
        url = [email protected]:go-team/packages/dmarc-cat
+       fetch = +refs/heads/*:refs/remotes/origin/*
 [branch "master"]
        remote = origin
        merge = refs/heads/master
-[branch "pristine-tar"]
-       remote = origin
-       merge = refs/heads/pristine-tar
-[branch "upstream"]
-       remote = origin
-       merge = refs/heads/upstream

Look specifically at [remote "origin"] section: there are `push` refs
setup there (maybe by magit, which also setup the push/user entries, I
think) but there's no `fetch` entry, which is normally added by `git
remote add`.

It would be great if this would be fixed in dh-make-golang.

A workaround is to simply re-clone the repository or reconfigure the
remote with:

    git config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*'
    git pull

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (500, 'testing'), (1, 'experimental'), (1, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_CA.UTF-8, LC_CTYPE=fr_CA.UTF-8 (charmap=UTF-8), 
LANGUAGE=fr_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages dh-make-golang depends on:
ii  git               1:2.20.1-2
ii  git-buildpackage  0.9.13
ii  golang-any        2:1.11~1
ii  libc6             2.28-5
ii  pristine-tar      1.46

Versions of packages dh-make-golang recommends:
ii  golang-golang-x-tools           1:0.0~git20190125.d66bd3c+ds-4
ii  postfix [mail-transport-agent]  3.3.2-1+b1

dh-make-golang suggests no packages.

-- debconf-show failed

Reply via email to