for the record vote cancel.
On 29 October 2013 17:20, Domi <[email protected]> wrote: > I was pointed to Matthias Sohn (jgit commiter) let's see if he has an idea, > before we do a release of this. > His first thought was the WindowCache.reconfigure() - but Robert already > fixed that. > /Domi > >> Am 28.10.2013 um 20:51 schrieb "Robert Scholte" <[email protected]>: >> >> @Kristian: Brilliant data! >> >> @Dennis: the statistics have changed[1]. I managed to fix it a bit, but as >> Kristian mentioned: some parts are out of reach and can't be closed by our >> code (let's avoid reflection!). >> >> I believe that in this case the Windows behavior is the preferred one: if >> you open a stream, you should close it too. >> Anyhow, we need a fix from JGit. >> >> Since the JGit is not yet part of the Maven SCM Standard Providers I think >> we are safe. >> Users need to explicitly add this provider if they want to use it. >> So a "non Windows compatible" warning on the website is fine by me. >> >> Robert >> >> [1] https://builds.apache.org/job/maven-scm-windows/ >> >> Op Mon, 28 Oct 2013 16:15:06 +0100 schreef Dennis Lundberg >> <[email protected]>: >> >>> Thanks a lot Kristian! >>> >>> Do I understand you correctly that the leak is in the jgit Checkout command? >>> If so, there are probably more leaks in there since 9 of our tests >>> fail, each testing a different command. Some tests do succeed though. >>> >>> So how do we proceed with this? >>> Submit patches for jgit? >>> Release maven-scm as is? If so we need to inform our users about the >>> current limitations. >>> >>> >>> I agree that Windows sometimes suck when it comes to handling files, >>> but this is a double-edged sword. It does help us find problems like >>> these, that might otherwise pop up in a Windows production environment >>> after we release. >>> >>> Also having failing tests for one platform isn't very likely to >>> attract new developers from that platform. Turning it into a >>> never-ending downward spiral. >>> >>> >>> On Mon, Oct 28, 2013 at 8:22 AM, Kristian Rosenvold >>> <[email protected]> wrote: >>>> Finding this kind of leaks with my graciously provided OSS license of >>>> YJP is like stealing candy from children >>>> >>>> export MAVEN_OPTS="-Xms512m -Xmx2084m -XX:MaxPermSize=512m >>>> -agentpath:C:/java/yjp-12.0.6/bin/win64/yjpagent.dll=onexit=snapshot" >>>> c:/java/apache-maven-3.1.1/bin/mvn $@ >>>> >>>> Run test with forkMode never. >>>> >>>> Click on the "inspections" tag, run all inspections. >>>> >>>> >>>> A quick run with jprofiler on the surefire fork reveals that the >>>> un-closed file is allocated here. This even works on linux :) >>>> >>>> Kristian >>>> >>>> >>>> >>>> java.io.RandomAccessFile.<init>(File, String) >>>> org.eclipse.jgit.internal.storage.file.PackFile.doOpen() >>>> org.eclipse.jgit.internal.storage.file.PackFile.beginWindowCache() >>>> org.eclipse.jgit.internal.storage.file.WindowCache.load(PackFile, long) >>>> org.eclipse.jgit.internal.storage.file.WindowCache.getOrLoad(PackFile, >>>> long) >>>> org.eclipse.jgit.internal.storage.file.WindowCache.get(PackFile, long) >>>> org.eclipse.jgit.internal.storage.file.WindowCursor.pin(PackFile, long) >>>> org.eclipse.jgit.internal.storage.file.WindowCursor.copy(PackFile, >>>> long, byte[], int, int) >>>> org.eclipse.jgit.internal.storage.file.PackFile.readFully(long, >>>> byte[], int, int, WindowCursor) >>>> org.eclipse.jgit.internal.storage.file.PackFile.load(WindowCursor, long) >>>> org.eclipse.jgit.internal.storage.file.PackFile.get(WindowCursor, >>>> AnyObjectId) >>>> org.eclipse.jgit.internal.storage.file.ObjectDirectory.openObject1(WindowCursor, >>>> AnyObjectId) >>>> org.eclipse.jgit.internal.storage.file.FileObjectDatabase.openObjectImpl1(WindowCursor, >>>> AnyObjectId) >>>> org.eclipse.jgit.internal.storage.file.FileObjectDatabase.openObject(WindowCursor, >>>> AnyObjectId) >>>> org.eclipse.jgit.internal.storage.file.WindowCursor.open(AnyObjectId, int) >>>> org.eclipse.jgit.lib.ObjectReader.open(AnyObjectId) >>>> org.eclipse.jgit.revwalk.RevWalk.parseAny(AnyObjectId) >>>> org.eclipse.jgit.revwalk.RevWalk.parseCommit(AnyObjectId) >>>> org.eclipse.jgit.api.CloneCommand.parseCommit(Repository, Ref) >>>> org.eclipse.jgit.api.CloneCommand.checkout(Repository, FetchResult) >>>> org.eclipse.jgit.api.CloneCommand.call() >>>> org.apache.maven.scm.provider.git.jgit.command.checkout.JGitCheckOutCommand.executeCheckOutCommand(ScmProviderRepository, >>>> ScmFileSet, ScmVersion, boolean) >>>> org.apache.maven.scm.command.checkout.AbstractCheckOutCommand.executeCommand(ScmProviderRepository, >>>> ScmFileSet, CommandParameters) >>>> org.apache.maven.scm.command.AbstractCommand.execute(ScmProviderRepository, >>>> ScmFileSet, CommandParameters) >>>> org.apache.maven.scm.provider.git.AbstractGitScmProvider.executeCommand(GitCommand, >>>> ScmProviderRepository, ScmFileSet, CommandParameters) >>>> org.apache.maven.scm.provider.git.AbstractGitScmProvider.checkout(ScmProviderRepository, >>>> ScmFileSet, CommandParameters) >>>> org.apache.maven.scm.provider.AbstractScmProvider.checkOut(ScmRepository, >>>> ScmFileSet, ScmVersion, boolean) >>>> org.apache.maven.scm.provider.AbstractScmProvider.checkOut(ScmRepository, >>>> ScmFileSet) >>>> org.apache.maven.scm.manager.AbstractScmManager.checkOut(ScmRepository, >>>> ScmFileSet) >>>> org.apache.maven.scm.tck.command.tag.TagCommandTckTest.testTagCommandTest() >>>> junit.framework.TestSuite.run(TestResult) >>>> org.junit.internal.runners.JUnit38ClassRunner.run(RunNotifier) >>>> org.apache.maven.surefire.junit4.JUnit4Provider.execute(Class, >>>> RunNotifier, String[]) >>>> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(Class, >>>> RunListener, RunNotifier) >>>> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(Object) >>>> java.lang.reflect.Method.invoke(Object, Object[]) >>>> org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(Object, >>>> Method, Object[]) >>>> org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(Object) >>>> org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(Object, >>>> ClassLoader, Object, ProviderConfiguration, boolean, >>>> StartupConfiguration, boolean) >>>> org.apache.maven.plugin.surefire.InPluginVMSurefireStarter.runSuitesInProcess(DefaultScanResult) >>>> org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(ProviderInfo, >>>> DefaultScanResult) >>>> org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(DefaultScanResult) >>>> org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute() >>>> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(MavenSession, >>>> MojoExecution) >>>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MavenSession, >>>> MojoExecution, ProjectIndex, DependencyContext) >>>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MavenSession, >>>> MojoExecution, ProjectIndex, DependencyContext, PhaseRecorder) >>>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MavenSession, >>>> List, ProjectIndex) >>>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(MavenSession, >>>> MavenSession, ReactorContext, MavenProject, TaskSegment) >>>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(MavenSession, >>>> ReactorContext, MavenProject, TaskSegment) >>>> org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(MavenSession, >>>> ReactorContext, ProjectBuildList, List, ReactorBuildStatus) >>>> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(MavenSession) >>>> org.apache.maven.DefaultMaven.doExecute(MavenExecutionRequest) >>>> org.apache.maven.DefaultMaven.execute(MavenExecutionRequest) >>>> org.apache.maven.cli.MavenCli.execute(MavenCli$CliRequest) >>>> org.apache.maven.cli.MavenCli.doMain(MavenCli$CliRequest) >>>> org.apache.maven.cli.MavenCli.main(String[], ClassWorld) >>>> java.lang.reflect.Method.invoke(Object, Object[]) >>>> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(String[]) >>>> org.codehaus.plexus.classworlds.launcher.Launcher.launch(String[]) >>>> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(String[]) >>>> org.codehaus.plexus.classworlds.launcher.Launcher.main(String[]) >>>> >>>> 2013/10/28 Olivier Lamy <[email protected]>: >>>>> Windauze one of the biggest pain of my life... >>>>> So few people trying to fix that (perso I don't have any windauze env). >>>>> And it looks no success. >>>>> >>>>> So what else now? Not releasing that until we get a fix from jgit. >>>>> AFAICS the issue is because after testing we try to delete the local >>>>> clone. >>>>> Is it really something blocker? I mean does our users delete their >>>>> local clone after doing a release or using scm api? >>>>> >>>>> >>>>> >>>>> >>>>>> On 26 October 2013 21:04, Robert Scholte <[email protected]> wrote: >>>>>> Hi Domi, >>>>>> >>>>>> I've given the tests another spin, but still with the same results. >>>>>> I found this thread: >>>>>> http://dev.eclipse.org/mhonarc/lists/jgit-dev/msg01959.html >>>>>> It seems to expose the same kind of problem. >>>>>> I've tried a couple of things, but still couldn't delete during the test. >>>>>> Maybe it gives you some inspiration to fix this. >>>>>> >>>>>> Robert >>>>>> >>>>>> >>>>>> Op Sat, 26 Oct 2013 11:15:59 +0200 schreef domi <[email protected]>: >>>>>> >>>>>> >>>>>>> I updated jgit to the newest version - on MAC everything is still OK, >>>>>>> but >>>>>>> as I don't have windows box, I can't verify it… >>>>>>> Robert, can you try it again with this version? >>>>>>> /Domi >>>>>>> >>>>>>> >>>>>>>> On 25.10.2013, at 23:51, "Robert Scholte" <[email protected]> wrote: >>>>>>>> >>>>>>>> I can confirm the same issue on Windows 7. >>>>>>>> Not being able to delete a file often means that the outputstream >>>>>>>> wasn't >>>>>>>> closed after writing. >>>>>>>> The file seems to be generated by jgit, so I'm wondering if there's >>>>>>>> something which can be done by the scm-provider. >>>>>>>> >>>>>>>> Robert >>>>>>>> >>>>>>>> Op Fri, 25 Oct 2013 21:03:36 +0200 schreef Dennis Lundberg >>>>>>>> <[email protected]>: >>>>>>>> >>>>>>>>> -1 at the moment. >>>>>>>>> >>>>>>>>> The unit tests for the new jgit provider fails on Windows. >>>>>>>>> >>>>>>>>> Here's the surefire summary: >>>>>>>>> >>>>>>>>> Tests in error: >>>>>>>>> JGitBranchCommandTckTest>BranchCommandTckTest.testBranchCommandTest:77 >>>>>>>>> ╗ IO Fi... >>>>>>>>> >>>>>>>>> JGitChangeLogCommandTckTest>ScmTckTestCase.setUp:106->ScmTestCase.setUp:65 >>>>>>>>> ╗ IO >>>>>>>>> >>>>>>>>> JGitCheckInCommandTckTest>ScmTckTestCase.setUp:106->ScmTestCase.setUp:65 >>>>>>>>> ╗ IO ... >>>>>>>>> >>>>>>>>> JGitCheckInCommandTckTest>ScmTckTestCase.setUp:106->ScmTestCase.setUp:65 >>>>>>>>> ╗ IO ... >>>>>>>>> >>>>>>>>> JGitCheckOutCommandTckTest>ScmTckTestCase.setUp:106->ScmTestCase.setUp:65 >>>>>>>>> ╗ >>>>>>>>> IO >>>>>>>>> JGitDiffCommandTckTest>ScmTckTestCase.setUp:106->ScmTestCase.setUp:65 >>>>>>>>> ╗ IO Fil... >>>>>>>>> >>>>>>>>> JGitRemoteInfoCommandTckTest>ScmTckTestCase.setUp:106->ScmTestCase.setUp:65 >>>>>>>>> ╗ IO >>>>>>>>> JGitStatusCommandTckTest>ScmTckTestCase.setUp:106->ScmTestCase.setUp:65 >>>>>>>>> ╗ IO F... >>>>>>>>> JGitTagCommandTckTest>ScmTckTestCase.setUp:106->ScmTestCase.setUp:65 >>>>>>>>> ╗ IO File... >>>>>>>>> >>>>>>>>> Tests run: 9, Failures: 0, Errors: 9, Skipped: 0 >>>>>>>>> >>>>>>>>> >>>>>>>>> Here is the first part of the build output I get: >>>>>>>>> >>>>>>>>> Running >>>>>>>>> org.apache.maven.scm.provider.git.jgit.command.branch.JGitBranchCommandTckTest >>>>>>>>> [INFO] cloning [master] to >>>>>>>>> >>>>>>>>> G:\apache\maven\git\maven-scm\maven-scm-providers\maven-scm-providers-git\maven-scm-provider-jgit\target\scm-test\working-copy >>>>>>>>> remote: Counting objects: 1 >>>>>>>>> remote: Finding sources: 100% (11/11) >>>>>>>>> remote: Getting sizes: 100% (10/10) >>>>>>>>> remote: Compressing objects: 100% (363/363) >>>>>>>>> Receiving objects: 100% (11/11) >>>>>>>>> Updating references: 100% (1/1) >>>>>>>>> [INFO] fetch url: >>>>>>>>> >>>>>>>>> file:///G:/apache/maven/git/maven-scm/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/target/scm-test/repository >>>>>>>>> [INFO] push url: >>>>>>>>> >>>>>>>>> file:///G:/apache/maven/git/maven-scm/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/target/scm-test/repository >>>>>>>>> [INFO] checkout [master] at >>>>>>>>> >>>>>>>>> G:\apache\maven\git\maven-scm\maven-scm-providers\maven-scm-providers-git\maven-scm-provider-jgit\target\scm-test\working-copy >>>>>>>>> [INFO] created [refs/heads/test-branch] >>>>>>>>> [INFO] push branch [test-branch] to remote... >>>>>>>>> [INFO] fetch url: >>>>>>>>> >>>>>>>>> file:///G:/apache/maven/git/maven-scm/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/target/scm-test/repository >>>>>>>>> [INFO] push url: >>>>>>>>> >>>>>>>>> file:///G:/apache/maven/git/maven-scm/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/target/scm-test/repository >>>>>>>>> [INFO] OK - RemoteRefUpdate[remoteName=refs/heads/test-branch, OK, >>>>>>>>> (null)...92f139dfec4d1dfb79c3cd2f94e83bf13129668b, fastForward, >>>>>>>>> srcRef=refs/heads/test-branch, message=null] >>>>>>>>> [INFO] commit done: commit message >>>>>>>>> [INFO] push changes to remote... refs/heads/master:refs/heads/master >>>>>>>>> [INFO] fetch url: >>>>>>>>> >>>>>>>>> file:///G:/apache/maven/git/maven-scm/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/target/scm-test/repository >>>>>>>>> [INFO] push url: >>>>>>>>> >>>>>>>>> file:///G:/apache/maven/git/maven-scm/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/target/scm-test/repository >>>>>>>>> [INFO] OK - RemoteRefUpdate[remoteName=refs/heads/master, OK, >>>>>>>>> (null)...dad31f52c2e81b71c2b4954ec9e2bc6dacfe9bef, fastForward, >>>>>>>>> srcRef=refs/heads/master, message=null] >>>>>>>>> [INFO] cloning [master] to >>>>>>>>> >>>>>>>>> G:\apache\maven\git\maven-scm\maven-scm-providers\maven-scm-providers-git\maven-scm-provider-jgit\target\scm-test\assertion-copy >>>>>>>>> remote: Counting objects: 1 >>>>>>>>> remote: Finding sources: 100% (14/14) >>>>>>>>> remote: Getting sizes: 100% (12/12) >>>>>>>>> remote: Compressing objects: 100% (363/363) >>>>>>>>> Receiving objects: 100% (14/14) >>>>>>>>> Resolving deltas: 100% (1/1) >>>>>>>>> Updating references: 100% (2/2) >>>>>>>>> [INFO] fetch url: >>>>>>>>> >>>>>>>>> file:///G:/apache/maven/git/maven-scm/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/target/scm-test/repository >>>>>>>>> [INFO] push url: >>>>>>>>> >>>>>>>>> file:///G:/apache/maven/git/maven-scm/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/target/scm-test/repository >>>>>>>>> [INFO] checkout [master] at >>>>>>>>> >>>>>>>>> G:\apache\maven\git\maven-scm\maven-scm-providers\maven-scm-providers-git\maven-scm-provider-jgit\target\scm-test\assertion-copy >>>>>>>>> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 5.656 >>>>>>>>> sec <<< FAILURE! - in >>>>>>>>> >>>>>>>>> org.apache.maven.scm.provider.git.jgit.command.branch.JGitBranchCommandTckTest >>>>>>>>> >>>>>>>>> testBranchCommandTest(org.apache.maven.scm.provider.git.jgit.command.branch.JGitBranchCommandTckTest) >>>>>>>>> Time elapsed: 5.602 sec <<< ERROR! >>>>>>>>> java.io.IOException: File >>>>>>>>> >>>>>>>>> G:\apache\maven\git\maven-scm\maven-scm-providers\maven-scm-providers-git\maven-scm-provider-jgit\target\scm-test\assertion-copy\.git\objects\pack\pack-a06d224d673591806e6a66da6d8f27915e18184d.pack >>>>>>>>> unable to >>>>>>>>> be deleted. >>>>>>>>> at >>>>>>>>> org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1413) >>>>>>>>> at >>>>>>>>> org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1673) >>>>>>>>> at >>>>>>>>> org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1618) >>>>>>>>> at >>>>>>>>> org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1401) >>>>>>>>> at >>>>>>>>> org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1673) >>>>>>>>> at >>>>>>>>> org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1618) >>>>>>>>> at >>>>>>>>> org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1401) >>>>>>>>> at >>>>>>>>> org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1673) >>>>>>>>> at >>>>>>>>> org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1618) >>>>>>>>> at >>>>>>>>> org.codehaus.plexus.util.FileUtils.forceDelete(FileUtils.java:1401) >>>>>>>>> at >>>>>>>>> org.codehaus.plexus.util.FileUtils.cleanDirectory(FileUtils.java:1673) >>>>>>>>> at >>>>>>>>> org.codehaus.plexus.util.FileUtils.deleteDirectory(FileUtils.java:1618) >>>>>>>>> at >>>>>>>>> org.apache.maven.scm.tck.command.branch.BranchCommandTckTest.testBranchCommandTest(BranchCommandTckTest.java:77) >>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>>>>>> at >>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>>>>>>>> at >>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:592) >>>>>>>>> at junit.framework.TestCase.runTest(TestCase.java:168) >>>>>>>>> at junit.framework.TestCase.runBare(TestCase.java:134) >>>>>>>>> at junit.framework.TestResult$1.protect(TestResult.java:110) >>>>>>>>> at junit.framework.TestResult.runProtected(TestResult.java:128) >>>>>>>>> at junit.framework.TestResult.run(TestResult.java:113) >>>>>>>>> at junit.framework.TestCase.run(TestCase.java:124) >>>>>>>>> at junit.framework.TestSuite.runTest(TestSuite.java:243) >>>>>>>>> at junit.framework.TestSuite.run(TestSuite.java:238) >>>>>>>>> at >>>>>>>>> org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83) >>>>>>>>> at >>>>>>>>> org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) >>>>>>>>> at >>>>>>>>> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) >>>>>>>>> at >>>>>>>>> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) >>>>>>>>> at >>>>>>>>> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) >>>>>>>>> at >>>>>>>>> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) >>>>>>>>> at >>>>>>>>> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) >>>>>>>>> >>>>>>>>>> On Thu, Oct 24, 2013 at 5:35 AM, Olivier Lamy <[email protected]> >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> Hi, >>>>>>>>>> We fixed 9 issues. The new feature is the jgit provider (based on >>>>>>>>>> jgit). >>>>>>>>>> Details: >>>>>>>>>> http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10527&version=18783 >>>>>>>>>> >>>>>>>>>> Staging repository: >>>>>>>>>> https://repository.apache.org/content/repositories/maven-027/ >>>>>>>>>> Staged site: http://maven.apache.org/scm-archives/scm-LATEST/ >>>>>>>>>> >>>>>>>>>> Sources release: >>>>>>>>>> >>>>>>>>>> https://repository.apache.org/content/repositories/maven-027/org/apache/maven/scm/maven-scm/1.9/maven-scm-1.9-source-release.zip >>>>>>>>>> >>>>>>>>>> Vote open for 72H >>>>>>>>>> >>>>>>>>>> [+1] >>>>>>>>>> [0] >>>>>>>>>> [-1] >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Thanks >>>>>>>>>> -- >>>>>>>>>> Olivier Lamy >>>>>>>>>> Ecetera: http://ecetera.com.au >>>>>>>>>> http://twitter.com/olamy | http://linkedin.com/in/olamy >>>>>>>>>> >>>>>>>>>> --------------------------------------------------------------------- >>>>>>>>>> To unsubscribe, e-mail: [email protected] >>>>>>>>>> For additional commands, e-mail: [email protected] >>>>>>>> >>>>>>>> --------------------------------------------------------------------- >>>>>>>> To unsubscribe, e-mail: [email protected] >>>>>>>> For additional commands, e-mail: [email protected] >>>>>>> >>>>>>> >>>>>>> --------------------------------------------------------------------- >>>>>>> To unsubscribe, e-mail: [email protected] >>>>>>> For additional commands, e-mail: [email protected] >>>>>> >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: [email protected] >>>>>> For additional commands, e-mail: [email protected] >>>>> >>>>> >>>>> >>>>> -- >>>>> Olivier Lamy >>>>> Ecetera: http://ecetera.com.au >>>>> http://twitter.com/olamy | http://linkedin.com/in/olamy >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: [email protected] >>>>> For additional commands, e-mail: [email protected] >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [email protected] >>>> For additional commands, e-mail: [email protected] >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > -- Olivier Lamy Ecetera: http://ecetera.com.au http://twitter.com/olamy | http://linkedin.com/in/olamy --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
