From ea43176de0a46eadb12be814517532a13eec8b1d Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sun, 22 Mar 2020 12:14:01 -0400 Subject: [PATCH] download: support --ff when cherry-picking The git cherry-pick already supports this, so plumb the existing repo option down. Otherwise it's confusing when people use -c --ff and it doesn't use that behavior. Change-Id: Id68932ffa09204bb30b92a21aff185c00394a520 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/259852 Reviewed-by: David Pursehouse Tested-by: Mike Frysinger --- project.py | 4 +++- subcmds/download.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/project.py b/project.py index 4c8c2babd..a58af4ffa 100644 --- a/project.py +++ b/project.py @@ -2681,8 +2681,10 @@ class Project(object): if self._allrefs: raise GitError('%s checkout %s ' % (self.name, rev)) - def _CherryPick(self, rev): + def _CherryPick(self, rev, ffonly=False): cmd = ['cherry-pick'] + if ffonly: + cmd.append('--ff') cmd.append(rev) cmd.append('--') if GitCommand(self, cmd).Wait() != 0: diff --git a/subcmds/download.py b/subcmds/download.py index 87d0ce047..12d995265 100644 --- a/subcmds/download.py +++ b/subcmds/download.py @@ -101,7 +101,7 @@ If no project is specified try to use current directory as a project. print(' %s' % (c), file=sys.stderr) if opt.cherrypick: try: - project._CherryPick(dl.commit) + project._CherryPick(dl.commit, ffonly=opt.ffonly) except GitError: print('[%s] Could not complete the cherry-pick of %s' % (project.name, dl.commit), file=sys.stderr)