[RFC] Workingstyle of different VCS systems

Matthew Woehlke mw_triad at users.sourceforge.net
Thu Apr 12 16:12:25 UTC 2007


Kuba Ober wrote:
> On Tuesday 10 April 2007, Andreas Pakulat wrote:
>> On 10.04.07 06:24:31, Kuba Ober wrote:
>>> On Thursday 05 April 2007, Andreas Pakulat wrote:
>>>> merge - merges differences between 2 sources into the local file
>>> How is that different from update??
>> update doesn't allow to pull changes from another branch. It only
>> fetches updates made in this branch.
> 
> Well, it's pretty easy, then: cross branch merges can be done by hand, but you 
> have to explicitly specify what branch you want to merge with. So for merge 
> you'd have to tell it what branch to merge with. Update would do what 
> aegis -merge does, then, as aegis -merge only considers upstream.

A merge /always/ needs three pieces of information' source original, 
source final, and destination. Usually the first two are revisions of a 
file, and the third is the same file in a different branch. Often you 
derive this information from a range of revisions and a branch mapping 
(e.g. '/branches/KDE/3.5/...' -> '/trunk/KDE/...').

I think this is another case of VCS's not using the terminology 
consistently. IIUC what aegis calls "merge", we are calling "commit". A 
"merge" (in our 'standardized' terminology) says "extract a change from 
the repo and apply it to my working copy". See also the previous 
discussion on this elsewhere in this thread.

Anyway I think what you are saying is that this is supported by aegis.

I'm increasingly convinced that we are going to need a document 
explaining what these standardized actions are, or users are going to be 
confused. The alternative would be to let each VCS assign a "familiar" 
name to the actions while using a standardized API, but I think I would 
prefer the former option.

-- 
Matthew
GDRLaH - Grin, Duck, and Run Like a Hippo! :-)





More information about the KDevelop-devel mailing list