When I modified fetch-pack.h I was surprised by the fact, that it does not result in rebuilding all object files. In fact, no file was rebuilt. It turned out, that fetch-pack.h was not mentioned in the Makefile. A quick search (on next) showed, that other header files are also not taking part in dependency checking: $for a in `ls *.h`; do grep "$a" Makefile >/dev/null || (echo "missing: $a"; grep "$a" *.c|grep include) ; done missing: branch.h branch.c:#include "branch.h" builtin-branch.c:#include "branch.h" builtin-checkout.c:#include "branch.h" builtin-reset.c:#include "branch.h" missing: bundle.h builtin-bundle.c:#include "bundle.h" bundle.c:#include "bundle.h" transport.c:#include "bundle.h" missing: color.h builtin-branch.c:#include "color.h" builtin-commit.c:#include "color.h" builtin-config.c:#include "color.h" builtin-diff.c:#include "color.h" builtin-log.c:#include "color.h" color.c:#include "color.h" diff.c:#include "color.h" wt-status.c:#include "color.h" missing: exec_cmd.h builtin-add.c:#include "exec_cmd.h" builtin-archive.c:#include "exec_cmd.h" builtin-cat-file.c:#include "exec_cmd.h" builtin-describe.c:#include "exec_cmd.h" builtin-fetch-pack.c:#include "exec_cmd.h" builtin-init-db.c:#include "exec_cmd.h" builtin-revert.c:#include "exec_cmd.h" config.c:#include "exec_cmd.h" daemon.c:#include "exec_cmd.h" exec_cmd.c:#include "exec_cmd.h" git.c:#include "exec_cmd.h" help.c:#include "exec_cmd.h" http-push.c:#include "exec_cmd.h" receive-pack.c:#include "exec_cmd.h" run-command.c:#include "exec_cmd.h" shell.c:#include "exec_cmd.h" upload-pack.c:#include "exec_cmd.h" missing: fetch-pack.h builtin-fetch-pack.c:#include "fetch-pack.h" transport.c:#include "fetch-pack.h" missing: interpolate.h builtin-merge-recursive.c:#include "interpolate.h" daemon.c:#include "interpolate.h" interpolate.c:#include "interpolate.h" ll-merge.c:#include "interpolate.h" missing: merge-recursive.h builtin-checkout.c:#include "merge-recursive.h" builtin-merge-recursive.c:#include "merge-recursive.h" missing: reachable.h builtin-prune.c:#include "reachable.h" builtin-reflog.c:#include "reachable.h" reachable.c:#include "reachable.h" missing: send-pack.h builtin-send-pack.c:#include "send-pack.h" transport.c:#include "send-pack.h" missing: shortlog.h builtin-log.c:#include "shortlog.h" builtin-shortlog.c:#include "shortlog.h" missing: tar.h archive-tar.c:#include "tar.h" builtin-tar-tree.c:#include "tar.h" missing: thread-utils.h builtin-pack-objects.c:#include "thread-utils.h" missing: walker.h builtin-http-fetch.c:#include "walker.h" http-walker.c:#include "walker.h" transport.c:#include "walker.h" walker.c:#include "walker.h" missing: xdiff-interface.h builtin-blame.c:#include "xdiff-interface.h" builtin-merge-file.c:#include "xdiff-interface.h" builtin-merge-recursive.c:#include "xdiff-interface.h" builtin-rerere.c:#include "xdiff-interface.h" combine-diff.c:#include "xdiff-interface.h" diff.c:#include "xdiff-interface.h" grep.c:#include "xdiff-interface.h" ll-merge.c:#include "xdiff-interface.h" merge-file.c:#include "xdiff-interface.h" merge-tree.c:#include "xdiff-interface.h" xdiff-interface.c:#include "xdiff-interface.h" Adding this header files to LIB_H should fix the problem. mfg Martin Kögler -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html