Hrm, while I appreciate the difficulty here, how likely are local imports going to be?
To be clear, get_heads_and_versions can look in multiple prefixes, specified by a namespace (top-level 'directory' in refs/heads/) and a head_prefix (next-level 'directory' in refs/heads/<namespace>/).
Also, get_heads_and_versions only deals with local branches, not remote-tracking branches (as they need to be iterated differently).
I would suggest a couple of approaches, but I'm not sure what is best. Here is my initial proposal, though:
1) Restrict changes to queue code for now.
2) Given there are currently only two locations, maybe do some sort of try/except to test for the two possible ref namespaces to expect things in?
Or
1) Change queue to take a parameter that specifies the ref-namespace to look for the importer stuff? If you are doing a local import, then you would pass --import-ref-namespace=refs/headsimporter/, and it would default to refs/remotes/pkg ?
Hrm, while I appreciate the difficulty here, how likely are local imports going to be?
To be clear, get_heads_ and_versions can look in multiple prefixes, specified by a namespace (top-level 'directory' in refs/heads/) and a head_prefix (next-level 'directory' in refs/heads/ <namespace> /).
Also, get_heads_ and_versions only deals with local branches, not remote-tracking branches (as they need to be iterated differently).
I would suggest a couple of approaches, but I'm not sure what is best. Here is my initial proposal, though:
1) Restrict changes to queue code for now.
2) Given there are currently only two locations, maybe do some sort of try/except to test for the two possible ref namespaces to expect things in?
Or
1) Change queue to take a parameter that specifies the ref-namespace to look for the importer stuff? If you are doing a local import, then you would pass --import- ref-namespace= refs/headsimpor ter/, and it would default to refs/remotes/pkg ?