From: Pete Wyckoff <pw@padd.com>
To: Alexandru Juncu <alexj@rosedu.org>
Cc: git@vger.kernel.org, Alexandru Juncu <ajuncu@ixiacom.com>,
Alex Badea <abadea@ixiacom.com>
Subject: Re: [PATCH] git-p4: Fix occasional truncation of symlink contents.
Date: Sun, 11 Aug 2013 07:57:38 -0400 [thread overview]
Message-ID: <20130811115738.GA26658@padd.com> (raw)
In-Reply-To: <1375967858-10615-1-git-send-email-ajuncu@ixiacom.com>
alexj@rosedu.org wrote on Thu, 08 Aug 2013 16:17 +0300:
> Symlink contents in p4 print sometimes have a trailing
> new line character, but sometimes it doesn't. git-p4
> should only remove the last character if that character
> is '\n'.
Your patch looks fine, and harmless if symlinks continue
to have \n on the end. I'd like to understand a bit why
this behavior is different for you, though. Could you do
this test on a symlink in your depot?
Here //depot/symlink points to "symlink-target". You can
see the \n in position 0o332 below. What happens on a
symlink in your repo?
arf-git-test$ p4 fstat //depot/symlink
... depotFile //depot/symlink
... clientFile /dev/shm/trash directory.t9802-git-p4-filetype/cli/symlink
... isMapped
... headAction add
... headType symlink
... headTime 1376221978
... headRev 1
... headChange 6
... headModTime 1376221978
... haveRev 1
arf-git-test$ p4 -G print //depot/symlink | od -c
0000000 { s 004 \0 \0 \0 c o d e s 004 \0 \0 \0 s
0000020 t a t s \t \0 \0 \0 d e p o t F i l
0000040 e s 017 \0 \0 \0 / / d e p o t / s y
0000060 m l i n k s 003 \0 \0 \0 r e v s 001 \0
0000100 \0 \0 1 s 006 \0 \0 \0 c h a n g e s 001
0000120 \0 \0 \0 6 s 006 \0 \0 \0 a c t i o n s
0000140 003 \0 \0 \0 a d d s 004 \0 \0 \0 t y p e
0000160 s \a \0 \0 \0 s y m l i n k s 004 \0 \0
0000200 \0 t i m e s \n \0 \0 \0 1 3 7 6 2 2
0000220 1 9 7 8 s \b \0 \0 \0 f i l e S i z
0000240 e s 002 \0 \0 \0 1 5 0 { s 004 \0 \0 \0 c
0000260 o d e s 006 \0 \0 \0 b i n a r y s 004
0000300 \0 \0 \0 d a t a s 017 \0 \0 \0 s y m l
0000320 i n k - t a r g e t \n 0 { s 004 \0
0000340 \0 \0 c o d e s 006 \0 \0 \0 b i n a r
0000360 y s 004 \0 \0 \0 d a t a s \0 \0 \0 \0 0
0000400
Also, what version is your server, from "p4 info":
Server version: P4D/LINUX26X86_64/2013.1/610569 (2013/03/19)
-- Pete
> Signed-off-by: Alex Juncu <ajuncu@ixiacom.com>
> Signed-off-by: Alex Badea <abadea@ixiacom.com>
> ---
> git-p4.py | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/git-p4.py b/git-p4.py
> index 31e71ff..a53a6dc 100755
> --- a/git-p4.py
> +++ b/git-p4.py
> @@ -2180,9 +2180,13 @@ class P4Sync(Command, P4UserMap):
> git_mode = "100755"
> if type_base == "symlink":
> git_mode = "120000"
> - # p4 print on a symlink contains "target\n"; remove the newline
> + # p4 print on a symlink sometimes contains "target\n";
> + # if it does, remove the newline
> data = ''.join(contents)
> - contents = [data[:-1]]
> + if data[-1] == '\n':
> + contents = [data[:-1]]
> + else:
> + contents = [data]
>
> if type_base == "utf16":
> # p4 delivers different text in the python output to -G
> --
> 1.8.4.rc0.1.g8f6a3e5
next prev parent reply other threads:[~2013-08-11 11:57 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-08 13:17 [PATCH] git-p4: Fix occasional truncation of symlink contents Alexandru Juncu
2013-08-11 11:57 ` Pete Wyckoff [this message]
2013-08-12 7:46 ` Alexandru Juncu
2013-08-12 12:38 ` Pete Wyckoff
2013-08-12 13:30 ` Alexandru Juncu
2013-08-12 17:11 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130811115738.GA26658@padd.com \
--to=pw@padd.com \
--cc=abadea@ixiacom.com \
--cc=ajuncu@ixiacom.com \
--cc=alexj@rosedu.org \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.