[RFC] Workingstyle of different VCS systems
Matthew Woehlke
mw_triad at users.sourceforge.net
Wed Apr 11 15:15:48 UTC 2007
(Apologies if this shows up more than once; it seems gmane has been
"greylisted".)
Andreas Pakulat wrote:
> On 10.04.07 10:25:13, Matthew Woehlke wrote:
> However I already thought about having a ISCMParameter, the problem here
> is: What methods would it have? How can a script create an ISCMParameter
> for a given vcs plugin?
Was that not answered in my previous e-mail (quoted below)? Although as
you pointed out, I seem to have defined things in such a way that we
*can* define what an "ISCMParameter" is in a generic way that doesn't
need to be a black box.
>> I assume the point of all this is to be able to script a checkout or
>> branch without user interaction? I still think I would use a VCS-defined
>> object to represent a checkout or branch; it simplifies the interface.
>> There should be a factory method to create a placeholder object from an
>> identifier (i.e. the name, above). Then there should be a method to add
>> a mapping, with an option to make it recursive or not (in perforce, the
>> difference is '//URL/path/*' vs. '//URL/path/...', so this would be svn
>> compatible) and an option to specify an exclusion. This method is
>> allowed to fail if any mapping already exists*, and/or if you request an
>> excluding (rather than including) mapping.
>
> I like this idea, so for svn I'd create just 1 mapping having the
> repo-url and the local path.
Right... except, why just one? :-) Certainly I would assume branching
can handle many (you might have to do them one at a time, but that's a
back-end detail), and you can check out several things, again one at a
time. Doesn't svn even figure out how to correctly do an update when you
do this? (e.g. the admin directory we have in 3.x?) Or am I imagining that?
> So whats difference between an additional class and having a QMap+Flag
> (for the recursion thing, or anything the plugin wants to provide as
> flags)?
You mean that each item in the QMap has a flag, yes? :-) Hmm... maybe
that works, although I don't see why you wouldn't just use a list.
Anyway, this should I think be fine for both perforce and svn, at least.
What about other VCS's?
--
Matthew
Not to be used as a flotation device.
More information about the KDevelop-devel
mailing list