#include "cache.h"
 #include "builtin.h"
 #include "dir.h"
+#include "cache-tree.h"
 
 static const char builtin_add_usage[] =
 "git-add [-n] [-v] <filepattern>...";
                die("unable to add %s to index",path);
        if (verbose)
                printf("add '%s'\n", path);
+       cache_tree_invalidate_path(active_cache_tree, path);
        return 0;
 }
 
-static struct cache_file cache_file;
+static struct lock_file lock_file;
 
 int cmd_add(int argc, const char **argv, char **envp)
 {
 
        git_config(git_default_config);
 
-       newfd = hold_index_file_for_update(&cache_file, get_index_file());
+       newfd = hold_lock_file_for_update(&lock_file, get_index_file());
        if (newfd < 0)
-               die("unable to create new cachefile");
+               die("unable to create new index file");
 
        if (read_cache() < 0)
                die("index file corrupt");
 
        if (active_cache_changed) {
                if (write_cache(newfd, active_cache, active_nr) ||
-                   commit_index_file(&cache_file))
+                   close(newfd) || commit_lock_file(&lock_file))
                        die("Unable to write new index file");
        }