From befea66cf05a6e4b76eb50531678091cdfe66ab1 Mon Sep 17 00:00:00 2001
From: Daniel Grunwald The assemblyInfo.cs files are updated by the tool
"UpdateAssemblyInfo". UpdateAssemblyInfo
runs as pre-compile target and always sets the number in GlobalAssemblyInfo.cs
-to the subversion revision number. That number is displayed
+to the number of commits since a hard-coded start commit (
-The revision number is retrieved by running a function in NSvn.Core.dll equivalent to "svn info"
-in the "src" folder.
-When this doesn't work (e.g. in an exported tree like the source code download on the build server), the
-content of the file src/REVISION is used as revision number.
+The revision number is retrieved by running "git rev-list" and counting the number of output lines.
+When this doesn't work (e.g. in an exported tree like the source code download on the build server; or git not present in PATH),
+the content of the file src/REVISION is used as revision number.
When even this fails, the revision '0' is used.
const string BaseCommit
). That number is displayed
in the splash screen, error dialog and about dialog.
It is also used as assembly version.
Publisher Policy
@@ -39,7 +38,7 @@ would want to reference.
The binding redirects always redirect requests of a version in the range
from some past version containing large breaking changes to the current version.
-We will not do such changes anymore after the first release candidate of a SharpDevelop version,
+We try to avoid such changes after the first release candidate of a SharpDevelop version,
so after the release of SharpDevelop x.y RC1, all future SharpDevelop x.y.*.* versions will be
in large parts binary compatible.
@@ -51,5 +50,17 @@ compile it against the oldest SharpDevelop version you want your AddIn to run wi
An AddIn compiled against 2.1.0.1800 will run with 2.1.0.1801 (and hopefully even with 2.1.23.45678),
but an AddIn compiled against 2.1.0.1801 will fail to load in SharpDevelop 2.1.0.1800.
+Additionally, your AddIn should include a <Dependency>
in its
+.addin file to indicate which SharpDevelop version it is intended for.
+This way, users trying to install the AddIn in an incompatible SharpDevelop version will be warned about the
+incompatibility, instead of getting an obscure error message.
+
+ <Manifest> + <Identity name = "YourAddInName"/> + <Dependency addin="SharpDevelop" version="5.0"/> + </Manifest> +