[Kde-scm-interest] Layout of Git repositories for KDE
Thiago Macieira
thiago at kde.org
Mon Nov 5 14:17:00 CET 2007
Em Monday 05 November 2007 13:49:01 Johannes Sixt escreveu:
> Thiago Macieira schrieb:
> > My concern, however, is for modules in playground when evolving. If we
> > actually *move* the repository, the URL changes and everyone's remotes
> > will have to be changed, as well as alternates set up locally and
> > submodules.
>
> But only people who actually had the module checked out are affected. Only
> after the module went into /stable many more people would be affected. This
> means that there better be good plans where to put the module before it
> goes to /stable.
Playground was part of /stable in my proposal.
I guess we could merge playground with projects. New applications being
created are a "project" and they get moved directly into stable/kdereview
when they are considered stable. Thus we merge also the concepts of stable
and release-worthy.
The drawback is that people will have no incentive to check out playground and
try to build it. I do this right now and try to fix things here and there.
Or, rather, did that in KDE 3. It's a mess right now.
> >>> 4) the "projects" tree is where named projects are undertaken. The
> >>> layout is not specified.
> >>> Named projects are those that have a declared objective. Therefore,
> >>> they also have a life time: when the goal is reached, the code is
> >>> merged back into "stable" and the repository is deleted. If the project
> >>> is abandoned, the code is also merged, but with merge strategy "ours".
> >>
> >> Why do this? To keep the history? I don't think that's necessary. If a
> >> project turns out not to be worth it, why keep it? If it's valuable to
> >> someone, then that someone can keep a private clone.
> >
> > Yeah, I am afraid of just deleting history. If the project turned out to
> > be total crap, then don't keep it. But if it did something useful but
> > proved to be ahead of its time or not acceptable, we should merge back so
> > as to not lose the changes.
>
> Then using strategy "ours" is the wrong thing to do. This basically *hides*
> all the changes that are merged in, and it becomes impossible to merge them
> again (without playing games) if they later turn out to be valuable.
Hmm... I see. I had asked this question in the #git channel and merge -s ours
was the reply I got.
The question was: what happens to a branch that you don't want to merge the
changes back into the mainline? In Subversion, we simply delete the branch
because we know the changes aren't lost, though it is difficult to find them
again (you must know the branch URL and search when it was deleted). This is
actually the reason why we introduced tags/unmaintained/.
I guess we can simply extend the concept to the new discontinued/ tree: we
have a copy of any module there, with branches pointing to discontinued
branches.
> The better option is to move the history to a branch (possibly read-only)
> in the /stable hierarchy.
I'd rather not clutter /stable with unnecessary branches or repositories.
I think organisation has to be thought of very early in the process to avoid
this:
http://git.kernel.org/
There's at least a hundred linux/kernel/git repositories. It's easy to get
lost.
> > That doesn't address the problem of old commits still pointing to the old
> > tree. In general, it seems that moving repositories is a bad idea if
> > they've ever been a submodule.
>
> Basically, yes. But the location can be tuned locally (in the config file),
> so after a really long grace period it is still "safe" to move a submodule:
> Anyone who has some incentive to checkout a really old version can fix the
> location.
That doesn't help checking out KDE 1 or 2. Granted, you probably cannot even
build them anymore with a recent C++ compiler, but it's nice to be able to
get the exact release.
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/kde-scm-interest/attachments/20071105/c44ca985/attachment.pgp
More information about the Kde-scm-interest
mailing list