Skip to content

Adição de suporte para cálculo de churn de arquivos e de coleta de arquivos dos commits#5

Merged
jadsonjs merged 19 commits into
jadsonjs:masterfrom
luisaferreirass:master
Jun 22, 2026
Merged

Adição de suporte para cálculo de churn de arquivos e de coleta de arquivos dos commits#5
jadsonjs merged 19 commits into
jadsonjs:masterfrom
luisaferreirass:master

Conversation

@luisaferreirass

@luisaferreirass luisaferreirass commented Dec 15, 2025

Copy link
Copy Markdown
Contributor

Este Pull Request introduz novas funcionalidades para a coleta e organização de dados relacionados a arquivos de um repositório.

Principais alterações:

  1. Implementação de uma nova query GraphQL para obter a quantidade de modificações (churn) de um arquivo (commit fbebb6b)
  2. Criação de novas classes de domínio responsáveis por armazenar informações sobre os arquivos de um repositório (commit 25098cc e commit fbb252a)
  3. Adição do atributo totalCount à classe que representa o histórico de alterações de um arquivo
    (commit b00dfe8)
  4. Implementação de um novo método para recuperar todos os arquivos de um repositório
    (commit 6ccaa8d)
  5. Adição de um novo executor de queries para o GitLab (commit 2de9cb8)
  6. Criação da classe de arquivos modificados (FileChanged) para o GitHub e o GitLab (commit 082ec70 e commit 8f46258)
  7. Criação de métodos de coleta de arquivos modificados por commit para o GitHub e GitLab (commit e44d91a e commit 7a0b91b)
  8. Criação de classe de diferenças de commmits do GitLab (commit f87a46c)

@luisaferreirass luisaferreirass changed the title Adição de suporte para cálculo de churn de arquivos Adição de suporte para cálculo de churn de arquivos e de coleta de arquivos dos commits Jun 11, 2026
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class GitHubCommitInfo {
public class CommitInfo {

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Por favor, não mudar o nome da classe

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

existe mais de um repositorio. O prefixo ajuda a distinguir entre repositóros. GitLabCommitInfo e GitHubCommitInfo.

return result.getBody();
}

public GitHubTreeInfo getAllFiles(String repoFullName, String branch){

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Procura comentar o que esse metodo faz. All file da onde? todos os arquivos do repositorio? Exemplo:

Get all files of repository, include source code a configuration files.

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;

@JsonIgnoreProperties(ignoreUnknown = true)

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adicionar um comentários para o que essa classe serve. para que ela é usada.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Procurar especificar no nome da classe. CommitDiff para: GitlabCommitDiff

}

}
public List<FileChanged> getCommitsFiles(String repoFullName, GitLabCommitInfo commit){

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

comentário: this method return all files of a specific commit in a repository

import java.util.Arrays;
import java.util.List;

public class GitLabRepoQueryExecutor extends AbstractGitLabQueryExecutor {

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comentário: This class should contain methods that return information about a repository in GitLab as a whole.


import java.util.List;

public class GitHubTreeInfo {

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

comentar que tipo de informação essa classe retorna

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

@JsonIgnoreProperties(ignoreUnknown = true)
public class FileChanged {

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

comentar que tipo de informação essa classe retorna

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FileChange para GithubFileChange

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

@JsonIgnoreProperties(ignoreUnknown = true)
public class FileStats {

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GithubFileStats

return allCommits;
}

public List<FileChanged> getCommitFiles(String repoFullName, CommitInfo commit){

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comentário do metodo: Returns information of file changes in a specfic commt. Like source code (.java) and configuration files (.md, .txt, .xml, etc...)

return new ArrayList<>();
}

public FileStats getFileStats(String projectFullName, String filePath, LocalDateTime sinceDate, LocalDateTime untilDate){

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is a filestats that this method returns? comment please.

@jadsonjs jadsonjs merged commit 3ac3890 into jadsonjs:master Jun 22, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants