anchor.diff:              [{?MODULE,?FUNCTION_NAME,?LINE}, length(Rest) + 1,
                   App, AppVsn]
           ),
  -        {GitRoot, Repo} = git_info(Opts, mod_source(Mod)),
  -        Opts1 = Opts#{gitRoot => GitRoot, gitRepo => Repo},
  -        FileOrigin = git_file(Opts1, mod_source(Mod)),
  +        {FileOrigin, Opts2} = case mod_gitOrigin(Mod) of
  +            undefined ->
  +                {GitRoot, Repo} = git_info(Opts, mod_source(Mod)),
  +                Opts1 = Opts#{gitRoot => GitRoot, gitRepo => Repo},
  +                {git_file(Opts1, mod_source(Mod)), Opts1};
  +            FileOrig -> {FileOrig, Opts}
  +        end,
           DDRec1 = DDRec#ddVersion{fileOrigin = FileOrigin},
  -        Acc1 = process_app(DDRec1, Opts1, Mod) ++ Acc,
  +        Acc1 = process_app(DDRec1, Opts2, Mod) ++ Acc,
           PrivDir = code:priv_dir(App),
           NewAcc =
               case filelib:is_dir(PrivDir) of
  
positive.code:         _ -> <<>>
      end.
  
  git_info(#{git := true} = Opts, Path) when is_list(Path); is_binary(Path) ->
      case file:set_cwd(filename:dirname(Path)) of
          ok ->
  
negative.code:                     list_to_binary([GitRoot, RelativePath1])
              end;
          _ -> list_to_binary([GitRoot, RelativePath])
      end;
  git_file(_Opts, _Path, _BaseName, _RelativePath) -> <<>>.
  
  walk_priv(_, _, _, [], Acc) -> Acc;
  walk_priv(App, AppVsn, Path, [FileOrFolder | Rest], Acc) ->
  