[os-infrastructure] Model discussion boiled down
Joe Abbate
joseph.abbate at ingres.com
Thu Jun 26 08:36:30 PDT 2008
Hi J,
Jay Hankinson wrote:
> I'm have to admit, I'm a little surprised this particular conversation
> is happening at all. We have huge job ahead to us to try build a
> community around Ingres and OpenROAD without forcing outside users to
> learn a completely new source code management system to do so. Having
> been piccolo development and support for the passed 7 years or so I
> can say without any hesitance, the biggest single issue I see from new
> users (and current for that matter) is grasping the concept of map
> files and subscription lists. It might work well in the well defined
> (and usually pre-setup) confines of our build environments but how
> many people on this list could setup a piccolo build environment from
> scratch? Even with all the critisim leveled at SVN (and I'm not a huge
> fan of it myself), I would hazard a guess there are more of you that
> could get going on subversion than piccolo. In my opinion it is just
> plain not suited for use in the environment we are trying to grow.
> Subversion may not the answer, but neither is piccolo.
That's why I have argued, almost from the inception of the
client!subversion client.template, that we should simplify and get of
rid of all the mappings and fmappings, so the typical Piccolo map will
be almost a direct reflection of the source tree on the build area and
the client.map can then be something as simple as:
map ingres YOUR_CLIENT ingres!community!ingres!%1 YOUR_TRUNK/src/%1
map ingres YOUR_CLIENT ingres!community!ingres!%1!%2 YOUR_TRUNK/src/%1/%2
map ingres YOUR_CLIENT ingres!community!ingres!%1!%2!%3
YOUR_TRUNK/src/%1/%2/%3
map ingres YOUR_CLIENT ingres!community!ingres!%1!%2!%3!%4
YOUR_TRUNK/src/%1/%2/%3/%4
From what I've been reading, the OpenROAD client.map will still need to
be more complicated, but that's something that can be worked on, without
modifying Piccolo itself.
>
> However, in the interests of fair and open discussion (and that is
> really what we need to focus on) here is the beginnings of a list of
> things that would need to be addressed in piccolo before it would be
> suitable for community use. Fell free to add to it (or dispute it for
> that matter).
>
> J
>
> - Web client or at very least some sort of publicly readable access
> - Proper user authentication for committing, probably over ssl
> - Hooks into IDEs (at very least Eclipse and OpenRoad)
> - Hooks into a bugs tracking system (or you can add give bugs web
> access too)
Trac does have support for other RCSs, so I'm guessing it wouldn't be
too difficult to plug Piccolo in.
>
> - Make client stateless
This is probably the biggie. I would be interested in knowing if
Perforce has stateless clients.
> - The repository currently holds every version of every file on
> every client ever created (and not unsubscribed). For ad-hoc public
> downloads this clearly won't scale. The "have" table in the database
> is the main source of contention
A simple solution would be to allow "p get --readonly" (or "p fetch")
where Piccolo won't keep track of what you download. For commit access,
you would have to use the normal "p get" or we would need a "p
subscribe" option to let the server know about the intent to work on a
particular directory.
>
> - You currently need to be connected to the server to do anything.
> open, rcompare etc.
"Need to be connected" gives the impression that you need a permanent
continuous connection, which is not the case.
>
> - Generally improve performance and stability
> - Universal diff output
I would think this isn't that diff-icult since the clients can plug in
to the local diff command (DIFFERENCES on VMS) or request a -s for a
diff on the server.
Joe
More information about the opensource-infrastructure
mailing list