VCS Branch interface extension

Esben Mose Hansen kde at mosehansen.dk
Tue Jun 7 07:08:03 UTC 2011


On Monday 06 June 2011 23:58:11 Laszlo Papp wrote:
>     /**
>      * Switches to the desired branch inside the specified repository
>      *
>      * @param repository The repository path where the branch will be
> switched * @param branch The branch name that will be switched to inside
> the specified repostory
>      */
>     virtual VcsJob* switchBranch(const QString &repository, const
> QString &branch) = 0;

So, how would this work in the DVCS case? Would we simply checkout the desired 
branch, or is a local, tracking branch created if neccessary?

> 
>     /**
>      * Returns the branches inside the specified repository
>      *
>      * @param repository The repository path where the branches will
> be returned from
>      */
>     virtual VcsJob* branches(const QString &repository) = 0;

Again, will this list local only, remote+local or local + (those remote 
branches that are not already tracked)?

> 
>     /**
>      * Returns the current branch inside the specified repository
>      *
>      * @param repository The repository path where the current branch
> will be returned from
>      */
>     virtual VcsJob* currentBranch(const QString &repository) = 0;

Will this return null if there is no current branch?

> 
>     /**
>      * Deletes the desired branch inside the specified repository
>      *
>      * @param repository The repository path where the current branch
> will be deleted from
>      * @param branch The branch name that will be deleted inside the
> specified repository
>      */
>     virtual VcsJob* deleteBranch(const QString &repository, const
> QString &branch) = 0;

Can this handle the case where the branch hasn't been merged, and ask the user 
to confirm?

Finally, how about starting branches?

-- 
kind regards, Esben




More information about the KDevelop-devel mailing list