Take the 2-minute tour ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

I added two submodules to my vim repository, and the git status command always outputs this:

On branch master
Changed but not updated:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

   modified:   bundle/snipmate
   modified:   bundle/yankring

I've run:

git submodule init
git submodule update
git add .

and nothing happens to make it go away. Any ideas?

share|improve this question

1 Answer 1

up vote 3 down vote accepted

This probably is due to a change added in git-1.7.0 by which submodules become marked as dirty if they contain modified or untracked files.

git status has an option --ignore-submodules to ignore specific changes. From man git-status:

--ignore-submodules[=<when>]
              Ignore changes to submodules when looking for changes. <when>
              can be either "none", "untracked", "dirty" or "all", which is
              the default. Using "none" will consider the submodule modified
              when it either contains untracked or modified files or its HEAD
              differs from the commit recorded in the superproject and can be
              used to override any settings of the ignore option in git-
              config(1) or gitmodules(5). When "untracked" is used submodules
              are not considered dirty when they only contain untracked
              content (but they are still scanned for modified content).
              Using "dirty" ignores all changes to the work tree of
              submodules, only changes to the commits stored in the
              superproject are shown (this was the behavior before 1.7.0).
              Using "all" hides all changes to submodules (and suppresses the
              output of submodule summaries when the config option
              status.submodulesummary is set).

(this option was only added in git-1.7.2)

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.
{"cc_re__cc_re__cc_by_sa_3_0": ["                  <li><a href=\"//area51.stackexchange.com\" title=\"proposing new sites in the Stack Exchange network\">Area 51</a></li>\r\n                        <li><a href=\"//careers.stackoverflow.com\">Stack Overflow Careers</a></li>\r\n                    \r\n                </ol>\r\n            </td>\r\n    </tr>\r\n</table>\r\n                </div>\r\n            </div>\r\n\r\n            <div id=\"copyright\">\r\n                site design / logo &#169; 2015 stack exchange inc; user contributions licensed under <a href=\"http://creativecommons.org/licenses/by-sa/3.0/\" rel=\"license\">cc by-sa 3.0</a> \r\n                with <a href=\"http://blog.stackoverflow.com/2009/06/attribution-required/\" rel=\"license\">attribution required</a>\r\n            </div>\r\n            <div id=\"svnrev\">\r\n                rev 2015.5.22.2602\r\n            </div>\r\n            \r\n        </div>\r\n    </div>\r\n    <noscript>\r\n        <div id=\"noscript-warning\">Stack Overflow works best with JavaScript enabled<img src=\"http://pixel.quantserve.com/pixel/p-c1rF4kxgLUzNc.gif\" alt=\"\" class=\"dno\"></div>\r\n    </nos"], "copyright__copyright__copyright": ["shown (this was the behavior before 1.7.0).\n              Using \"all\" hides all changes to submodules (and suppresses the\n              output of submodule summaries when the config option\n              status.submodulesummary is set).\n\n(this option was only added in git-1.7.2)\n\nshare|improve this answer\n\nYour Answer\n\n\u00a0\ndiscard\n\nBy posting your answer, you agree to the privacy policy and terms of service.\n\nNot the answer you're looking for? Browse other questions tagged or ask your own question."]}