About IBranchingVC...

Matthew Woehlke mw_triad at users.sourceforge.net
Thu May 17 19:24:26 UTC 2007


How exactly is branch() supposed to work? In perforce, a "tag" (label) 
requires the source files to be checked out, while a branch() requires 
the destination to be in the view (branch() == copy() except somewhat 
more sophisticated). Also there is a "branch" object that would 
(should?) be created in this case. Also labels in perforce need a name 
(no surprise here).

In svn AFAIK both branch() and tag() are synonyms for copy(). I don't 
know how things work in CVS.

Options:
- move branch() to IRepositoryVC and drop tag()
- perforce doesn't implement IBranchingVC
- clarify what branch() and tag() do in a way that is favorable to a 
perforce implementation
- drop IBranchingVC altogether; plugins will expose the VCS's native flavor
- something else?

In any case, "branches" can still be done using copy() from IBasicVC for 
the generic case, otherwise plugins are expected to expose the VCS's 
native flavor of this.

NOTE: Shouldn't copy(), etc in IRepositoryVC take lists?

-- 
Matthew
/bin/sh -- still Bourne on Solaris (and still not POSIX compliant)





More information about the KDevelop-devel mailing list