I work on a git server called gitano.
We've been using and recommending cgit for the web UI.

I've been working on adding git namespace support to both,
so that we can separate administrative branches from code branches.

Because git is not namespace aware for anything but git-upload-pack
and git-receive-pack,
I've had to implement namespace parsing in cgit
for listing branches, showing logs, displaying notes and commit decorations.
It might be more useful if this support was added to git itself,
so other git servers could make use of it so there's less duplicated code.

I think the way to do this would be to make the low-level ref reading functions,
read_raw_ref, for_each_reflog_ent*, reflog_exists etc.,
interpret the ref they are passed as being relative to the current git

Since when upload-pack and receive-pack run hooks they leave GIT_NAMESPACE set
there are hook scripts that expect that the current namespace is ignored,
so commands that now want to be namespace aware would have to opt-in.

I tried adding a flag to the functions
with the intention of changing everything to conditionally set the flag
and adding wrapper functions to provide the old ABIs,
but quickly abandoned that after seeing how much change would be required.

Is anyone more familiar with the codebase able to recommend how I
might make it work,
and would there any interest in accepting such patches if I got it to work?

Please reply-all in response, I am not subscribed to the mailing list.
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to