is git-p4 compatible with p4/linux?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



git-p4.py (1.8.2.1.418.gaec3f77) has at least two behaviors that
seem to be incompatible with the version of p4 that I recently
downloaded from perforce.com (P4/LINUX26X86_64/2013.1/610569).

TLDR: Is git-p4 written for an old version of p4 CLI with different
behavior?  Or for a windows or mac release of p4?  Or am I missing
something?

First issue
-----------

git-p4 assumes the output of 'p4 print' adds a newline to the
target.  To work around this, git-p4.py strips the last char from
symlinks as shown in the following snippet:

    if type_base =3D=3D "symlink":
        git_mode =3D "120000"
        # p4 print on a symlink contains "target\n"; remove the newline
        data =3D ''.join(contents)
        contents =3D [data[:-1]]

But my 'p4 print' does not output the newline:

    $ ls -l pcre
    lrwxrwxrwx 1 user group 12 Apr 16 10:27 pcre -> ../libs/pcre

    $ p4 print -q pcre | od -t x1a
    0000000  2e  2e  2f  6c  69  62  73  2f  70  63  72  65
             .   .   /   l   i   b   s   /   p   c   r   e
    0000014

If I use 'git p4 clone' the above file shows up in git as a
symlink to '../libs/pcr'.  I had another symlink whose target had
a strlen of 1 and the 'git p4 clone' failed b/c after stripping
the last char the result was an empty string.

Second issue
------------

git-p4 uses 'p4 print -q -o o FILE' to print a file to stdout.
At least that is how I interpret this snippet:

    text = p4_read_pipe(['print', '-q', '-o', '-', file['depotFile']])

However, p4/Linux prints to stdout by default and '-o -' will save
the output in a file named '-'.

My git and p4 versions:

    $ git --version
    git version 1.8.2.1.418.gaec3f77

    $ p4 -V
    Perforce - The Fast Software Configuration Management System.
    Copyright 1995-2013 Perforce Software.  All rights reserved.
    This product includes software developed by the OpenSSL Project
    for use in the OpenSSL Toolkit (http://www.openssl.org/)
    See 'p4 help legal' for full OpenSSL license information
    Version of OpenSSL Libraries: OpenSSL 1.0.1c 10 May 2012
    Rev. P4/LINUX26X86_64/2013.1/610569 (2013/03/19).

--Alex

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]