git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pete Wyckoff <pw@padd.com>
To: "Damien Gérard" <damien@iwi.me>
Cc: git@vger.kernel.org, Alexandru Juncu <alexj@rosedu.org>
Subject: Re: git-p4: exception when cloning a perforce repository
Date: Thu, 16 Jan 2014 08:08:33 -0500	[thread overview]
Message-ID: <20140116130833.GA15613@padd.com> (raw)
In-Reply-To: <843E4B24-5EDD-4451-8849-425160576A99@iwi.me>

damien@iwi.me wrote on Wed, 15 Jan 2014 09:56 +0100:
> p4 fstat  //depot/openssl/0.9.8j/openssl/include/openssl/bn.h@59702 
> ... depotFile //depot/openssl/0.9.8j/openssl/include/openssl/bn.h
> ... headAction edit
> ... headType symlink
> ... headTime 1237906419
> ... headRev 2
> ... headChange 59702
> ... headModTime 1231329423
> 
> p4 print -q //depot/openssl/0.9.8j/openssl/include/openssl/bn.h#2 | od -c
> 0000000
> 
> p4 print  //depot/openssl/0.9.8j/openssl/include/openssl/bn.h#1        
> //depot/openssl/0.9.8j/openssl/include/openssl/bn.h#1 - add change 59574 (text)
>  p4 print  //depot/openssl/0.9.8j/openssl/include/openssl/bn.h#2
> //depot/openssl/0.9.8j/openssl/include/openssl/bn.h#2 - edit change 59702 (symlink)

That's interesting.  When I do the equivalent "p4 print" commands
it shows something like this.

arf-git-test$ p4 fstat //depot/bn.h
... depotFile //depot/bn.h
... clientFile /dev/shm/trash directory.t9802-git-p4-filetype/cli/bn.h
... isMapped 
... headAction edit
... headType symlink
... headTime 1389876870
... headRev 2
... headChange 8
... headModTime 1389876870
... haveRev 2

arf-git-test$ p4 print //depot/bn.h#1
//depot/bn.h#1 - add change 7 (text)
file-text

arf-git-test$ p4 print //depot/bn.h#2
//depot/bn.h#2 - edit change 8 (symlink)
/elsewhere/bn.h

I don't know how you manage to get a symlink with an empty
destination like that.

I'll work on a way to hack around this failure.  In the mean time,
if you're game, it might be fun to see what p4 does with such a
repository.  You could make a client for just that little subdir,
check out at 59702 and see what is there:

mkdir testmess
cd testmess
cat <<EOF | p4 client -i
Client: testmess
Description: testmess
Root: $(pwd)
View: //depot/openssl/0.9.8j/openssl/include/openssl/... //testmess/...
EOF

then take a look at how p4 represents the "empty" symlink
in the filesystem:

p4 sync @59702
ls -la bn.h

		-- Pete

  reply	other threads:[~2014-01-16 13:08 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-13 13:37 git-p4: exception when cloning a perforce repository Damien Gérard
2014-01-14  0:18 ` Pete Wyckoff
2014-01-14 23:24   ` Pete Wyckoff
2014-01-15  8:56     ` Damien Gérard
2014-01-16 13:08       ` Pete Wyckoff [this message]
2014-01-16 13:46         ` Damien Gérard
2014-01-16 14:45           ` Pete Wyckoff
2014-01-16 16:02             ` Damien Gérard
2014-01-18 18:22               ` Pete Wyckoff
2014-01-20 12:14                 ` Damien Gérard
2014-01-20 14:01                 ` Damien Gérard

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=20140116130833.GA15613@padd.com \
    --to=pw@padd.com \
    --cc=alexj@rosedu.org \
    --cc=damien@iwi.me \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).