Skip to content
  • Jens Lehmann's avatar
    Submodules: Add the new "ignore" config option for diff and status · aee9c7d6
    Jens Lehmann authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    The new "ignore" config option controls the default behavior for "git
    status" and the diff family. It specifies under what circumstances they
    consider submodules as modified and can be set separately for each
    submodule.
    
    The command line option "--ignore-submodules=" has been extended to accept
    the new parameter "none" for both status and diff.
    
    Users that chose submodules to get rid of long work tree scanning times
    might want to set the "dirty" option for those submodules. This brings
    back the pre 1.7.0 behavior, where submodule work trees were never
    scanned for modifications. By using "--ignore-submodules=none" on the
    command line the status and diff commands can be told to do a full scan.
    
    This option can be set to the following values (which have the same name
    and meaning as for the "--ignore-submodules" option of status and diff):
    
    "all": All changes to the submodule will be ignored.
    
    "dirty": Only differences of the commit recorded in the superproject and
    	the submodules HEAD will be considered modifications, all changes
    	to the work tree of the submodule will be ignored. When using this
    	value, the submodule will not be scanned for work tree changes at
    	all, leading to a performance benefit on large submodules.
    
    "untracked": Only untracked files in the submodules work tree are ignored,
    	a changed HEAD and/or modified files in the submodule will mark it
    	as modified.
    
    "none" (which is the default): Either untracked or modified files in a
    	submodules work tree or a difference between the subdmodules HEAD
    	and the commit recorded in the superproject will make it show up
    	as changed. This value is added as a new parameter for the
    	"--ignore-submodules" option of the diff family and "git status"
    	so the user can override the settings in the configuration.
    
    Signed-off-by: default avatarJens Lehmann <Jens.Lehmann@web.de>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    aee9c7d6