Jörg Schaible wrote:
Hi,
Hi, thanks for answering.
Ovidiu Feodorov wrote at Dienstag, 30. Juni 2009 04:55:

[snip]
It seems quite obvious that this could be handled by cygwin svn

No. Cygwin provides a POSIX layer for the file operations to allow unix
utilities to compile and work in the Cygwin environment. Although some
basic commands in Cygwin understand DOSish syntax, its up to the individual
maintainer to patch that into the code and maintain this patch. Obviously
this is no fun and normally not done.

One more reason to handle this at the Maven level, especially given the fact that someone else bumped into similar problems and introduced support for <useCygwinPath>.

[...]
IMHO the flag useCygwinPath should be enough. The implementation can
determin the paths itself by executing "cygpath -u path" for each. The
cygwinMountPath option is not a good choice, since it depends on the
developer's environment and might not work at all if the path is on the
network.

Yes, that's what I thought too, but

               <plugin>
                   <groupId>org.apache.maven.plugins</groupId>
                   <artifactId>maven-scm-plugin</artifactId>
                   <configuration>
                       <svn-settings>
                           <useCygwinPath>true</useCygwinPath>
                       </svn-settings>
                   </configuration>
               </plugin>

had no effect whatsoever when I first tried it, and then after looking at https://svn.apache.org/repos/asf/maven/scm/tags/maven-scm-1.2/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtils.java, I found out why, SvnCommandLineUtils, the code that generates the content of the --targets file, doesn't even look at anything remotely related to SCM configuration.

It is just:

       for ( Iterator i = files.iterator(); i.hasNext(); )
       {
           File f = (File) i.next();
           sb.append( f.getPath().replace( '\\', '/' ) );
           sb.append( ls );
       }

which dumps OS-dependent path representation into the text file (yes, changing backslashes into forward slashes, but this doesn't help with "C:".

This is where I would to try to patch.

If I have time tomorrow, I'll actually write the patch and see if it works.



Reply via email to