Hi all,
I have built a Dynare package out of the 4.0 branch, for Windows (32 bits). I numbered it version 4.0rc1 (for "release candidate 1").
It is available from: http://www.dynare.org/windows/dynare-4.0rc1-win32.exe
This file is an auto-extractible executable, which will install Dynare through a setup wizard. The default installation path is c:\dynare \4.0rc1 The package contains: * the M-files * the preprocessor * the DLLs compiled for Matlab <= 7.4, Matlab >= 7.5, and Octave * several documentation files (including the userguide and the manual in PDF and HTML versions) * an uninstaller
Note that the installer will add an entry in the start menu.
Please test this file extensively so that we can release 4.0.0 soon. I will provide Debian/Ubuntu packages for 4.0rc1 soon.
Best
Sébastien
Le jeudi 04 septembre 2008 à 10:01 +0200, Sébastien Villemot a écrit :
Hi all,
This is great news!
Just a few more explanations: Under subversion, branching and tagging consist simply of copying source directories. In other words, branches/4.0 contains a copy of dynare_v4 as of September 3rd.
The idea is that we now only fix bugs in the 4.0 branch, without adding new features or making structural changes. This should help us in creating stable code, without the temporary breakups induced by new features.
When we think that the 4.0 branch is ready for release, we will tag the 4.0.0 version, by copying branches/4.0 in tags/4.0.0. The directories in tags/ are meant to be never modified, and contain the versions that we release to the public. If we discover more bugs in the 4.0 branch, we will fix them in branches/4.0 and later create tags/4.0.1, tags/4.0.2, ... using the same process.
In the meantime, we add new features to the trunk, i.e. the dynare_v4/ directory (maybe we should rename it to trunk/ later). This trunk will later be branched in branches/4.1, out of which we will create tags/4.1.0, tags/4.1.1, ...
The tricky point is that now we have two separate copies of dynare, which share a lot of code, and probably a lot of bugs! So when we discover a bug which is present in both versions, we need to commit the bugfix in the two directories. Usually the bugfix is only committed in one of the two, and somebody has to apply the fix to the other one: this is called "merging" the changes. I will do this job.
So when you discover a bug, you only need to fix it in either dynare_v4/ or branches/4.0. I will merge it into the other directory if it is also present there. NOTE: if you fix bugs in dynare_v4/, please only put the bugfix in your commit, without any new feature of structural change. Put these in a separate commit. This will greatly facilitate the merging process.
Concerning release numbers: the version number is stored at three different places:
- matlab/dynare_version.m
- windows/dynare.nsi
- debian/changelog
Please check that these three are up to date before tagging a release.
Best
Sébastien
"Michel Juillard" michel.juillard@ens.fr a écrit :
Hi everybody,
on SVN, I have created branches/4.0 to freeze version 4.0.0 Most changes necessary to release version 4.0.0 have been done. There are a few keywords/options that need to be added to the preprocessor and more tests need to be done. Please keep adding new features to the trunk (don't change anything to your SVN setup). If you want to test version 4.0.0, please check out branches/4.0 in a separate working directory, then commit only bug corrections from this working directory.
Best,
Michel
-------- Original Message -------- Subject: Re: SVN Date: Tue, 08 Jul 2008 17:40:56 +0200 From: Sébastien Villemot sebastien.villemot@ens.fr To: stephane.adjemian@ens.fr CC: Michel Juillard michel.juillard@ens.fr, George Perendia artilogica@btconnect.com References: 487370EC.4010500@ens.fr 200807081638.05166.stephane.adjemian@ens.fr 20080708165802.17365ydzqi1sg8sg@www.zelya.net 200807081712.03561.stephane.adjemian@ens.fr
Here is the timeline:
- we finish Dynare 4.0.0 in the trunk (dynare_v4/)
- when we're done, we copy dynare_v4/ to branches/4.0 and tags/4.0.0
- we fix bugs in branches/4.0, creating new releases when we feel the
need (creating a release involves copying branches/4.0 to tags/4.0.x where x is the minor release number)
- meanwhile, we add new features or restructure the code in the trunk
(dynare_v4/). Also note that many bug fixes done on the 4.0 branch will also apply to the trunk
- when we think we can make a new major release (for example when
we've completed September 30 goals), we release 4.1.0 by copying dynare_v4/ to branches/4.1 and tags/4.1.0
- we continue the parallel development of the trunk, the 4.1 branch,
and maybe the 4.0 branch (or we can decide to drop the 4.0 branch at that point)
Sébastien
"Stéphane Adjemian" stephane.adjemian@ens.fr a écrit :
So we use branches/4.0 to fix the bugs and use dynare_v4 to develop dynare. Am I right ? But what is the purpose of branches/4.1 (before the release of dynare 4.1.0) ?
Stéphane.
Le Tuesday 08 July 2008 16:58:02, vous avez écrit :
Under our current tree layout:
- dynare_v4/ is the trunk
- branches/ is for branches (for example branches/4.0/ or branches/4.1/)
- tags/ is for releases (tags/4.0.0, tags/4.0.1, ...)
Sébastien
"Stéphane Adjemian" stephane.adjemian@ens.fr a écrit :
I also agree with Sébastien suggestion (if the trunk is the current dynare_v4 directory under svn).
Stéphane.
Le Tuesday 08 July 2008 16:29:36 G. Perendia, vous avez écrit :
I support Sebastian's suggestion which, as he pointed out, is in line with the SW industry standard practices. We may also have the "traditional" "alpha" and "beta" releases (but that is just a matter of naming the X.0.0 and X.0.1 releases respectively).
Best regards
George Mob. +44(0)7951415480 artilogica@btconnect.com
----- Original Message ----- From: "Sébastien Villemot" sebastien.villemot@ens.fr To: "Michel Juillard" michel.juillard@ens.fr Cc: "George Perendia" artilogica@btconnect.com; "StéphaneAdjemian" stephane.adjemian@gmail.com Sent: Tuesday, July 08, 2008 3:12 PM Subject: Re: SVN
Concerning Dynare release schedule, one option would be the following:
- finish Dynare 4.0, and release version 4.0.0
- create a 4.0 branch in the SVN, used only for bugfixes; in other
words, versions 4.0.1, 4.0.2... would only incoporate bug fixes since 4.0.0, but no new feature nor code restructuring
- add new features or code restructurings in the trunk; the trunk will
later become the 4.1 branch (maybe for the September 30 deadline)
- and so on at each major release/deadline...
This model of development is used in many softwares. Its main interest is that it produces very stable software at the end of a development branch, since no new feature can destabilize the code along a branch. On the other hand, it involves some overhead related to the simultaneous management of a branch and a trunk (a bugfix needs often to be applied to both).
Do you think it is a sensible development model for Dynare?
Best
Sébastien
"Michel Juillard" michel.juillard@ens.fr a écrit : > I have added 'george' as username authorized to commit on the SVN > archive. The password is as mentioned at the Summer School. > George will also get the email messages after each commit. > > Stephane, I checked that these messages go for you at > stephane.adjemian@ens.fr. Is it what you want? > > best > > Michel
Dev mailing list Dev@dynare.org http://www.dynare.org/cgi-bin/mailman/listinfo/dev
Dev mailing list Dev@dynare.org http://www.dynare.org/cgi-bin/mailman/listinfo/dev