[PATCH] pullrequests: saving raw_id instead of branch in org_ref

Mads Kiilerich mads at kiilerich.com
Thu Mar 19 10:38:39 EDT 2015


On 03/19/2015 03:00 PM, Jan Heylen wrote:
> # HG changeset patch
> # User Jan Heylen <jan.heylen at alcatel-lucent.com>
> # Date 1426767186 -3600
> #      Thu Mar 19 13:13:06 2015 +0100
> # Node ID beae6b3ec2fc556a274630de6d7b02b1cf54052a
> # Parent  b08aab61c41d60562f0033f927cf32c8e024e24b
> pullrequests: saving raw_id instead of branch in org_ref
>
> This fixes an issue when the pull request is created while the top commit
> included is not the tip. In that case, the faulty code would but
> branch:default:default as org_ref, that causes the pull request view to show
> all commits on that branch instead of the wanted commit(s) only. The fix will
> result in a branch:default:1234567890abcdef1234567890abcdef (e.g)

Hmm ... it should be using org_rev when computing cs_ranges. The ref 
should only be used when finding the list of changesets that can be used 
for "update" ... and I think it makes sense to show new changes on the 
branch (or bookmark) even when creating the PR on a specific revision.

I will have to investigate more ... unless you can say more about it.

And welcome to the blame-list of people who make changes in this area 
without adding tests ;-)

/Mads


> diff -r b08aab61c41d -r beae6b3ec2fc kallithea/controllers/pullrequests.py
> --- a/kallithea/controllers/pullrequests.py	Tue Mar 17 22:21:34 2015 +0100
> +++ b/kallithea/controllers/pullrequests.py	Thu Mar 19 13:13:06 2015 +0100
> @@ -322,8 +322,8 @@
>            org_rev) = org_ref.split(':')
>           if org_ref_type == 'rev':
>               org_ref_type = 'branch'
> -            org_ref_name = org_repo.scm_instance.get_changeset(org_rev).branch
> -            org_ref = '%s:%s:%s' % (org_ref_type, org_ref_name, org_ref_name)
> +            cs = org_repo.scm_instance.get_changeset(org_rev)
> +            org_ref = '%s:%s:%s' % (org_ref_type, cs.branch, cs.raw_id)
>   
>           other_repo_name = _form['other_repo']
>           other_ref = _form['other_ref'] # will have symbolic name and head revision
> _______________________________________________
> kallithea-general mailing list
> kallithea-general at sfconservancy.org
> http://lists.sfconservancy.org/mailman/listinfo/kallithea-general



More information about the kallithea-general mailing list