Re: git-p4: exception when cloning a perforce repository

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

 



On 16 Jan 2014, at 14:08, Pete Wyckoff <pw@xxxxxxxx> wrote:

> damien@xxxxxx 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

I’ve tried exactly your commands, and I’ve got an empty folder..

{14:38}~/p4/testmess ➭ p4 sync @59702
//depot/openssl/0.9.8j/openssl/include/openssl/aes.h#2 - refreshing /home/dgerard/p4/testmess/aes.h
//depot/openssl/0.9.8j/openssl/include/openssl/asn1.h#2 - refreshing /home/dgerard/p4/testmess/asn1.h
//depot/openssl/0.9.8j/openssl/include/openssl/asn1_mac.h#2 - refreshing /home/dgerard/p4/testmess/asn1_mac.h
//depot/openssl/0.9.8j/openssl/include/openssl/asn1t.h#2 - refreshing /home/dgerard/p4/testmess/asn1t.h
//depot/openssl/0.9.8j/openssl/include/openssl/bio.h#2 - refreshing /home/dgerard/p4/testmess/bio.h
//depot/openssl/0.9.8j/openssl/include/openssl/blowfish.h#2 - refreshing /home/dgerard/p4/testmess/blowfish.h
//depot/openssl/0.9.8j/openssl/include/openssl/bn.h#2 - refreshing /home/dgerard/p4/testmess/bn.h
//depot/openssl/0.9.8j/openssl/include/openssl/buffer.h#2 - refreshing /home/dgerard/p4/testmess/buffer.h
[…]


{14:39}~/p4/testmess ➭ ls -la
total 12
drwxr-xr-x 2 dgerard dgerard 4096 janv. 16 14:37 .
drwxr-xr-x 4 dgerard dgerard 4096 janv. 16 14:34 ..
-rw-r--r-- 1 dgerard dgerard   93 janv. 16 14:37 .perforce	


Then I tried to sync the previous changeset, which is ok :

{14:44}~/p4/testmess ➭ p4 sync -f @59701
//depot/openssl/0.9.8j/openssl/include/openssl/aes.h#1 - updating /home/dgerard/p4/testmess/aes.h
[…]

{14:44}~/p4/testmess ➭ l
total 0
-r--r--r-- 1 dgerard dgerard 0 janv. 16 14:44 aes.h
-r--r--r-- 1 dgerard dgerard 0 janv. 16 14:44 asn1.h
-r--r--r-- 1 dgerard dgerard 0 janv. 16 14:44 asn1_mac.h
-r--r--r-- 1 dgerard dgerard 0 janv. 16 14:44 asn1t.h
-r--r--r-- 1 dgerard dgerard 0 janv. 16 14:44 bio.h
-r--r--r-- 1 dgerard dgerard 0 janv. 16 14:44 blowfish.h
-r--r--r-- 1 dgerard dgerard 0 janv. 16 14:44 bn.h
-r--r--r-- 1 dgerard dgerard 0 janv. 16 14:44 buffer.h
[…]



However, when trying to sync to the appropriate changeset :

{14:44}~/p4/testmess ➭ p4 sync -f @59702
//depot/openssl/0.9.8j/openssl/include/openssl/aes.h#2 - updating /home/dgerard/p4/testmess/aes.h
rename: /home/dgerard/p4/testmess/aes.h: No such file or directory
//depot/openssl/0.9.8j/openssl/include/openssl/asn1.h#2 - updating /home/dgerard/p4/testmess/asn1.h
rename: /home/dgerard/p4/testmess/asn1.h: No such file or directory
//depot/openssl/0.9.8j/openssl/include/openssl/asn1_mac.h#2 - updating /home/dgerard/p4/testmess/asn1_mac.h
rename: /home/dgerard/p4/testmess/asn1_mac.h: No such file or directory
//depot/openssl/0.9.8j/openssl/include/openssl/asn1t.h#2 - updating /home/dgerard/p4/testmess/asn1t.h
rename: /home/dgerard/p4/testmess/asn1t.h: No such file or directory
//depot/openssl/0.9.8j/openssl/include/openssl/bio.h#2 - updating /home/dgerard/p4/testmess/bio.h
rename: /home/dgerard/p4/testmess/bio.h: No such file or directory
//depot/openssl/0.9.8j/openssl/include/openssl/blowfish.h#2 - updating /home/dgerard/p4/testmess/blowfish.h
rename: /home/dgerard/p4/testmess/blowfish.h: No such file or directory
//depot/openssl/0.9.8j/openssl/include/openssl/bn.h#2 - updating /home/dgerard/p4/testmess/bn.h
rename: /home/dgerard/p4/testmess/bn.h: No such file or directory

And the folder remains untouched.
Quite strange for me...


--
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]