Author: lluis
Date: 2007-10-18 12:38:30 -0400 (Thu, 18 Oct 2007)
New Revision: 87766
Modified:
trunk/monodevelop/Extras/VersionControl/ChangeLog
trunk/monodevelop/Extras/VersionControl/MonoDevelop.VersionControl.Subversion/Makefile.am
trunk/monodevelop/Extras/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion.mdp
trunk/monodevelop/Extras/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion/LibApr.cs
trunk/monodevelop/Extras/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion/SvnClient.cs
Log:
* MonoDevelop.VersionControl.Subversion/Makefile.am,
MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion.mdp:
Added reference to System.
*
MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion/LibApr.cs,
MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion/SvnClient.cs:
libsvn_client may be linked to libapr-0 or libapr-1, and we need to
bind the LibApr class the the same library. Added code that detects
the required libapr version and loads it. Fixes bug #325391.
Modified: trunk/monodevelop/Extras/VersionControl/ChangeLog
===================================================================
--- trunk/monodevelop/Extras/VersionControl/ChangeLog 2007-10-18 16:38:12 UTC
(rev 87765)
+++ trunk/monodevelop/Extras/VersionControl/ChangeLog 2007-10-18 16:38:30 UTC
(rev 87766)
@@ -1,5 +1,16 @@
2007-10-18 Lluis Sanchez Gual <[EMAIL PROTECTED]>
+ * MonoDevelop.VersionControl.Subversion/Makefile.am,
+
MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion.mdp:
+ Added reference to System.
+ *
MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion/LibApr.cs,
+
MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion/SvnClient.cs:
+ libsvn_client may be linked to libapr-0 or libapr-1, and we need to
bind
+ the LibApr class the the same library. Added code that detects the
+ required libapr version and loads it. Fixes bug #325391.
+
+2007-10-18 Lluis Sanchez Gual <[EMAIL PROTECTED]>
+
* Diff/Diff.mdp, DiffWidget/DiffWidget.mdp,
MonoDevelop.VersionControl.Subversion/gtk-gui/gui.stetic,
MonoDevelop.VersionControl.Subversion/gtk-gui/MonoDevelop.VersionControl.Subversion.Gui.SslServerTrustDialog.cs,
Modified:
trunk/monodevelop/Extras/VersionControl/MonoDevelop.VersionControl.Subversion/Makefile.am
===================================================================
---
trunk/monodevelop/Extras/VersionControl/MonoDevelop.VersionControl.Subversion/Makefile.am
2007-10-18 16:38:12 UTC (rev 87765)
+++
trunk/monodevelop/Extras/VersionControl/MonoDevelop.VersionControl.Subversion/Makefile.am
2007-10-18 16:38:30 UTC (rev 87766)
@@ -9,7 +9,8 @@
-r:$(top_builddir)/build/bin/MonoDevelop.Components.dll \
-r:$(top_builddir)/build/bin/MonoDevelop.Core.dll \
-r:$(top_builddir)/build/bin/MonoDevelop.Projects.dll \
- -r:Mono.Posix
+ -r:Mono.Posix \
+ -r:System
FILES = \
gtk-gui/generated.cs \
Modified:
trunk/monodevelop/Extras/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion/LibApr.cs
===================================================================
---
trunk/monodevelop/Extras/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion/LibApr.cs
2007-10-18 16:38:12 UTC (rev 87765)
+++
trunk/monodevelop/Extras/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion/LibApr.cs
2007-10-18 16:38:30 UTC (rev 87766)
@@ -11,8 +11,13 @@
public static readonly int APR_CREATE = 4;
public static readonly int APR_TRUNCATE = 16;
- public static LibApr GetLib ()
+ public static LibApr GetLib (int ver)
{
+ if (ver == 0)
+ return new LibApr0 ();
+ else if (ver == 1)
+ return new LibApr1 ();
+
try {
return new LibApr0 ();
} catch {}
Modified:
trunk/monodevelop/Extras/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion/SvnClient.cs
===================================================================
---
trunk/monodevelop/Extras/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion/SvnClient.cs
2007-10-18 16:38:12 UTC (rev 87765)
+++
trunk/monodevelop/Extras/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion/SvnClient.cs
2007-10-18 16:38:30 UTC (rev 87766)
@@ -26,10 +26,35 @@
static SvnClient()
{
- apr = LibApr.GetLib ();
+ // Detect the libapr version required by libsvn_client.
We need to bind to the same library.
+ int aprver = GetLoadAprLib (-1);
svn = LibSvnClient.GetLib ();
+ aprver = GetLoadAprLib (aprver);
+ if (aprver != -1)
+ Runtime.LoggingService.Info ("Subversion
add-in: detected libapr-" + aprver);
+ apr = LibApr.GetLib (aprver);
}
+ static int GetLoadAprLib (int oldVersion)
+ {
+ // Get the version of the loaded libapr
+ string file = "/proc/" +
System.Diagnostics.Process.GetCurrentProcess ().Id + "/maps";
+ try {
+ int newv = oldVersion;
+ if (File.Exists (file)) {
+ string txt = File.ReadAllText (file);
+ if (txt.IndexOf ("libapr-0") != -1 &&
oldVersion != 0)
+ newv = 0;
+ if (txt.IndexOf ("libapr-1") != -1 &&
oldVersion != 1)
+ newv = 1;
+ }
+ return newv;
+ } catch {
+ // Ignore
+ return oldVersion;
+ }
+ }
+
private static IntPtr newpool (IntPtr parent)
{
IntPtr p;
Modified:
trunk/monodevelop/Extras/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion.mdp
===================================================================
---
trunk/monodevelop/Extras/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion.mdp
2007-10-18 16:38:12 UTC (rev 87765)
+++
trunk/monodevelop/Extras/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion.mdp
2007-10-18 16:38:30 UTC (rev 87766)
@@ -4,7 +4,7 @@
<Output directory="../../../build/AddIns/VersionControl"
assembly="MonoDevelop.VersionControl.Subversion" />
<Build debugmode="True" target="Library" />
<Execution runwithwarnings="True" consolepause="True" runtime="MsNet"
clr-version="Net_2_0" />
- <CodeGeneration compiler="Csc" warninglevel="4" optimize="False"
unsafecodeallowed="True" generateoverflowchecks="True" mainclass=""
generatexmldocumentation="False" win32Icon="./"
ctype="CSharpCompilerParameters" />
+ <CodeGeneration compiler="Csc" warninglevel="3" optimize="False"
unsafecodeallowed="True" generateoverflowchecks="True" mainclass=""
generatexmldocumentation="False" win32Icon="." ctype="CSharpCompilerParameters"
/>
</Configuration>
<Configuration name="Release" ctype="DotNetProjectConfiguration">
<Output directory="../../../build/AddIns/VersionControl"
assembly="MonoDevelop.VersionControl.Subversion" />
@@ -14,24 +14,24 @@
</Configuration>
</Configurations>
<Contents>
- <File name="./gtk-gui/generated.cs" subtype="Code" buildaction="Compile" />
- <File
name="./MonoDevelop.VersionControl.Subversion/SubversionRepository.cs"
subtype="Code" buildaction="Compile" />
- <File
name="./MonoDevelop.VersionControl.Subversion/SubversionVersionControl.cs"
subtype="Code" buildaction="Compile" />
- <File name="./MonoDevelop.VersionControl.Subversion/SvnClient.cs"
subtype="Code" buildaction="Compile" />
- <File name="./MonoDevelop.VersionControl.Subversion/LibApr.cs"
subtype="Code" buildaction="Compile" />
- <File name="./Makefile.am" subtype="Code" buildaction="Nothing" />
- <File name="./MonoDevelop.VersionControl.Subversion.addin.xml"
subtype="Code" buildaction="EmbedAsResource" />
- <File name="./gtk-gui/objects.xml" subtype="Code"
buildaction="EmbedAsResource" />
- <File name="./gtk-gui/gui.stetic" subtype="Code"
buildaction="EmbedAsResource" />
- <File
name="./MonoDevelop.VersionControl.Subversion.Gui/ClientCertificateDialog.cs"
subtype="Code" buildaction="Compile" />
- <File
name="./MonoDevelop.VersionControl.Subversion.Gui/ClientCertificatePasswordDialog.cs"
subtype="Code" buildaction="Compile" />
- <File
name="./MonoDevelop.VersionControl.Subversion.Gui/SslServerTrustDialog.cs"
subtype="Code" buildaction="Compile" />
- <File
name="./MonoDevelop.VersionControl.Subversion.Gui/UserPasswordDialog.cs"
subtype="Code" buildaction="Compile" />
- <File
name="./gtk-gui/MonoDevelop.VersionControl.Subversion.Gui.ClientCertificateDialog.cs"
subtype="Code" buildaction="Compile" />
- <File
name="./gtk-gui/MonoDevelop.VersionControl.Subversion.Gui.ClientCertificatePasswordDialog.cs"
subtype="Code" buildaction="Compile" />
- <File
name="./gtk-gui/MonoDevelop.VersionControl.Subversion.Gui.SslServerTrustDialog.cs"
subtype="Code" buildaction="Compile" />
- <File
name="./gtk-gui/MonoDevelop.VersionControl.Subversion.Gui.UserPasswordDialog.cs"
subtype="Code" buildaction="Compile" />
- <File name="./MonoDevelop.VersionControl.Subversion/LibSvnClient.cs"
subtype="Code" buildaction="Compile" />
+ <File name="gtk-gui/generated.cs" subtype="Code" buildaction="Compile" />
+ <File name="MonoDevelop.VersionControl.Subversion/SubversionRepository.cs"
subtype="Code" buildaction="Compile" />
+ <File
name="MonoDevelop.VersionControl.Subversion/SubversionVersionControl.cs"
subtype="Code" buildaction="Compile" />
+ <File name="MonoDevelop.VersionControl.Subversion/SvnClient.cs"
subtype="Code" buildaction="Compile" />
+ <File name="MonoDevelop.VersionControl.Subversion/LibApr.cs"
subtype="Code" buildaction="Compile" />
+ <File name="Makefile.am" subtype="Code" buildaction="Nothing" />
+ <File name="MonoDevelop.VersionControl.Subversion.addin.xml"
subtype="Code" buildaction="EmbedAsResource" />
+ <File name="gtk-gui/objects.xml" subtype="Code"
buildaction="EmbedAsResource" />
+ <File name="gtk-gui/gui.stetic" subtype="Code"
buildaction="EmbedAsResource" />
+ <File
name="MonoDevelop.VersionControl.Subversion.Gui/ClientCertificateDialog.cs"
subtype="Code" buildaction="Compile" />
+ <File
name="MonoDevelop.VersionControl.Subversion.Gui/ClientCertificatePasswordDialog.cs"
subtype="Code" buildaction="Compile" />
+ <File
name="MonoDevelop.VersionControl.Subversion.Gui/SslServerTrustDialog.cs"
subtype="Code" buildaction="Compile" />
+ <File
name="MonoDevelop.VersionControl.Subversion.Gui/UserPasswordDialog.cs"
subtype="Code" buildaction="Compile" />
+ <File
name="gtk-gui/MonoDevelop.VersionControl.Subversion.Gui.ClientCertificateDialog.cs"
subtype="Code" buildaction="Compile" />
+ <File
name="gtk-gui/MonoDevelop.VersionControl.Subversion.Gui.ClientCertificatePasswordDialog.cs"
subtype="Code" buildaction="Compile" />
+ <File
name="gtk-gui/MonoDevelop.VersionControl.Subversion.Gui.SslServerTrustDialog.cs"
subtype="Code" buildaction="Compile" />
+ <File
name="gtk-gui/MonoDevelop.VersionControl.Subversion.Gui.UserPasswordDialog.cs"
subtype="Code" buildaction="Compile" />
+ <File name="MonoDevelop.VersionControl.Subversion/LibSvnClient.cs"
subtype="Code" buildaction="Compile" />
</Contents>
<References>
<ProjectReference type="Project" localcopy="False"
refto="MonoDevelop.Core" />
@@ -44,6 +44,7 @@
<ProjectReference type="Gac" localcopy="True" refto="atk-sharp,
Version=2.8.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
<ProjectReference type="Gac" localcopy="True" refto="gdk-sharp,
Version=2.8.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
<ProjectReference type="Gac" localcopy="True" refto="gtk-sharp,
Version=2.8.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+ <ProjectReference type="Gac" localcopy="True" refto="System,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</References>
<MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="True"
RelativeMakefileName="./Makefile.am" BuildTargetName="" CleanTargetName=""
SyncReferences="True" IsAutotoolsProject="True"
RelativeConfigureInPath="../../../">
<BuildFilesVar Sync="True" Name="FILES" />
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches