git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* git-remote and remotes with '.' in their names
@ 2007-02-26  7:36 Paul Collins
  2007-02-26 11:28 ` Jakub Narebski
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Paul Collins @ 2007-02-26  7:36 UTC (permalink / raw)
  To: git

I just switched my remotes over to the git-remote way (which is very
nice!) and was looking for a way to list all of the known remotes.
git-remote with no arguments almost does it, but I get the following:

  [briny(linux-2.6)] git --version
  git version 1.5.0.1
  [briny(linux-2.6)] cat .git/config
  [core]
          repositoryformatversion = 0
          filemode = true

  [user]
          email = "paul@briny.ondioline.org"
  [remote "origin"]
          url = git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
          fetch = +refs/heads/*:refs/remotes/origin/*
  [remote "wireless-dev"]
          url = git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-dev.git
          fetch = +refs/heads/*:refs/remotes/wireless-dev/*
  [remote "stable-2.6.19"]
          url = git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.19.y.git
          fetch = +refs/heads/*:refs/remotes/stable-2.6.19/*
  [remote "stable-2.6.20"]
          url = git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.20.y.git
          fetch = +refs/heads/*:refs/remotes/stable-2.6.20/*
  [remote "wireless-2.6"]
          url = git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git
          fetch = +refs/heads/*:refs/remotes/wireless-2.6/*
  [briny(linux-2.6)] git-remote
  origin
  stable-2
  wireless-2
  wireless-dev

With this patch I get the correct list, but then it will break if
there are ever config keys like "remote.$remote_name.foo.bar".


--- git-remote~	2007-02-26 01:15:33.000000000 +1300
+++ git-remote	2007-02-26 20:31:20.000000000 +1300
@@ -68,7 +68,7 @@
 		$git->command(qw(config --get-regexp), '^remote\.');
 	};
 	for (@remotes) {
-		if (/^remote\.([^.]*)\.(\S*)\s+(.*)$/) {
+		if (/^remote\.(.*)\.(\S*)\s+(.*)$/) {
 			add_remote_config(\%seen, $1, $2, $3);
 		}
 	}


-- 
Paul Collins
Wellington, New Zealand

Dag vijandelijk luchtschip de huismeester is dood

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: git-remote and remotes with '.' in their names
  2007-02-26  7:36 git-remote and remotes with '.' in their names Paul Collins
@ 2007-02-26 11:28 ` Jakub Narebski
  2007-02-26 11:28 ` Johannes Schindelin
  2007-02-28 14:55 ` Paolo Bonzini
  2 siblings, 0 replies; 6+ messages in thread
From: Jakub Narebski @ 2007-02-26 11:28 UTC (permalink / raw)
  To: git

Paul Collins wrote:

> With this patch I get the correct list, but then it will break if
> there are ever config keys like "remote.$remote_name.foo.bar".

I don't think there would ever be key (variable) names with dots in them;
if I remember correctly we don't allow this now.
-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: git-remote and remotes with '.' in their names
  2007-02-26  7:36 git-remote and remotes with '.' in their names Paul Collins
  2007-02-26 11:28 ` Jakub Narebski
@ 2007-02-26 11:28 ` Johannes Schindelin
  2007-02-28 14:55 ` Paolo Bonzini
  2 siblings, 0 replies; 6+ messages in thread
From: Johannes Schindelin @ 2007-02-26 11:28 UTC (permalink / raw)
  To: Paul Collins; +Cc: git

Hi,

On Mon, 26 Feb 2007, Paul Collins wrote:

> With this patch I get the correct list, but then it will break if there 
> are ever config keys like "remote.$remote_name.foo.bar".

I think you do not need to worry. AFAIR variable names in the config must 
not contain dots, so the only way to set your example variable would be

[remote "$remote_name.foo"]
	bar = blabla

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: git-remote and remotes with '.' in their names
  2007-02-26  7:36 git-remote and remotes with '.' in their names Paul Collins
  2007-02-26 11:28 ` Jakub Narebski
  2007-02-26 11:28 ` Johannes Schindelin
@ 2007-02-28 14:55 ` Paolo Bonzini
  2007-02-28 15:10   ` Johannes Schindelin
  2 siblings, 1 reply; 6+ messages in thread
From: Paolo Bonzini @ 2007-02-28 14:55 UTC (permalink / raw)
  To: Paul Collins; +Cc: git

Hello,

>  	for (@remotes) {
> -		if (/^remote\.([^.]*)\.(\S*)\s+(.*)$/) {
> +		if (/^remote\.(.*)\.(\S*)\s+(.*)$/) {

You probably want either

+		if (/^remote\.(\S*)\.(\S*)\s+(.*)$/) {

or

+		if (/^remote\.(\S*)\.([^.]*)\s+(.*)$/) {

here.

Paolo

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: git-remote and remotes with '.' in their names
  2007-02-28 14:55 ` Paolo Bonzini
@ 2007-02-28 15:10   ` Johannes Schindelin
  2007-02-28 15:14     ` Paolo Bonzini
  0 siblings, 1 reply; 6+ messages in thread
From: Johannes Schindelin @ 2007-02-28 15:10 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Paul Collins, git

Hi,

On Wed, 28 Feb 2007, Paolo Bonzini wrote:

> Hello,
> 
> >  	for (@remotes) {
> > -		if (/^remote\.([^.]*)\.(\S*)\s+(.*)$/) {
> > +		if (/^remote\.(.*)\.(\S*)\s+(.*)$/) {
> 
> You probably want either
> 
> +		if (/^remote\.(\S*)\.(\S*)\s+(.*)$/) {
> 
> or
> 
> +		if (/^remote\.(\S*)\.([^.]*)\s+(.*)$/) {

Did you mean to prevent the remote starting with a dot? IMHO that would be 
a good change, but AFAIS both your proposals don't do that.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: git-remote and remotes with '.' in their names
  2007-02-28 15:10   ` Johannes Schindelin
@ 2007-02-28 15:14     ` Paolo Bonzini
  0 siblings, 0 replies; 6+ messages in thread
From: Paolo Bonzini @ 2007-02-28 15:14 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Paul Collins, git

Johannes Schindelin wrote:
> Hi,
> 
> On Wed, 28 Feb 2007, Paolo Bonzini wrote:
> 
>> Hello,
>>
>>>  	for (@remotes) {
>>> -		if (/^remote\.([^.]*)\.(\S*)\s+(.*)$/) {
>>> +		if (/^remote\.(.*)\.(\S*)\s+(.*)$/) {
>> You probably want either
>>
>> +		if (/^remote\.(\S*)\.(\S*)\s+(.*)$/) {
>>
>> or
>>
>> +		if (/^remote\.(\S*)\.([^.]*)\s+(.*)$/) {
> 
> Did you mean to prevent the remote starting with a dot? IMHO that would be 
> a good change, but AFAIS both your proposals don't do that.

No, I meant to avoid the ".*" in Paul's proposal.  They should be in 
practice equivalent but, with the second one, I made the regex more 
readable: it is clearer that the $3 variable is not meant to include dots.

Your proposal makes sense to me -- that would be

+		if (/^remote\.([^.]\S*)\.([^.]*)\s+(.*)$/) {

Paolo

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2007-02-28 15:14 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-02-26  7:36 git-remote and remotes with '.' in their names Paul Collins
2007-02-26 11:28 ` Jakub Narebski
2007-02-26 11:28 ` Johannes Schindelin
2007-02-28 14:55 ` Paolo Bonzini
2007-02-28 15:10   ` Johannes Schindelin
2007-02-28 15:14     ` Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).