anchor.diff:              }
               break;
             case FileStatusType.UNTRACKED:
  -            status.type = FileStatusType.UNTRACKED;
  +            if (status.type != FileStatusType.MODIFIED) {
  +              status.type = FileStatusType.UNTRACKED;
  +            }
               break;
             default:
               throw "Unsupported file status type.";
  
positive.code:    */
    String type;
  
    FileStatus();
  
    FileStatus.fromMap(Map m) {
      path = m['path'];
  
negative.code:              return new Future.value();
             });
           } else {
             // don't update index for untracked files.
             if (_statusIdx[entry.fullPath] != null) {
               return getShaForEntry(entry, 'blob').then((String sha) {
                 return entry.getMetadata().then((data) {
                   FileStatus status = new FileStatus();
                   status.path = entry.fullPath;
                   status.sha = sha;
                   status.size = data.size;
                   updateIndexForEntry(status);
                   filePaths.add(entry.fullPath);
                 });
               });
             }
           }
        }).then((_) {
          _updateDeletedFiles(filePaths);
  