from stgit import basedir
from stgit.utils import *
from stgit.config import config
+from sets import Set
# git exception class
class GitException(Exception):
if not files:
__set_head(tree_id)
-def pull(repository = 'origin', refspec = None):
- """Pull changes from the remote repository. At the moment, just
- use the 'git-pull' command
+def fetch(repository = 'origin', refspec = None):
+ """Fetches changes from the remote repository, using 'git-fetch'
+ by default.
"""
- # 'git-pull' updates the HEAD
+ # we update the HEAD
__clear_head_cache()
args = [repository]
if refspec:
args.append(refspec)
- if __run(config.get('stgit.pullcmd'), args) != 0:
- raise GitException, 'Failed "git-pull %s"' % repository
+ command = config.get('stgit.pullcmd')
+ if __run(command, args) != 0:
+ raise GitException, 'Failed "%s %s"' % (command, repository)
def repack():
"""Repack all objects into a single pack
"""Return the list of remotes in the repository
"""
- return set(__remotes_from_config()) | \
- set(__remotes_from_dir('remotes')) | \
- set(__remotes_from_dir('branches'))
+ return Set(__remotes_from_config()) | \
+ Set(__remotes_from_dir('remotes')) | \
+ Set(__remotes_from_dir('branches'))
def remotes_local_branches(remote):
"""Returns the list of local branches fetched from given remote