Bug in git-remote

4 messages, 3 authors, 2018-12-28 · open the first message on its own page

Bug in git-remote

From: Gennady Uraltsev <hidden>
Date: 2018-12-15 07:14:59

I am on git version 2.20.0

$ git remote

does not show remotes configured in named files in $GIT_DIR/remotes/

I do not think that this is the intended behavior.

In particular:

$ git init --bare test.git
Initialized empty Git repository in /home/guraltsev/admin/test/git/test.git/

$ cd test.git

$ mkdir -p remotes
mkdir: created directory 'remotes'

$ echo -e "URL: /testremote.git \n Push: *:* \n Pull:
refs/heads/*:refs/remotes/testremote/* " > remotes/testremote

$ git remote

$ git remote show testremote
fatal: '/testremote.git' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.



The second to last command should show testremote as a remote.


Best,

Gennady

Re: Bug in git-remote

From: SZEDER Gábor <hidden>
Date: 2018-12-15 13:02:10

On Sat, Dec 15, 2018 at 02:14:56AM -0500, Gennady Uraltsev wrote:
I am on git version 2.20.0

$ git remote

does not show remotes configured in named files in $GIT_DIR/remotes/

I do not think that this is the intended behavior.
It's a known bug.  When 'git remote' was rewritten as a builtin
command in C in commit 211c89682e (Make git-remote a builtin,
2008-02-29) the parts dealing with remotes under 'GIT_DIR/remotes/'
were not rewritten.  I don't know whether that was intended or not,
but storing remote information as configuration was about two years
old back then.  Given that since then '$GIT_DIR/remotes/' got marked
as "This mechanism is legacy and not likely to be found in modern
repositories", I'm not sure it's worth fixing.  Perhaps it's time for
calling it deprecated.

In particular:

$ git init --bare test.git
Initialized empty Git repository in /home/guraltsev/admin/test/git/test.git/

$ cd test.git

$ mkdir -p remotes
mkdir: created directory 'remotes'

$ echo -e "URL: /testremote.git \n Push: *:* \n Pull:
refs/heads/*:refs/remotes/testremote/* " > remotes/testremote

$ git remote

$ git remote show testremote
fatal: '/testremote.git' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.



The second to last command should show testremote as a remote.


Best,

Gennady

Re: Bug in git-remote

From: Johannes Schindelin <hidden>
Date: 2018-12-17 12:51:15

Hi Gábor,

On Sat, 15 Dec 2018, SZEDER Gábor wrote:
On Sat, Dec 15, 2018 at 02:14:56AM -0500, Gennady Uraltsev wrote:
quoted
I am on git version 2.20.0

$ git remote

does not show remotes configured in named files in $GIT_DIR/remotes/

I do not think that this is the intended behavior.
It's a known bug.  When 'git remote' was rewritten as a builtin
command in C in commit 211c89682e (Make git-remote a builtin,
2008-02-29) the parts dealing with remotes under 'GIT_DIR/remotes/'
were not rewritten.  I don't know whether that was intended or not,
but storing remote information as configuration was about two years
old back then.  Given that since then '$GIT_DIR/remotes/' got marked
as "This mechanism is legacy and not likely to be found in modern
repositories", I'm not sure it's worth fixing.  Perhaps it's time for
calling it deprecated.
I would be in favor of deprecating it, and then removing it.

However, when I tried a similar thing with the completely obsolete
`$GIT_DIR/branches/` feature, it was shot down IIRC on the mere suspicion
that there was a single remaining user among the Linux kernel lieutenants.

And I fear that the suspected workflow of that lieutenant involved having
those legacy remotes, too.

Hopefully this issue will be resolved somehow, as it is not exactly a
splendid idea to keep a legacy feature of a software used by millions,
just for a single user, I would think.

Ciao,
Dscho
quoted
In particular:

$ git init --bare test.git
Initialized empty Git repository in /home/guraltsev/admin/test/git/test.git/

$ cd test.git

$ mkdir -p remotes
mkdir: created directory 'remotes'

$ echo -e "URL: /testremote.git \n Push: *:* \n Pull:
refs/heads/*:refs/remotes/testremote/* " > remotes/testremote

$ git remote

$ git remote show testremote
fatal: '/testremote.git' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.



The second to last command should show testremote as a remote.


Best,

Gennady

Re: Bug in git-remote

From: SZEDER Gábor <hidden>
Date: 2018-12-28 12:32:53

On Mon, Dec 17, 2018 at 01:50:56PM +0100, Johannes Schindelin wrote:
Hi Gábor,

On Sat, 15 Dec 2018, SZEDER Gábor wrote:
quoted
On Sat, Dec 15, 2018 at 02:14:56AM -0500, Gennady Uraltsev wrote:
quoted
I am on git version 2.20.0

$ git remote

does not show remotes configured in named files in $GIT_DIR/remotes/

I do not think that this is the intended behavior.
It's a known bug.  When 'git remote' was rewritten as a builtin
command in C in commit 211c89682e (Make git-remote a builtin,
2008-02-29) the parts dealing with remotes under 'GIT_DIR/remotes/'
were not rewritten.  I don't know whether that was intended or not,
but storing remote information as configuration was about two years
old back then.  Given that since then '$GIT_DIR/remotes/' got marked
as "This mechanism is legacy and not likely to be found in modern
repositories", I'm not sure it's worth fixing.  Perhaps it's time for
calling it deprecated.
I would be in favor of deprecating it, and then removing it.

However, when I tried a similar thing with the completely obsolete
`$GIT_DIR/branches/` feature, it was shot down IIRC on the mere suspicion
that there was a single remaining user among the Linux kernel lieutenants.

And I fear that the suspected workflow of that lieutenant involved having
those legacy remotes, too.

Hopefully this issue will be resolved somehow, as it is not exactly a
splendid idea to keep a legacy feature of a software used by millions,
just for a single user, I would think.
Well, even if we don't remove support for '$GIT_DIR/remotes/', we
could still mark it as deprecated in the documentation, so hopefully
it won't gain any new users, and users won't waste time digging and
writing bugreports like this.

When, if at all, and how we'll progress beyond that is a separate
question.


Gábor
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help