Package: git
Version: 1:2.11.0-4
Severity: important
Tags: upstream

Dear Maintainers,

Git 2.11.0 introduced a regression when pushing to a local repository
whose pathname contains a colon.

I have verified that this regression has been fixed upstream in Git
2.11.1 and 2.12.0.

Unfortunately the version that is in testing which will become stable
exhibits this bug.

This makes the package unusable for me for one project I work on, the
only workaround is to run a locally built git binary. But colons in
pathnames are admittedly rare.

I suspect the upstream commit that fixes this is
https://github.com/git/git/commit/cf3c6352100a, I have not verified yet.

Minimal working example:

    ## Make a root commit ...
    git init testrepo
    cd testrepo
    echo one > README
    git add .
    git commit -a -m "Initial commit"
    cd ..
    
    ## ... convert it to a bare repo with a colon in the name ...
    git clone --bare testrepo testrepo.git
    rm -rf testrepo
    mv testrepo.git test:repo.git
    
    ## ... hack, push a commit to origin, error occurs
    git clone test:repo.git testrepo
    cd testrepo
    echo two > README
    git add .
    git commit -a -m "Second commit"
    git push origin master

The error message:

    remote: error: object directory /path/to/test does not exist; check 
.git/objects/info/alternates.
    remote: error: object directory repo.git/objects does not exist; check 
.git/objects/info/alternates.
    remote: error: object directory /path/to/test does not exist; check 
.git/objects/info/alternates.
    remote: error: object directory repo.git/objects does not exist; check 
.git/objects/info/alternates.
    remote: error: refs/heads/master does not point to a valid object!
    remote: fatal: bad object HEAD
    error: object directory /path/to/test does not exist; check 
.git/objects/info/alternates.
    error: object directory repo.git/objects does not exist; check 
.git/objects/info/alternates.
    error: refs/heads/master does not point to a valid object!
    fatal: bad object HEAD

-- System Information:
Debian Release: 9.0
  APT prefers testing
  APT policy: (900, 'testing'), (800, 'unstable')
Architecture: amd64
 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-3-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages git depends on:
ii  dpkg             1.18.24
ii  git-man          1:2.11.0-4
ii  libc6            2.24-10
ii  libcurl3-gnutls  7.52.1-5
ii  liberror-perl    0.17024-1
ii  libexpat1        2.2.0-2
ii  libpcre3         2:8.39-3
ii  perl             5.24.1-2
ii  zlib1g           1:1.2.8.dfsg-5

Versions of packages git recommends:
ii  less                         481-2.1
ii  openssh-client [ssh-client]  1:7.4p1-10
ii  patch                        2.7.5-1+b2

Versions of packages git suggests:
ii  gettext-base                          0.19.8.1-2
pn  git-arch                              <none>
pn  git-cvs                               <none>
pn  git-daemon-run | git-daemon-sysvinit  <none>
ii  git-doc                               1:2.11.0-4
pn  git-el                                <none>
pn  git-email                             <none>
pn  git-gui                               <none>
pn  git-mediawiki                         <none>
ii  git-svn                               1:2.11.0-4
pn  gitk                                  <none>
pn  gitweb                                <none>

-- no debconf information

Reply via email to