[ 
https://issues.apache.org/jira/browse/NIFI-16526?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pierre Villard updated NIFI-16526:
----------------------------------
    Status: Patch Available  (was: Open)

> GitLab Flow Registry Client should use the file's last commit to determine 
> the latest version
> ---------------------------------------------------------------------------------------------
>
>                 Key: NIFI-16526
>                 URL: https://issues.apache.org/jira/browse/NIFI-16526
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Extensions
>            Reporter: Pierre Villard
>            Assignee: Pierre Villard
>            Priority: Major
>
> The GitLab Flow Registry Client determines the latest version of a flow by 
> taking the first result of the commits API, filtered by the flow file's path 
> (GET /projects/:id/repository/commits?ref_name=<branch>&path=<file>). On some 
> GitLab.com repositories, this endpoint has been observed returning commits 
> that do not modify the requested path. The flow is then reported as out of 
> date, with another flow's commit as the latest version. Importing the latest 
> version fails with "Path or Branch not found", and the version conflict check 
> on commit compares against the wrong commit.
> For the same repository, branch and path, the Repository Files API returns 
> the correct last_commit_id.
> This change adds a getLatestCommitSha method to GitRepositoryClient. By 
> default it uses the first commit returned by getCommits, so other providers 
> behave as before. AbstractGitFlowRegistryClient uses it when determining the 
> latest version and when checking for version conflicts. The GitLab 
> implementation reads last_commit_id from the Files API, which also replaces 
> the commits-list request on each sync with a single file metadata request. 
> Listing versions still uses the commits API.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to