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

[RFD] git stash over OpenBSD/Linux NFS - cp -p breakage

From
JPJakob Pfender <jpfender@elegosoft.com>
Date
Mar 15, 2011, 10:08 UTC
Message-ID
<4D7F3AA4.1080202@elegosoft.com>

We have an NFS setup with Linux machines mounting an NFS that is hosted on an OpenBSD server. Recently, we discovered git-stash breaking with:

$ git stash cp: preserving permissions for `/home/jpfender/stashtest/.git/.git-stash.3056-index': Operation not supported Cannot save the current worktree state

This was discovered to be caused by a bug in cp that causes 'cp -p' to fail in this particular NFS setup - preserving permissions in an NFS shared across Linux and OpenBSD machines doesn't work.

I looked at git-stash.sh and could not discover a reason why it had to use 'cp -p'. I patched it to use only cp without preserving permissions, and everything seemed to work fine. All stash tests succeeded (bar two known breakages).

So my question is: Does git-stash really need 'cp -p'? Is it safe to remove?
Next: Johannes Sixt
Message 1 of 9 in “[RFD] git stash over OpenBSD/Linux NFS - cp -p breakage”
  1. Jakob PfenderMar 15, 2011
  2. Johannes SixtMar 15, 2011
  3. Jakob PfenderMar 15, 2011
  4. stash: copy the index using --index-output instead of cp -pJohannes Sixt, Mar 15, 2011
  5. Junio C HamanoMar 15, 2011
  6. Bert WesargMar 15, 2011
  7. Johannes SixtMar 16, 2011
  8. 1/2 stash: fix incorrect quoting in cleanup of temporary filesJohannes Sixt, Mar 16, 2011
  9. 2/2 stash: copy the index using --index-output instead of cp -pJohannes Sixt, Mar 16, 2011

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.