On Wed, 24 Nov 2010 11:06:15 +0100, Mattias Gaertner <[email protected]> wrote:
>On Wed, 24 Nov 2010 09:30:01 +0100 >Bo Berglund <[email protected]> wrote: > >> On Tue, 23 Nov 2010 23:57:11 +0100, Mattias Gaertner >> <[email protected]> wrote: >> >> >On Tue, 23 Nov 2010 20:03:26 +0100 >> >Bo Berglund <[email protected]> wrote: >> >> Why is one Lazarus using a relative path and the other an absolute >> >> path? >> > >> >0.9.29 uses relative paths for packages in the Lazarus source >> >directory. When a new Lazarus is installed under a different path >> >(e.g. the path contains the Lazarus version) all new packages are used >> >automatically. >> >> Makes sense to use relative paths to make the environment portable. >> But if Lazarus only uses relative paths for packages below the lazarus >> top folder and not for other packages, it might impact portability and >> co-operation unless all involved developers put the packages below >> lazarus. > >Your config files are not ported. They belong to your machine. > > >> Is it possible to use an environment variable as the top locator? Like >> for example: >> {$PROJECTPACKAGES}\Mypackage\mypackagelaz.lpk > >That would only make sense if PROJECTPACKAGES would change from time >to time. > I am trying to get my head around this concept... Currently we work in Delphi. Say that we develop a number of different programs. These programs have sourcefiles that are private to each. But they also use common sources in various degrees. We check out each project via CVS using modules definitions. This way we get all needed sources including common ones into the project folder in different subfolders. The Delphi project file has search paths (relative) to these. Now we can develop our program on differet workstations and check out the same program sources several times if need be and all will work. We also can make a change to common code that will not (yet) impact any others using the same common code in another project. At regulat intervals we tag from the top folder and after this we can work onwards. Using the CVS tags we can later return to exactly this place in time for all of our files so we can reproduce a bug. One of our big headaches in this scenario has been the custom components that we (unwisely) created and installed in Delphi, because the IDE could very well pick up code from the IDE tree rather than the checked out code, which we want to keep very tight reigns on. Now, the description on how packages work in lazarus leads me to believe that any given package can only exist in one single copy and this location is not inside the project code space. So if we want to return later to a version that was tagged in order to solve a bug we cannot get everything back to that state because we will still use newer packages than those active at the time the bug was created. Not good at all... By having an environment variable one could in principle set that to point to a new place when starting work on a particular project and reset it afterwards.... -- Bo Berglund Developer in Sweden -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
