[Issue 3949] New - Subversion checkouts creates files for symlinks

classic Classic list List threaded Threaded
27 messages Options
12
Reply | Threaded
Open this post in threaded view
|

[Issue 3949] New - Subversion checkouts creates files for symlinks

mkrohan
https://hudson.dev.java.net/issues/show_bug.cgi?id=3949
                 Issue #|3949
                 Summary|Subversion checkouts creates files for symlinks
               Component|hudson
                 Version|current
                Platform|All
              OS/Version|All
                     URL|
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P3
            Subcomponent|subversion
             Assigned to|issues@hudson
             Reported by|mkrohan






------- Additional comments from [hidden email] Mon Jun 29 00:58:03 +0000 2009 -------
The check out of project containing checked in symlinks creates a workspace
with files instead of symlinks.  E.g., creating a repository containing
the elements:

$ svn co file://$PWD/test/trunk/data
A    data/file.link
A    data/file.txt
Checked out revision 3.
$ ls -l data
total 12
lrwxrwxrwx 1 mrohan mrohan  8 Jun 28 17:55 file.link -> file.txt
-rw-rw-r-- 1 mrohan mrohan 16 Jun 28 17:55 file.txt

Within Hudson, the workspace contains the elements:

$ ls -l data
total 16
-rw-rw-r-- 1 hudson hudson 13 Jun 28 17:53 file.link
-rw-rw-r-- 1 hudson hudson 16 Jun 28 17:53 file.txt
$ cat data/file.link
link file.txt

There is no newline in the file created.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Issue 3949] Subversion checkouts creates files for symlinks

abarbieri-2
https://hudson.dev.java.net/issues/show_bug.cgi?id=3949






------- Additional comments from [hidden email] Tue Jun 30 12:02:50 +0000 2009 -------
Hudson v1.313 (latest to-day) contains the Subversion plugin which in turns uses
SVNKit 1.3.0 and this in turns supports SVN 1.6.x and hence SVN externals
pointing to files as well as directories.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Issue 3949] Subversion checkouts creates files for symlinks

abarbieri-2
In reply to this post by mkrohan
https://hudson.dev.java.net/issues/show_bug.cgi?id=3949






------- Additional comments from [hidden email] Tue Jun 30 12:07:00 +0000 2009 -------
duplicate of Issue 3673 as well, I think...

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Issue 3949] Subversion checkouts creates files for symlinks

mkrohan
In reply to this post by mkrohan
https://hudson.dev.java.net/issues/show_bug.cgi?id=3949






------- Additional comments from [hidden email] Tue Jun 30 20:51:16 +0000 2009 -------
This issue is not related to Subversion externals.  The underlying problem is
with Unix symbolic links checked into Subversion.  Upto version 1.310, Hudson
correctly created symbolic links on checking out from Subversion.  Starting
with version 1.311, it now creates files instead.

From your comments, I suspect you work primarily on Windows.  The following
"how to repeat" requires Unix (e.g., Linux).  I'm using my home directory in
the following commands (/home/mrohan), substitute where appropriate:

1) Create a Subversion repository:
   $ svnadmin create /home/mrohan/repos

2) Create a directory in Subversion:
   $ svn mkdir -mExample file:///home/mrohan/repos/xmpl

   Committed revision 1.

3) Checkout the directory:
   $ svn co file:///home/mrohan/repos/xmpl
   Checked out revision 1.

4) Populate with a file and symbolic link and check in:
   $ cd xmpl
   $ echo "This is a file" > file.txt
   $ ln -s file.txt file.link
   $ ls -l
   total 4
   lrwxrwxrwx 1 mrohan mrohan  8 2009-06-30 09:32 file.link -> file.txt
   -rw-rw-r-- 1 mrohan mrohan 15 2009-06-30 09:32 file.txt
   $ svn add *
   A         file.link
   A         file.txt
   $ svn commit -mExample
   Adding         file.link
   Adding         file.txt
   Transmitting file data ..
   Committed revision 2.

5) Start Hudson and define a job "Symlink Test" with
   5.1) Source Code in Subversion:
        Repository: file:///home/mrohan/repos/xmpl
        Local module: xmpl
   5.2) Add an "Execute shell" build step containing
        ls -l
        ls -l xmpl

6) Run this job under v1.310 and v1.311, v1.312 or v1.312.

The output for v1.310 shows a symlink in the workspace.  The output
for any later version show a file of 13 bytes.  I'll attach my output.

This is probably a bug in SVNKit but it is a regression for Hudson.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Issue 3949] Subversion checkouts creates files for symlinks

mkrohan
In reply to this post by mkrohan
https://hudson.dev.java.net/issues/show_bug.cgi?id=3949






------- Additional comments from [hidden email] Tue Jun 30 20:52:08 +0000 2009 -------
Created an attachment (id=760)
Subversion check-out listing for v1.310


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Issue 3949] Subversion checkouts creates files for symlinks

mkrohan
In reply to this post by mkrohan
https://hudson.dev.java.net/issues/show_bug.cgi?id=3949






------- Additional comments from [hidden email] Tue Jun 30 20:53:04 +0000 2009 -------
Created an attachment (id=761)
Subversion check-out listing for v1.311


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Issue 3949] Subversion checkouts creates files for symlinks

mkrohan
In reply to this post by mkrohan
https://hudson.dev.java.net/issues/show_bug.cgi?id=3949






------- Additional comments from [hidden email] Tue Jun 30 21:32:19 +0000 2009 -------
Downloaded SVNKit 1.3.0.5847, made the example repository available via
http (not sure what the exact file: syntax is on Windows).  jsvn successfully
checks out and creates a symlink on Unix.  On Windows, since symlinks are
not supported on this platform, it instead creates a file containing
"link file.txt" (13 bytes).

It appears Hudson might be configuring SVNKit for Windows on Unix systems.

jsvn on Unix:
    $ jsvn co http://10.20.96.133/repos/xmpl
    A    xmpl/file.link
    A    xmpl/file.txt
    Checked out revision 2.
    $ ls -l xmpl
    total 4
    lrwxrwxrwx 1 mrohan mrohan  8 Jun 30 14:26 file.link -> file.txt
    -rw-rw-r-- 1 mrohan mrohan 15 Jun 30 14:26 file.txt

jsvn on Windows:
    C:\mrohan\svnkit>jsvn co http://10.20.96.133/repos/xmpl
    A    xmpl\file.link
    A    xmpl\file.txt
    Checked out revision 2.

    C:\mrohan\svnkit>dir xmpl
     Volume in drive C is MROHAN-DEV3
     Volume Serial Number is 707B-3181

     Directory of C:\mrohan\svnkit\xmpl

    30-Jun-09  14:26    <DIR>          .
    30-Jun-09  14:26    <DIR>          ..
    30-Jun-09  14:26                13 file.link
    30-Jun-09  14:26                15 file.txt
                   2 File(s)             28 bytes
                   2 Dir(s)  14,278,062,080 bytes free

    C:\mrohan\svnkit>type xmpl\file.link
    link file.txt


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Issue 3949] Subversion checkouts creates files for symlinks

mkrohan
In reply to this post by mkrohan
https://hudson.dev.java.net/issues/show_bug.cgi?id=3949



User mkrohan changed the following:

                What    |Old value                 |New value
================================================================================
              OS/Version|All                       |Linux
--------------------------------------------------------------------------------




------- Additional comments from [hidden email] Wed Jul  1 17:01:48 +0000 2009 -------
This is a Unix (Linux) specific issue.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Issue 3949] Subversion checkouts creates files for symlinks

akosmaroy
In reply to this post by mkrohan
https://hudson.dev.java.net/issues/show_bug.cgi?id=3949



User akosmaroy changed the following:

                What    |Old value                 |New value
================================================================================
                      CC|''                        |'akosmaroy'
--------------------------------------------------------------------------------




------- Additional comments from [hidden email] Thu Jul  2 16:04:22 +0000 2009 -------
is there a workaround for this issue, until it is fixed?

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Issue 3949] Subversion checkouts creates files for symlinks

mkrohan
In reply to this post by mkrohan
https://hudson.dev.java.net/issues/show_bug.cgi?id=3949






------- Additional comments from [hidden email] Thu Jul  2 16:17:57 +0000 2009 -------
I have not been able to find a workaround.  I simply reverted my instance back
to v1.309 (don't update to every version).

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Issue 3949] Subversion checkouts creates files for symlinks

akosmaroy
In reply to this post by mkrohan
https://hudson.dev.java.net/issues/show_bug.cgi?id=3949






------- Additional comments from [hidden email] Thu Jul  2 16:23:24 +0000 2009 -------
oh, it works in 1.309 - excellent...

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Issue 3949] Subversion checkouts creates files for symlinks

mkrohan
In reply to this post by mkrohan
https://hudson.dev.java.net/issues/show_bug.cgi?id=3949






------- Additional comments from [hidden email] Thu Jul  2 16:29:21 +0000 2009 -------
It works up v1.310 and fails starting with v1.311

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Issue 3949] Subversion checkouts creates files for symlinks

thoth39
In reply to this post by mkrohan
https://hudson.dev.java.net/issues/show_bug.cgi?id=3949






------- Additional comments from [hidden email] Thu Jul  2 21:44:42 +0000 2009 -------
This bug is blocking deployment of Hudson on my project.
Please raise it's priority.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Issue 3949] Subversion checkouts creates files for symlinks

smworley
In reply to this post by mkrohan
https://hudson.dev.java.net/issues/show_bug.cgi?id=3949






------- Additional comments from [hidden email] Fri Jul  3 00:45:54 +0000 2009 -------
I would also like to see this fixed ...

As it stands, I am able to work around this issue by
  - manually removing the work area (jobs/<project>/workspace/trunk)
  - manually checking out a new trunk (svn co http://.. ../trunk)
  - updating my <project> configuration to USE UPDATE
    - Under "Subversion", select "Use Update" and save

From this I am able to release using the Hudson Maven Release Plugin.  It would
appear that the plug-in is not directly impacted by this change ..??.. E.g. It
creates a new "checkout" directory under target which has working symlinks.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Issue 3949] Subversion checkouts creates files for symlinks

mkrohan
In reply to this post by mkrohan
https://hudson.dev.java.net/issues/show_bug.cgi?id=3949






------- Additional comments from [hidden email] Fri Jul  3 05:46:00 +0000 2009 -------
Issue #3968 appears to be a duplicate of this issue.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Issue 3949] Subversion checkouts creates files for symlinks

Alan Harder-2
In reply to this post by mkrohan
https://hudson.dev.java.net/issues/show_bug.cgi?id=3949






------- Additional comments from [hidden email] Fri Jul  3 21:47:16 +0000 2009 -------
*** Issue 3968 has been marked as a duplicate of this issue. ***

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Issue 3949] Subversion checkouts creates files for symlinks

Alan Harder-2
In reply to this post by mkrohan
https://hudson.dev.java.net/issues/show_bug.cgi?id=3949






------- Additional comments from [hidden email] Fri Jul  3 21:48:49 +0000 2009 -------
*** Issue 3904 has been marked as a duplicate of this issue. ***

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Issue 3949] Subversion checkouts creates files for symlinks

Alan Harder-2
In reply to this post by mkrohan
https://hudson.dev.java.net/issues/show_bug.cgi?id=3949



User mindless changed the following:

                What    |Old value                 |New value
================================================================================
                Priority|P3                        |P2
--------------------------------------------------------------------------------




------- Additional comments from [hidden email] Fri Jul  3 21:49:44 +0000 2009 -------
set P2

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Issue 3949] Subversion checkouts creates files for symlinks

abarbieri-2
In reply to this post by mkrohan
https://hudson.dev.java.net/issues/show_bug.cgi?id=3949






------- Additional comments from [hidden email] Sat Jul  4 22:50:01 +0000 2009 -------
in SubversionSCM.java lines 1656-1658:
            // work around for
http://www.nabble.com/Slow-SVN-Checkout-tf4486786.html
            if(System.getProperty("svnkit.symlinks")==null)
                System.setProperty("svnkit.symlinks","false");


could this be the cause of the problem on Hudson Unix nodes?

the SVNKit FAQ suggests to disable symlinks only for 'older' versions of SVNKit,
whilst for the latest one with proper JNA support (as in svnkit/1.3.0-hudson-1)
symlinks feature should remain enabled.



---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Issue 3949] Subversion checkouts creates files for symlinks

mkrohan
In reply to this post by mkrohan
https://hudson.dev.java.net/issues/show_bug.cgi?id=3949






------- Additional comments from [hidden email] Sun Jul  5 07:15:32 +0000 2009 -------
I'm not familiar with the Hudson code base, but the snippet included
suggested running Hudson with "java -Dsvnkit.symlinks=true -jar hudson.jar"
would enable symlinks.  I tried this for v1.314 and I'm afraid I'm still
seeing a file containing "link file.txt".  This does not invalidate the
coding suggestion, just additional info.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

12