]> rtime.felk.cvut.cz Git - git.git/commitdiff
Merge branch 'cb/assume-unchanged-fix'
authorJunio C Hamano <gitster@pobox.com>
Sun, 13 Jun 2010 18:21:11 +0000 (11:21 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sun, 13 Jun 2010 18:21:11 +0000 (11:21 -0700)
* cb/assume-unchanged-fix:
  Documentation: git-add does not update files marked "assume unchanged"
  do not overwrite files marked "assume unchanged"

1  2 
unpack-trees.c

diff --combined unpack-trees.c
index c29a9e067ff362063d6626e8e4d1e4466d63b8af,1a8030ced0b7923d44d6b891133458e98ce969c7..490cd5f6f4779cbff68405722b98e522cbeb3cde
@@@ -67,8 -67,16 +67,8 @@@ static void unlink_entry(struct cache_e
  {
        if (has_symlink_or_noent_leading_path(ce->name, ce_namelen(ce)))
                return;
 -      if (S_ISGITLINK(ce->ce_mode)) {
 -              if (rmdir(ce->name)) {
 -                      warning("unable to rmdir %s: %s",
 -                              ce->name, strerror(errno));
 -                      return;
 -              }
 -      }
 -      else
 -              if (unlink_or_warn(ce->name))
 -                      return;
 +      if (remove_or_warn(ce->ce_mode, ce->name))
 +              return;
        schedule_dir_for_removal(ce->name, ce_namelen(ce));
  }
  
@@@ -854,7 -862,7 +854,7 @@@ static int verify_uptodate_1(struct cac
  {
        struct stat st;
  
-       if (o->index_only || (!ce_skip_worktree(ce) && (o->reset || ce_uptodate(ce))))
+       if (o->index_only || (!((ce->ce_flags & CE_VALID) || ce_skip_worktree(ce)) && (o->reset || ce_uptodate(ce))))
                return 0;
  
        if (!lstat(ce->name, &st)) {