Hi all,

First, many thanks for all your work on git. It has been an
invaluable tool.

I believe I've found a bug. Submodules break when I use ``git mv``
to rename a directory, which contains a submodule as one of its
_sub_directories.

Here's the script I've been using to reproduce:

        #!/bin/bash

        # Settings
        REPO_TO_CLONE="$HOME/www/wfpl.git"

        # run in new directory
        export REPODIR="git-bug-$(date '+%s')"
        mkdir "$REPODIR" || exit $?
        cd "$REPODIR" || exit $?

        git --version

        # make a git repo with a submodule
        git init || exit $?
        mkdir old || exit $?
        git submodule add ~/www/wfpl.git old/wfpl || exit $?

        # run the command that borks the submodule
        git mv old new || exit $?

        # demonstrate that it's borked:
        git status || exit $?
        # for me this command produces:
        #     fatal: Could not chdir to '../../../../old/wfpl': No such file or 
directory
        #     fatal: 'git status --porcelain' failed in submodule new/wfpl

I run that and get this:

        git version 2.3.1.431.g836cf63
        Initialized empty Git repository in
        /home/jasonwoof/git-bug/git-bug-1425397321/.git/
        Cloning into 'old/wfpl'...
        done.
        fatal: Could not chdir to '../../../../old/wfpl': No such file or
        directory
        fatal: 'git status --porcelain' failed in submodule new/wfpl
        zsh: exit 128   ./script.sh

I got this same error (every time) with git-2.1.4-2.1 from debian
unstable, and from github's master (7f4ba4b6e3ba7), and from
github's pu branch (836cf6345)

All of the above running on debian unstable.

You'll need to change REPO_TO_CLONE of course.

It's probably worth noting that if I use ``git mv`` on the
submodule directly, it works fine. eg if I replace the ``git mv``
line in the above script with:

        mkdir new
        git mv old/wfpl new/wfpl

then it works fine (no error messages).


I am not subscribed to this list, so please remember to reply-all
if I can be of further assistance.

Thanks you!

-- 
Jason
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to