[git-buildpackage] Import-orig patch to avoid dropping commits

Guido Günther agx at sigxcpu.org
Sun Jul 21 10:13:36 CEST 2019


Hi,
On Sat, Jul 20, 2019 at 10:21:36PM -0300, Maximiliano Curia wrote:
> Hi,
> 
> We are here at DebConf and we found out when you are committing in a feature
> branch and then you try to import a new upstream release, the commits that
> you added in the feature branch that are not committed to the debian-branch
> are lost. This ended up in the attaching patch.
> 
> Anyway, it seems counter intuitive that the changes are applied in a
> different branch. Are you sure that the default behaviour should be to work
> in the debian-branch instead of the current one?
> 
> Happy hacking,
> -- 
> "Programs must be written for people to read, and only incidentally for
> machines to execute."
> -- Hal Abelson, "Structure and Interpretation of Computer Programs"
> Saludos /\/\ /\ >< `/

> From d69ba3a71c77b9e296c400ebf9e08fc4765de9cf Mon Sep 17 00:00:00 2001
> From: Maximiliano Curia <maxy at gnuservers.com.ar>
> Date: Sat, 20 Jul 2019 21:59:10 -0300
> Subject: [PATCH] import-orig/merge_replace Avoid calling force_head
> 
> The debian_merge_by_replace function ends up calling force_head, but up
> to this point the current branch could be anything, and thus when called from a
> feature branch the latest commits get lost.
> ---
>  gbp/scripts/import_orig.py | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/gbp/scripts/import_orig.py b/gbp/scripts/import_orig.py
> index 14a87cba..8b0b0fe4 100644
> --- a/gbp/scripts/import_orig.py
> +++ b/gbp/scripts/import_orig.py
> @@ -259,7 +259,9 @@ def debian_branch_merge_by_replace(repo, tag, version, options):
>      repo.update_ref("refs/heads/%s" % options.debian_branch, commit,
>                      msg="gbp: Updating %s after import of %s" % (options.debian_branch,
>                                                                   tag))
> -    repo.force_head(commit, hard=True)
> +    current_branch = repo.get_branch()
> +    if current_branch == options.debian_branch:
> +        repo.force_head(commit, hard=True)

Applied. Thanks.
 -- Guido

>  
>  
>  def debian_branch_merge_by_merge(repo, tag, version, options):
> -- 
> 2.22.0
> 





More information about the git-buildpackage mailing list