threads / discuss / 39358

git p4 clone - exclude file types

Subject: git p4 clone - exclude file types

## tl;dr

7 messages between May 18, 2015 and May 22, 2015.

replies: 6people: 2as markdown or json

FusionX86· May 18, 2015, 17:59 UTC · lore
Hello,

Anyone know of a way to 'git p4 clone' and exclude files by type or name? For example, I want to clone a depot, but not pull down any .exe files. Haven't been able to find an answer in docs or other searches.

Luke Diamand· May 18, 2015, 20:59 UTC · re: FusionX86 · lore

Re: git p4 clone - exclude file types

On 18/05/15 18:59, FusionX86 wrote:
Show 5 quoted lines
> Hello,
>
> Anyone know of a way to 'git p4 clone' and exclude files by type or
> name? For example, I want to clone a depot, but not pull down any .exe
> files. Haven't been able to find an answer in docs or other searches.
I think you can use a client spec which excludes the files you want.
First, create a client spec that excludes the files you don't want:
Client: myclient
View:
     //depot/mystuff/...  //myclient/...
     -//depot/mystuff/...exe  //myclient/...exe
Then clone with the --use-client-spec option:

$ export P4CLIENT=myclient $ git p4 clone --use-client-spec //depot/mystuff

And later on, when you want to catch up:

$ cd mystuff $ git p4 sync --use-client-spec

Luke
FusionX86· May 19, 2015, 07:38 UTC · re: Luke Diamand · lore

Re: git p4 clone - exclude file types

Thanks Luke, looks like this does work for excluding files when using git p4. Great!

Unrelated question...

While using git p4 I have noticed that most of the time the clone/sync operations hang and I have to keep retrying. The Perforce depot I'm currently working with is larger than I'd like and has a lot of binary files which might be the cause. The point it gets to in the clone/sync is always random and doesn't ever stop on the same files or file types. Sometimes it'll die soon after starting, but other times it almost completes and then dies. If I keep retrying, it will eventually complete. I haven't been able to narrow down the cause, but I do notice that the git-fast-import stops right as the clone/sync dies. I'm wondering if git is overwhelmed and terminates. Have you ever seen this? Any suggestions?

As always, thanks for the help while I work through this migration project.
On Mon, May 18, 2015 at 2:59 PM, Luke Diamand <luke@diamand.org> wrote:
Show 30 quoted lines
> On 18/05/15 18:59, FusionX86 wrote:
>>
>> Hello,
>>
>> Anyone know of a way to 'git p4 clone' and exclude files by type or
>> name? For example, I want to clone a depot, but not pull down any .exe
>> files. Haven't been able to find an answer in docs or other searches.
>
>
> I think you can use a client spec which excludes the files you want.
>
> First, create a client spec that excludes the files you don't want:
>
> Client: myclient
> View:
>     //depot/mystuff/...  //myclient/...
>     -//depot/mystuff/...exe  //myclient/...exe
>
> Then clone with the --use-client-spec option:
>
> $ export P4CLIENT=myclient
> $ git p4 clone --use-client-spec //depot/mystuff
>
> And later on, when you want to catch up:
>
> $ cd mystuff
> $ git p4 sync --use-client-spec
>
> Luke
>
Luke Diamand· May 20, 2015, 06:49 UTC · re: FusionX86 · lore

Re: git p4 clone - exclude file types

On 19/05/15 08:38, FusionX86 wrote:
Show 16 quoted lines
> Thanks Luke, looks like this does work for excluding files when using
> git p4. Great!
>
> Unrelated question...
>
> While using git p4 I have noticed that most of the time the clone/sync
> operations hang and I have to keep retrying. The Perforce depot I'm
> currently working with is larger than I'd like and has a lot of binary
> files which might be the cause. The point it gets to in the clone/sync
> is always random and doesn't ever stop on the same files or file
> types. Sometimes it'll die soon after starting, but other times it
> almost completes and then dies. If I keep retrying, it will eventually
> complete. I haven't been able to narrow down the cause, but I do
> notice that the git-fast-import stops right as the clone/sync dies.
> I'm wondering if git is overwhelmed and terminates. Have you ever seen
> this? Any suggestions?
Running out of memory?
Is this on a 32bit or 64bit system? How much virtual memory do you have?
Luke
FusionX86· May 21, 2015, 20:49 UTC · re: Luke Diamand · lore

Re: git p4 clone - exclude file types

I thought about that, but no. The box I'm running git-p4 on has the following specs:

CentOS 6.6 64bit 1 CPU 8GB RAM 8GB Swap

It is also on the same physical network as the Perforce server. I remember seeing someone else complain about this, but I can't find the article/blog now.

On Wed, May 20, 2015 at 12:49 AM, Luke Diamand <luke@diamand.org> wrote:
Show 26 quoted lines
> On 19/05/15 08:38, FusionX86 wrote:
>>
>> Thanks Luke, looks like this does work for excluding files when using
>> git p4. Great!
>>
>> Unrelated question...
>>
>> While using git p4 I have noticed that most of the time the clone/sync
>> operations hang and I have to keep retrying. The Perforce depot I'm
>> currently working with is larger than I'd like and has a lot of binary
>> files which might be the cause. The point it gets to in the clone/sync
>> is always random and doesn't ever stop on the same files or file
>> types. Sometimes it'll die soon after starting, but other times it
>> almost completes and then dies. If I keep retrying, it will eventually
>> complete. I haven't been able to narrow down the cause, but I do
>> notice that the git-fast-import stops right as the clone/sync dies.
>> I'm wondering if git is overwhelmed and terminates. Have you ever seen
>> this? Any suggestions?
>
>
> Running out of memory?
>
> Is this on a 32bit or 64bit system? How much virtual memory do you have?
>
> Luke
>
Luke Diamand· May 21, 2015, 21:49 UTC · re: FusionX86 · lore

Re: git p4 clone - exclude file types

On 21/05/15 21:49, FusionX86 wrote:
Show 7 quoted lines
> I thought about that, but no. The box I'm running git-p4 on has the
> following specs:
>
> CentOS 6.6 64bit
> 1 CPU
> 8GB RAM
> 8GB Swap
Can you post the output, with "-v" added?
$ git-p4 clone //depot/some/dir -v
Also, what is your p4d server version?
$ p4 info

A quick test just cloning a repo with 4 files of 256MB each seems fine, FWIW.

Show 33 quoted lines
>
> It is also on the same physical network as the Perforce server. I
> remember seeing someone else complain about this, but I can't find the
> article/blog now.
>
>
> On Wed, May 20, 2015 at 12:49 AM, Luke Diamand <luke@diamand.org> wrote:
>> On 19/05/15 08:38, FusionX86 wrote:
>>>
>>> Thanks Luke, looks like this does work for excluding files when using
>>> git p4. Great!
>>>
>>> Unrelated question...
>>>
>>> While using git p4 I have noticed that most of the time the clone/sync
>>> operations hang and I have to keep retrying. The Perforce depot I'm
>>> currently working with is larger than I'd like and has a lot of binary
>>> files which might be the cause. The point it gets to in the clone/sync
>>> is always random and doesn't ever stop on the same files or file
>>> types. Sometimes it'll die soon after starting, but other times it
>>> almost completes and then dies. If I keep retrying, it will eventually
>>> complete. I haven't been able to narrow down the cause, but I do
>>> notice that the git-fast-import stops right as the clone/sync dies.
>>> I'm wondering if git is overwhelmed and terminates. Have you ever seen
>>> this? Any suggestions?
>>
>>
>> Running out of memory?
>>
>> Is this on a 32bit or 64bit system? How much virtual memory do you have?
>>
>> Luke
>>
FusionX86· May 22, 2015, 01:33 UTC · re: Luke Diamand · lore

Re: git p4 clone - exclude file types

Sure, but it doesn't show anything other than the last file that p4/git was working on. It's always a different file, but looks something like this:

/path/to/file/somefile1 /path/to/file/somefile2

and then just hangs...
It is trying to clone ~42846 files.

The p4d server version is older. It hasn't been maintained and we have no support. The version is: P4D/NTX64/2012.1/459601 (2012/05/09)

The single CPU does hit 100% at times, but it doesn't last and load is never high. Thought about adding a second CPU to see if it helps by chance. This isn't a show stopper since I can eventually get it to work if I keep trying, but figured I'd send it out to the community.

On Thu, May 21, 2015 at 3:49 PM, Luke Diamand <luke@diamand.org> wrote:
Show 60 quoted lines
> On 21/05/15 21:49, FusionX86 wrote:
>>
>> I thought about that, but no. The box I'm running git-p4 on has the
>> following specs:
>>
>> CentOS 6.6 64bit
>> 1 CPU
>> 8GB RAM
>> 8GB Swap
>
>
> Can you post the output, with "-v" added?
>
> $ git-p4 clone //depot/some/dir -v
>
> Also, what is your p4d server version?
>
> $ p4 info
>
> A quick test just cloning a repo with 4 files of 256MB each seems fine,
> FWIW.
>
>
>>
>> It is also on the same physical network as the Perforce server. I
>> remember seeing someone else complain about this, but I can't find the
>> article/blog now.
>>
>>
>> On Wed, May 20, 2015 at 12:49 AM, Luke Diamand <luke@diamand.org> wrote:
>>>
>>> On 19/05/15 08:38, FusionX86 wrote:
>>>>
>>>>
>>>> Thanks Luke, looks like this does work for excluding files when using
>>>> git p4. Great!
>>>>
>>>> Unrelated question...
>>>>
>>>> While using git p4 I have noticed that most of the time the clone/sync
>>>> operations hang and I have to keep retrying. The Perforce depot I'm
>>>> currently working with is larger than I'd like and has a lot of binary
>>>> files which might be the cause. The point it gets to in the clone/sync
>>>> is always random and doesn't ever stop on the same files or file
>>>> types. Sometimes it'll die soon after starting, but other times it
>>>> almost completes and then dies. If I keep retrying, it will eventually
>>>> complete. I haven't been able to narrow down the cause, but I do
>>>> notice that the git-fast-import stops right as the clone/sync dies.
>>>> I'm wondering if git is overwhelmed and terminates. Have you ever seen
>>>> this? Any suggestions?
>>>
>>>
>>>
>>> Running out of memory?
>>>
>>> Is this on a 32bit or 64bit system? How much virtual memory do you have?
>>>
>>> Luke
>>>
>

← back to recent threads