git/list[1] front-page[2] threads[3] people[4] search[5] about
 

git-p4 useclientspec broken?

From
LCLaurent Charrière <lcharriere@promptu.com>
Date
Feb 14, 2012, 00:47 UTC
Message-ID
<4F39AF04.5080607@promptu.com>

Since I've upgraded to 1.7.9 (on OS X Lion, FWIW), git-p4 submit fails to apply any patches if I use useclientspec=true when cloning.

My p4 client is as follows:
Client:	malibu
(...)
Root:	/Users/lcharriere/Documents/Perforce/all
(...)
View:
	//sandbox/... //malibu/sandbox/...
	//depot/... //malibu/depot/...
Sequence of steps to reproduce:

$ git p4 clone //sandbox/lcharriere/foo --use-client-spec $ cd foo && find . ./.git (...) ./sandbox/lcharriere/foo/.gitignore ./sandbox/lcharriere/foo/foo.py

-- This is new behavior to me, BTW. Previously, I would have seen ./.git (...) ./.gitignore ./foo.py

$ cat "test" >> sandbox/lcharriere/foo/.gitignore
$ git commit -a -m "test"
git commit -a -m "test"
[master 7398144] test
  1 files changed, 1 insertions(+), 0 deletions(-)
$ git p4 submit
Perforce checkout for depot path //sandbox/lcharriere/foo/ located at 
/Users/lcharriere/Documents/Perforce/all/sandbox/lcharriere/foo/
Synchronizing p4 checkout...
... - file(s) up-to-date.
Applying 739814457a8faa84dc0bddd830f671569576b177 test

sandbox/lcharriere/foo/.gitignore - file(s) not on client. error: sandbox/lcharriere/foo/.gitignore: No such file or directory Unfortunately applying the change failed! What do you want to do? [s]kip this patch / [a]pply the patch forcibly and with .rej files / [w]rite the patch to a file (patch.txt)

I tried to follow what's going on with pdb:
* self.depotPath is //sandbox/lcharriere/foo, so git-p4 chdir's to 
/Users/lcharriere/Documents/Perforce/all/sandbox/lcharriere/foo/
* In P4Submit.applyCommit, line 926 is:
p4_edit(path)
At this point path is 'sandbox/lcharriere/foo/.gitignore'

I'm guessing this is why the p4 executable doesn't find it. The path should be .gitignore. Is it possible that the new behavior I mentioned above of reproducing the depot hierarchy when useclientspec is true is having unintended side effects, or is a bug?

Next: Pete Wyckoff
Message 1 of 3 in “git-p4 useclientspec broken?”
  1. Laurent CharrièreFeb 14, 2012
  2. Pete WyckoffFeb 14, 2012
  3. Laurent CharrièreFeb 14, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.