[JIRA] (JENKINS-59977) P4 Plugin creates invalid AppleDouble files
Title: Message Title Peter DB commented on JENKINS-59977 Re: P4 Plugin creates invalid AppleDouble files Some background information: Perforce's handling of resource forks is partially described here: https://community.perforce.com/s/article/2999#FILEMGMT-FORK One source of the technical details of this AppleDouble file type (and the related AppleSingle type) is RFC 1740: https://tools.ietf.org/html/rfc1740 Note that this AppleDouble format is also used when copying a file with a resource fork from a Mac to a non-Mac system (such as Windows) f.i. over a network share or with a USB drive, except then the header file is called "._myfile" (with dot and underscore) instead of "%myfile". Add Comment This message was sent by Atlassian Jira (v7.13.6#713006-sha1:cc4451f) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-issues/JIRA.202781.1572367041000.4634.1572367140054%40Atlassian.JIRA.
[JIRA] (JENKINS-59977) P4 Plugin creates invalid AppleDouble files
Title: Message Title Peter DB created an issue Jenkins / JENKINS-59977 P4 Plugin creates invalid AppleDouble files Issue Type: Bug Assignee: Unassigned Components: p4-plugin Created: 2019-10-29 16:37 Environment: P4 Plugin version: 1.10.5 Jenkins version: 2.190.1 Java version: 1.8.0_222 OS version: Windows 7 Professional SP1 P4V version: 2019.2 P4 version: 2019.1 Perforce server version: P4D/NTX64/2014.2/1014956 (2015/02/26) Priority: Minor Reporter: Peter DB When syncing a file of the Perforce "apple" file type (i.e. an old Mac file with a resource fork) from a depot, the expected behaviour (in recent versions of the Perforce tools) is that this "apple" file is created on the client in the AppleDouble format. That is: as two separate files "myfile" and "%myfile", where "myfile" contains the data fork of the original file and "%myfile" contains the resource fork of the original file. Importantly, "%myfile" is also supposed to contain a header with some structural information, starting with the 4-byte magic number 0x00051607. (For this reason, "%myfile" is also referred to as the header file.) When syncing such an "apple" file using the latest P4V visual client or the latest P4 command line tool, this works as just described. However, when syncing with the latest P4 Plugin for Jenkins the "%myfile" portion only contains the bare bytes of the original resource fork; the header is missing. This is easily verified by looking for the magic number 0x00051607; it's not there. This means that a "%myfile" created by P4Jenkins is invalid; it cannot be recognized as part of the AppleDouble format by various tools that are otherwise able to work with this format.
[JIRA] (JENKINS-56946) P4 Plugin does not sync Mac resource forks on Mac
Title: Message Title Peter DB commented on JENKINS-56946 Re: P4 Plugin does not sync Mac resource forks on Mac Hello Karl. Could you maybe try creating a file with a resource fork with the following command line commands: touch WithResourceFork.dat echo -n This is the resource fork.> WithResourceFork.dat/..namedfork/rsrc That should create a file with an empty data fork and a resource fork containing "This is the resource fork.". That should be verifiable by running: xattr -l WithResourceFork.dat P4V should automatically make that an "apple" file when doing "Mark for Add" on it (on a Mac). If that doesn't work I'll look into delivering you one of our actual files (after the weekend). Kr, Peter DB. Add Comment This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-56946) P4 Plugin does not sync Mac resource forks on Mac
Title: Message Title Peter DB created an issue Jenkins / JENKINS-56946 P4 Plugin does not sync Mac resource forks on Mac Issue Type: Bug Assignee: Unassigned Components: p4-plugin Created: 2019-04-09 12:22 Environment: P4 Plugin version: 1.9.6 Jenkins version: 2.150.2 Java version: 1.8.0_192 macOS version: 10.13.6 Perforce server version: P4D/NTX64/2014.2/1014956 (2015/02/26) Priority: Major Reporter: Peter DB When submitting a file with a resource fork from Mac with P4 or P4V, it is put in the depot as file type "apple". However, when syncing such an "apple" file back to Mac with the P4 Plugin, it is synced as two separate files "myfile" and "%myfile", instead of the original single file with a resource fork. Upon further inspection, these two separate files are the "AppleDouble" format: "myfile" contains the original data fork and "%myfile" contains the original resource fork. AppleDouble is normally used for syncing "apple" files by non-MacOS clients, as described in Perforce Platform Notes - Apple Macintosh. But in this case it's happening for a MacOS client too. That is unexpected. The latest P4 and P4V for MacOS all sync "apple" files back to Mac as genuine Apple files. It seems logical to expect the same result from P4 Plugin as from P4 and P4V, when syncing. Also, it seems logical to expect getting the same file back as was submitted, if submitting and syncing happen on the same platform and possibly even on the same machine. I guess this is related to change #546744 in P4Java as mentioned on Release Notes for P4Java. Our setup is a Freestyle project, with P4 Workspace behaviour set to "Static (static view, master only)".