Example #1
0
 public Item Add(string path,SVNFileType type)
 {
     Item item = new Item();
     item.isSelected = true;
     item.isFocused = false;
     switch(type){
     case SVNFileType.Added:
     case SVNFileType.Modify:
     case SVNFileType.Delete:
     case SVNFileType.New:
     case SVNFileType.Missing:
         AddItem(type,path);
         break;
     }
     return item;
 }
Example #2
0
    private static void SetFileStatus(string path,SVNFileType status)
    {
        if(_statusCache.ContainsKey(path)){
            if(_statusCache[path] == SVNFileType.Conflict){

            }else{
                _statusCache[path] = status;
            }
        }else{
            _statusCache.Add(path,status);
        }

        string parent = System.IO.Path.GetDirectoryName(path);
        if(string.IsNullOrEmpty(parent)){
            return;
        }
        if(status == SVNFileType.External){
            return;
        }
        SVNFileType parentStatus = SVNFileType.Modify;
        if(status == SVNFileType.Conflict){
            parentStatus = SVNFileType.Conflict;
        }
        SetFileStatus(parent,parentStatus);
    }
Example #3
0
    private Item AddItem(SVNFileType type,string path)
    {
        if(_itemMap.ContainsKey(path)){
            if(type == SVNFileType.None){
                return _itemMap[path];
            }
            if(_itemMap[path].type == SVNFileType.None){
                _itemMap[path].type = type;
            }else{
                Debug.LogError("Somthing error");
            }
            return _itemMap[path];
        }

        Item item = new Item();
        item.isSelected = true;
        item.isFocused = false;
        item.type = type;
        item.path = path.Trim();
        string parent = System.IO.Path.GetDirectoryName(item.path);
        if(string.IsNullOrEmpty(parent)){//top level
            _topLevelItems.Add(item);
        }else{
            if(!_itemMap.ContainsKey(parent)){
                Item direItem = AddItem(SVNFileType.None,parent);
                direItem.isFolder = true;
            }
            _itemMap[parent].children.Add(item);
        }
        if(_itemMap.ContainsKey(item.path)){
            return item;
        }
        _itemMap.Add(item.path,item);
        return item;
    }