From 1c2502ee83927437442b13b83f3a7976e4146a01 Mon Sep 17 00:00:00 2001 From: Markus Siemens Date: Tue, 7 Apr 2015 14:33:39 +0200 Subject: Fix problem with submodules on Windows On Windows, `repo.create_submodule(...)` failed because git didn't recognize the worktree path set in `.git/modules/sub/config` (`fatal: bad config file line 6 in ./config`). This commit makes `_write_git_file_and_module_config` convert the worktree path to the linux format (forward slashes) which git recognizes. --- git/objects/submodule/base.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/git/objects/submodule/base.py b/git/objects/submodule/base.py index 7e8dd053..f9b0b6ad 100644 --- a/git/objects/submodule/base.py +++ b/git/objects/submodule/base.py @@ -293,7 +293,8 @@ class Submodule(util.IndexObject, Iterable, Traversable): fp.close() writer = GitConfigParser(os.path.join(module_abspath, 'config'), read_only=False, merge_includes=False) - writer.set_value('core', 'worktree', os.path.relpath(working_tree_dir, start=module_abspath)) + writer.set_value('core', 'worktree', + to_native_path_linux(os.path.relpath(working_tree_dir, start=module_abspath))) writer.release() #{ Edit Interface -- cgit v1.2.1