[RFC] Workingstyle of different VCS systems

Matthew Woehlke mw_triad at users.sourceforge.net
Thu Apr 5 21:00:49 UTC 2007


Andreas Pakulat wrote:
> On 05.04.07 15:01:58, Matthew Woehlke wrote:
>> Andreas Pakulat wrote:
>>> On 05.04.07 13:04:43, Matthew Woehlke wrote:
>>>> Hmm... ok, I guess it's similar. I don't know how aegis works, so... :-)
>>> See the archive of last month, Kuba Ober tried to explain it to me.
>> I know, I've been reading, but I didn't understand it either. :-)
> 
> Good :) I already thought I'm stupid. Although I have to admit that I
> don't completely understand the "workflow" in perforce either :)

Eh, perforce is easy. :-) It's almost exactly like svn except you have 
to 'p4 edit' before you can edit. And you have clients to map files from 
the repo to your workspace instead of what amounts to a symlink to the 
repo (i.e. you get exactly the entire tree, no more no less), but that 
doesn't really change the workflow, just makes it easier (possibly? ;-)) 
to be selective about what you pull down.

aegis I don't get, from what I read it sounds like the files are on your 
*drive* in strange places, and there was something about all sorts of 
weird stuff you have to do with symlinks and... I admit I didn't read it 
*real* closely but it sounded really strange. :-)

>>> Hmm, I'm not sure we can intercept it (I haven't looked at the
>>> kate-integration).
>> Offhand I would guess you can't, but IMO that's OK.
> 
> Well, now is the time to ask kate-devs to get this...

We really need it in KTextEditor though, don't we? I'm happy to ask if 
you think it's worthwhile. Or is KDevelop4 dropping KTextEditor support?

>> Hmm... ok, then maybe what I am thinking of as "tagging" is not what you 
>> are thinking of as "tagging". It sounds like you are thinking of what I 
>> call "branching".
> 
> Well, I'm spoiled by svn, because I never did this particular thing in
> CVS. Unless I'm totally mistaken in CVS if you tag something its the
> same as "giving a specific revision in a specific branch a name". 

Yes, that sounds like perforce's "labels". I'm unconvinced of the 
importance of trying to support that directly in KDevelop (I'm not 
arguing against it, really, I'm just unconvinced).

> In SVN however there are no such "special names", normally you use a 
> structure like this:
> 
> project/trunk
> project/branches
> project/tags
> 
> trunk is self-explanatory, branches is for working branches as well as
> stable releases, i.e. we have branches/KDE/3.5 for KDE 3.5. Now if you
> do a release you do that from branches/KDE/3.5 at a time where you think
> its ready for a .x release. You do this by copying branches/KDE/3.5 to
> tags/KDE/3.5.1 (for x=1), thats it. Now you can always access KDE 3.5.1
> at tags/KDE/3.5.1. Which was created from revision 564234 (whatever it
> was exactly) of branches/KDE/3.5.

...and it's just "principle" that /tags/... is read only? I.e. it's 
semantically special, but otherwise it's just another spot in the repo, 
yes? If I am understanding you, this is just a "branch" with a "special" 
target.

> So I think you agree we are talking about the same thing, just that I'm
> used to copying-to-tag and it seems perforce does a tag==special-name
> for a revision. 

Um... as in how it's used, I guess we are, but as I understand "tagging" 
in svn is the same as "branching", whereas in perforce (and cvs? I have 
almost zero experience with cvs...) it is something different.

Would svn have separate interfaces for "branch" and "tag", even though 
they do the same thing under the covers? Other VCS back ends would need 
them to be separate.

-- 
Matthew
<insert bad pun... on second thought, better not>





More information about the KDevelop-devel mailing list