iex(11)> lst = File.ls!(Path.expand("./.git"))
["HEAD", "hooks", "index", "branches", "refs", "logs", "COMMIT_EDITMSG",
"objects", "ORIG_HEAD", "config", "description", "info"]
iex(12)> dirs = for x <- lst, File.dir?(x), do: x
["config"]
iex(13)> lst = for x <- File.ls!(Path.expand("./.git")), do: Path.expand(x)
["/home/alexey/spaces/elixir/ex_procr/HEAD",
"/home/alexey/spaces/elixir/ex_procr/hooks",
"/home/alexey/spaces/elixir/ex_procr/index",
"/home/alexey/spaces/elixir/ex_procr/branches",
"/home/alexey/spaces/elixir/ex_procr/refs",
"/home/alexey/spaces/elixir/ex_procr/logs",
"/home/alexey/spaces/elixir/ex_procr/COMMIT_EDITMSG",
"/home/alexey/spaces/elixir/ex_procr/objects",
"/home/alexey/spaces/elixir/ex_procr/ORIG_HEAD",
"/home/alexey/spaces/elixir/ex_procr/config",
"/home/alexey/spaces/elixir/ex_procr/description",
"/home/alexey/spaces/elixir/ex_procr/info"]
iex(14)> dirs = for x <- lst, File.dir?(x), do: x
["/home/alexey/spaces/elixir/ex_procr/config"]
Both relative and absolute path cases look equally wrong. Current directory listings are correct:
iex(15)> lst = File.ls!(Path.expand("."))
["README.md", ".git", "pcx", "deps", "mix.lock", "test", "_build", ".gitignore",
"mix.exs", "config", "lib", ".formatter.exs", "e.vim"]
iex(16)> dirs = for x <- lst, File.dir?(x), do: x
[".git", "deps", "test", "_build", "config", "lib"]
Any ideas?