Unable to execute - Git P4 clone broken
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.
Gabriel Morin's answer is the best for me, but it's incomplete:
- gitconfig is found in C:\Program Files\Git\mingw64\etc.
- 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'
- 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>
- git-p4.py does NOT work with Python 3.0. You need to install Python 2.7.3 or whichever is highest.
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
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...