[KDev4] vcs integration - KUrl of a file is not enough to know the file's project!
Kuba Ober
kuba at mareimbrium.org
Tue Apr 10 10:09:45 UTC 2007
On Thursday 05 April 2007, Branan Riley wrote:
> Let me make sure I've got this:
> * Aegis requires all changes to be made in a change-set of sorts
Yes, there's no other way. The only way for you to access files that are not
part of your change is to mount the repository via nfs/samba/openafs. In any
case, aegis clients access its database via the filesystem and use ordinary
unix access control mechanisms and file locking, so the model is a bit
different from say cvs or svn.
Distributed development is supported by every developer having their own local
repo, and emailing changesets around (this can be automated on any repo,
including a one designated as "central").
This model is necessary as object files (potentially for builds with multiple
compilers, multiple compile options and for multiple architectures) have to
be visible as well. If you start a new change, an aegis -build is meant to be
a no-op -- you have an executable to play with immediately.
> * You can't make changes in a base area
Yes, it's read-only.
> Listing which files are part of a project is part of the project
> plugin, right? So why not just let the aegis plugin do something like
> this for that list:
>
> [root]
>
> |--Trunk
> |
> | |--File 1
> |
> | `--File 2
>
> `--Change Set
>
> |--File 1
>
> `--File 2
>
> Another thing with this is that you could have a little popup upon
> opening a file in Trunk asking if you want to open it read-only or
> create a new change set. You can of course also do it all from the
> contex menu (which I hope is accessible to plugins?)
That'd be the minimal functionality. It'd be even better if one could
intercept the Save action of the editor and offer to take the file into the
change first, and essentially do a Save as.
0. The change is in ~/fooproject.1.2.C010
1. Open /usr/com/aegis/fooproject/branch.1/branch.2/baseline/myfile.c (it's
readonly)
2. Choose "Save"
3. Pop-up appears, choose "add file to the change"
4. Automagically, two things happen:
I. aegis -copy myfile.c
II. Save-as ~/fooproject.1.2.C010/myfile.c
Cheers, Kuba
More information about the KDevelop-devel
mailing list