From: Andreas Gruenbacher <agruen@suse.de>
To: git@vger.kernel.org
Subject: [RFC][PATCH 0/3] Different views on a repository
Date: Wed, 24 Feb 2010 17:41:20 +0100 [thread overview]
Message-ID: <cover.1267029680.git.agruen@suse.de> (raw)
Hello,
we have a use case with groups of repositories which share lots of
objects, but which are logically independent. There is no strict
hierarchy between the repositories, the development modl is arbitrary.
The alternates mechanism for sharig objects between repositories won't
work.
The best idea I came up with so far to solve this was to keep everything
in the same repository on the server. Then, to keep the logically
independent repositories separate, directories are used below refs/heads
and refs/tags. Receive-pack and upload-pack are modified to hide this
directory structure from clients so that repositories will continue to
look "normal" to users. For example, the following structure on the
server:
refs/heads/one/master
refs/tags/one/tag1
refs/heads/two/master
refs/heads/two/branch2
would appear as two independent repositories to different clients:
refs/heads/master
refs/tags/tag1
and:
refs/heads/master
refs/heads/branch2
The following three patches implement this. What do you guys think --
does the basic idea and implementation look sensible, or am I
overlooking a way to solve this kind of problem with other means?
Thanks!
receive-pack: Two small code cleanups
Different views on a repository
Different views on a repository: HEAD mapping
Documentation/git-receive-pack.txt | 9 ++++-
Documentation/git-upload-pack.txt | 10 +++++-
builtin-receive-pack.c | 32 ++++++++++++++---
refs.c | 65 ++++++++++++++++++++++++++++++++++--
refs.h | 4 ++
upload-pack.c | 20 ++++++++++-
6 files changed, 127 insertions(+), 13 deletions(-)
next reply other threads:[~2010-02-24 17:10 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-24 16:41 Andreas Gruenbacher [this message]
2010-02-24 15:33 ` [PATCH 1/3] receive-pack: Two small code cleanups Andreas Gruenbacher
2010-02-24 15:57 ` [PATCH 2/3] Different views on a repository Andreas Gruenbacher
2010-02-24 16:14 ` [PATCH 3/3] Different views on a repository: HEAD mapping Andreas Gruenbacher
2010-02-24 17:42 ` [PATCH 2/3] Different views on a repository Shawn O. Pearce
2010-02-25 9:01 ` Michael J Gruber
2010-02-25 9:25 ` Andreas Gruenbacher
2010-02-25 12:30 ` Michael J Gruber
2010-02-25 14:35 ` Andreas Gruenbacher
2010-02-25 17:28 ` Junio C Hamano
2010-02-26 0:45 ` Andreas Gruenbacher
2010-02-26 21:35 ` Andreas Gruenbacher
2010-02-24 17:29 ` [PATCH 1/3] receive-pack: Two small code cleanups Shawn O. Pearce
2010-02-25 20:13 ` [RFC][PATCH 0/3] Different views on a repository James Pickens
2010-02-26 4:30 ` Adam Brewster
[not found] ` <c376da901002252012s507a6921q922e606bdce4b4fa@mail.gmail.com>
2010-02-26 12:01 ` Andreas Gruenbacher
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1267029680.git.agruen@suse.de \
--to=agruen@suse.de \
--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.
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 NNTP newsgroup(s).