On Wed, Jul 09, 2025 at 09:54:02AM -0400, Rodrigo Vivi wrote: > On Wed, Jul 09, 2025 at 08:21:05AM +0200, Lukas Wunner wrote: > > On Tue, Jul 08, 2025 at 05:19:52PM -0400, Rodrigo Vivi wrote: > > > rdvivi@rdvivi-mobl1:~/linux/maintainer-tools$ dim blah > > > dim: Adding remote for linux-upstream repo from URLs: > > > git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git > > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git > > > https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux.git
This should never happen. In function "url_to_remote", the "origin" remote should be discovered in this for loop: for url; do remote=$(url_to_remote_from_git "$url") if [[ -n "$remote" ]]; then echo "$remote" return 0 fi done The output you've pasted above means that the for loop was unsuccessful in finding a remote, so function "url_to_remote" tries to add the origin remote, which doesn't work because it already exists. Question is why the for loop was unsuccessful. I note that function "url_to_remote_from_git" does this: remote=$(git remote -v | grep -m 1 "$url/\? (" | cut -f 1) Which grep version are you using? I'm using GNU grep 3.11 and it finds the linux-upstream remote flawlessly. A possible error source might be the regex type. GNU grep 3.11 defaults to basic regular expressions. This can be enforced with -G or --basic-regexp. If you add either of these two options to the grep invocation, does it change behavior? > > What does "git remote -v | grep origin" return? > > rdvivi@rdvivi-mobl1:~/linux/drm-tip$ git remote -v | grep origin > origin > git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git (fetch) > origin > git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git (push) That's exactly the same URL I'm using as well and "url_to_remote" resolves it to the remote name without any issues. (The remote is named "torvalds" in my local repo.) Thanks, Lukas