git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Richard <richard.maw@gmail.com>
To: git@vger.kernel.org
Subject: Adding more namespace support to git
Date: Sat, 20 Aug 2016 20:07:00 +0100	[thread overview]
Message-ID: <CAB2VqoZh6zZV3Lk2B7dBPVE5h6H1LCwyxWrUo4yJFhqB=hAjig@mail.gmail.com> (raw)

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
namespace.

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.

             reply	other threads:[~2016-08-20 19:07 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-20 19:07 Richard [this message]
2016-08-21  2:05 ` Adding more namespace support to git Josh Triplett
2016-08-21 11:30   ` Richard
2016-08-21 14:07     ` Josh Triplett
     [not found]       ` <CAB2Vqoa+1QKD-7zjNUJBuu2qNowgY7n9fLM77zUdzf8aJi4XaQ@mail.gmail.com>
2016-08-22 19:16         ` Josh Triplett
2016-08-22 19:36           ` Richard
2016-08-24 17:49 ` Jeff King

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAB2VqoZh6zZV3Lk2B7dBPVE5h6H1LCwyxWrUo4yJFhqB=hAjig@mail.gmail.com' \
    --to=richard.maw@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).