X-Git-Url: https://git.distorted.org.uk/~mdw/stgit/blobdiff_plain/8f5da35b5b53dd3c7eaf29350b3f84f1213d0ec8..d060dfd3e619d32291b872b74462a8238bf55f1b:/stgit/commands/pull.py diff --git a/stgit/commands/pull.py b/stgit/commands/pull.py index f837fd4..15bbed6 100644 --- a/stgit/commands/pull.py +++ b/stgit/commands/pull.py @@ -26,15 +26,15 @@ from stgit import stack, git help = 'pull the changes from the remote repository' usage = """%prog [options] [] -Pull the latest changes from the given repository (defaulting to -'origin'). This command works by popping all the patches from the -stack, pulling the changes in the parent repository, setting the base -of the stack to the latest parent HEAD and pushing the patches back -(unless '--nopush' is specified). The 'push' operation can fail if -there are conflicts. They need to be resolved and the patch pushed -again. +Pull the latest changes from the given remote repository (defaulting +to branch..remote, or 'origin' if not set). This command works +by popping all the patches from the stack, pulling the changes in the +parent repository, setting the base of the stack to the latest parent +HEAD and pushing the patches back (unless '--nopush' is specified). +The 'push' operation can fail if there are conflicts. They need to be +resolved and the patch pushed again. -Check the 'git pull' documentation for the format.""" +Check the 'git fetch' documentation for the format.""" options = [make_option('-n', '--nopush', help = 'do not push the patches back after pulling', @@ -71,7 +71,9 @@ def func(parser, options, args): # pull the remote changes print 'Pulling from "%s"...' % repository - git.pull(repository) + git.fetch(repository) + if (config.get('stgit.pull-does-rebase')): + git.reset(tree_id = git.rev_parse(crt_series.get_parent_branch())) print 'done' # push the patches back