# [PATCH] Check git pull remote before defaulting to 'origin'

3 messages from 2006-12-10 to 2007-01-09. Participants: Pavel Roskin, Catalin Marinas.
Thread: https://gitlist.dev/t/6298

## Catalin Marinas, 2006-12-10 16:41

Subject: Re: RFC PATCH: support for default remote in StGIT
Message-ID: <b0943d9e0612100841h7d064c7cs37f882f91e3eddf8@mail.gmail.com>
URL: https://gitlist.dev/e/b0943d9e0612100841h7d064c7cs37f882f91e3eddf8%40mail.gmail.com
In-Reply-To: <1165657360.2816.61.camel@portland.localdomain>

```
On 09/12/06, Pavel Roskin <proski@gnu.org> wrote:
> Sorry, I was unlucky to pick your address from setup.py, where it's
> incorrect (gmail.org, not gmail.com), so I'm sending you another copy.

Thanks for spotting this.

> One approach is to leave the default remote selection completely to git.
> The downside is that StGIT prints the remote it's pulling from.  Now
> StGIT will have to print common words that it's pulling something.  Or
> maybe it shouldn't print anything?

Yann started a thread on this but I didn't find the time to look at
this properly. He's idea was to store the remote branch information in
the StGIT metadata but I'd like to leave this for GIT to deal with.

The StGIT UI can probably be modified to display something useful but
I don't see a problem if it doesn't.

> The other approach is to calculate the default remote in StGIT.  This
> would allow StGIT to tell the user where it's pulling from.
>
> However, I had to introduce a function that ignores errors except there
> is any output on stderr.  This is because git-repo-config returns error
> code 1 if it cannot find the key.  Maybe git-repo-config should have an
> option not to fail in this case?  Perhaps a default value to return?

With the recent changes, StGIT shares the config files with GIT and it
has direct access to git settings without the need to use
git-repo-config. Just use "config.has_key" and "config.get_option".

Maybe a combination of your two options - StGIT could try to get the
default branch and, if there isn't any in the config files, just
invoke git-pull without any argument (and display something like
"pulling from default").

-- 

```

## Pavel Roskin, 2007-01-09 07:20

Subject: [PATCH] Check git pull remote before defaulting to 'origin'
Message-ID: <1168327205.7890.2.camel@dv>
URL: https://gitlist.dev/e/1168327205.7890.2.camel%40dv
In-Reply-To: <b0943d9e0612100841h7d064c7cs37f882f91e3eddf8@mail.gmail.com>

```
Check git pull remote before defaulting to 'origin'

Signed-off-by: Pavel Roskin <proski@gnu.org>
---

 stgit/commands/pull.py |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/stgit/commands/pull.py b/stgit/commands/pull.py
index 227249e..7c5db22 100644
--- a/stgit/commands/pull.py
+++ b/stgit/commands/pull.py
@@ -50,10 +50,16 @@ def func(parser, options, args):
     if len(args) > 2:
         parser.error('incorrect number of arguments')
 
-    repository = 'origin'
-    refspec = None
     if len(args) >= 1:
         repository = args[0]
+    else:
+        section = 'branch "%s"' % git.get_head_file()
+        if config.has_option(section, 'remote'):
+            repository = config.get(section, 'remote')
+        else:
+            repository = 'origin'
+
+    refspec = None
     if len(args) == 2:
         refspec = args[1]
 

-- 
Regards,
Pavel Roskin

```

## Catalin Marinas, 2007-01-09 10:30

Subject: Re: [PATCH] Check git pull remote before defaulting to 'origin'
Message-ID: <b0943d9e0701090230j3611784bw5c2db84576327bd1@mail.gmail.com>
URL: https://gitlist.dev/e/b0943d9e0701090230j3611784bw5c2db84576327bd1%40mail.gmail.com
In-Reply-To: <1168327205.7890.2.camel@dv>

```
On 09/01/07, Pavel Roskin <proski@gnu.org> wrote:
> Check git pull remote before defaulting to 'origin'

Thanks. Applied.

-- 
Catalin

```
