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

Check out doesn't set x-flag on CIFS

From
AEAndre Esser <andre.esser@geneity.co.uk>
Date
May 29, 2013, 14:16 UTC
Message-ID
<loom.20130529T161408-317@post.gmane.org>
Hello,

When on a CIFS filesystem a git checkout does not replicate the executable flag from the repository:

  $ git clone git://git/abettersqlplus
  Cloning into 'abettersqlplus'...
  remote: Counting objects: 522, done.
  remote: Compressing objects: 100% (342/342), done.
  remote: Total 522 (delta 166), reused 522 (delta 166)
  Receiving objects: 100% (522/522), 82.40 KiB, done.
  Resolving deltas: 100% (166/166), done.
  $ ls -l abettersqlplus/absp.py
  -rw-rw-r-- 1 aesser geneity 45860 May 29 14:46 abettersqlplus/absp.py
Subsequently git status reports the file as changed:
  $ cd abettersqlplus/
  $ git status
  # On branch master
  # Changes not staged for commit:
  #   (use "git add <file>..." to update what will be committed)
  #   (use "git checkout -- <file>..." to discard changes in working
  directory)
  #
  #    modified:   absp.py
  #
  no changes added to commit (use "git add" and/or "git commit -a")
If I set the x-flag manually, all is well:
  $ chmod +x absp.py
  $ git status
  # On branch master
  nothing to commit (working directory clean)

This problem doesn't occur on ext3 or NFS file systems. Client is Ubuntu 12.04 with git version 1.7.9.5. CIFS is exported from Ubuntu 12.04 with Samba version 3.6.3.

Since git recognises the x-flag on this CIFS file system, shouldn't it also be able to set it on checkout?

Many thanks,
Andre Esser
Next: Erik Faye-Lund
Message 1 of 4 in “Check out doesn't set x-flag on CIFS”
  1. Andre EsserMay 29, 2013
  2. Erik Faye-LundNov 20, 2013
  3. Andre EsserNov 20, 2013
  4. Erik Faye-LundNov 20, 2013

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.