Ulysses
Ulysses

Reputation: 6015

Unable to execute - Git P4 clone broken

After git installation - I tried to clone an existing p4 branch, but it failed with the following information:

c:\P4_GIT\DT>git p4 clone //depot/CTAT/Windows/OneP/
fatal: 'p4' appears to be a git command, but we were not
able to execute it. Maybe git-p4 is broken?

Upvotes: 12

Views: 8641

Answers (5)

Siderite Zackwehdex
Siderite Zackwehdex

Reputation: 6570

Gabriel Morin's answer is the best for me, but it's incomplete:

  1. gitconfig is found in C:\Program Files\Git\mingw64\etc.
  2. if you get python.exe 'c:\program files\Git\mingw64\libexec\git-core\git-p4': python.exe: command not found you might want to add Python to the PATH or fully specify the path of a python.exe on your machine, like this:
[alias]
    p4 = !'C:\\Program Files\\Python27\\python.exe' 'c:\\program files\\Git\\mingw64\\libexec\\git-core\\git-p4'
  1. even so you might get something like: failure accessing depot: could not connect which is either because you use the interactive p4 interface and you don't have the environment variables that allow you to connect to perforce from the command line (see if p4 sync works for you) and set :
p4 set P4PORT=<server>:1666
p4 set P4USER=<user>
p4 set P4PASSWD=<password>
p4 set P4CLIENT=<some name>

  1. git-p4.py does NOT work with Python 3.0. You need to install Python 2.7.3 or whichever is highest.

Upvotes: 8

Russell Gallop
Russell Gallop

Reputation: 1699

I saw this on Git for Windows 2.16.1.4 and fixed it by replacing the shebang in "C:\Program Files\Git\mingw64\libexec\git-core\git-p4".

I replaced:

#!/usr/bin/python2

with:

#!/usr/bin/env python

NOTE: depending on how git was installed, this file may instead be in

C:\Users\[USERNAME]\AppData\Local\Programs\Git\mingw64\libexec\git-core

Upvotes: 21

Gabriel Morin
Gabriel Morin

Reputation: 802

It's not that complicated really, at least as of October 2017:

I installed Python 2.7.x for Windows, Git for Windows 2.14.2, and Perforce command line tools. I put all three on my path and tested that I was able to call python, git and p4 from the command line. Then I was able to add this to my gitconfig:

[alias]
    p4 = !python.exe 'c:\\program files\\Git\\mingw64\\libexec\\git-core\\git-p4'

Then using git p4 from the command line worked.

Upvotes: 6

Douglas Leeder
Douglas Leeder

Reputation: 53320

I've had more success (on Linux admittedly) downloading one of the git-p4 branches from github and calling it directly (git-p4) rather than through git p4.

Maybe that would help you?

Upvotes: 1

sferencik
sferencik

Reputation: 3249

I've never come across git for Windows with Python support (which is needed for git p4). But maybe I'm missing something. Every time I used git p4 on Windows, I would get

> git p4
basename: too many arguments
Try `basename --help' for more information.
fatal: git was built without support for  (NO_PYTHON=YesPlease).

Which is also confirmed here.

But your error message is different so maybe you do have git with Python support. Not sure...

Upvotes: 2

Related Questions