Exemplo n.º 1
0
    // returns a list of remote files in a recursive manner
    private List <GitNode> GetRemoteFiles(string id, string path, string branch = "master", string filename = "")
    {
        List <GitNode> remoteFiles = new List <GitNode>();

        try
        {
            List <GitNode> dir = RequestFromGit <List <GitNode> >(id, path: filename, branch: branch);
            foreach (GitNode file in dir)
            {
                if (file.type == "tree")
                {
                    remoteFiles.AddRange(GetRemoteFiles(id: id, branch: branch, filename: file.path, path: path));
                }
                else
                {
                    file.matches_local = localSha.MatchesCache(path + file.path, file.id);
                    remoteFiles.Add(file);
                }
            }
            return(remoteFiles);
        }
        catch (Exception e) { Program.DEBUGLOG("GitNode get error"); return(new List <GitNode>()); }
    }