Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

GitLab Repositories with dots result in wrong paths for the SARIF converter

オープン
#10 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
48/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
停滞
技術スタック
csharp
領域
tooling

調査の方向性

Start at CodeQualityToGitlab/SarifConverters/Converter1.cs around line 87 and inspect how MakeRelativeUri handles a project path such as /builds/my_group/ns.myproject. Compare this behavior with the roslynator converter's root-path handling. Done means SARIF paths under project roots containing dots are converted to the correct relative paths.

索引モデルが issue の本文から書いたものです。

説明

https://github.com/codecentric/dotnet_gitlab_code_quality/blob/63ec7e8061f38fa65189dabde3aeb7d832e1257d/CodeQualityToGitlab/SarifConverters/Converter1.cs#L87

If the project path contains any dots, e.g.: /builds/my_group/ns.myproject the roslynator converter correctly transforms the root paths.

However the Sarif Converters make use of the MakeRelativeUri function, which will treat the string wrong.

I suggest using something more robust like

var uri = new Uri(pathRoot);
var absolutePath = begin.ResultFile.Uri.LocalPath;
var rootPath = uri.LocalPath;

if (absolutePath.StartsWith(rootPath))
{
   return absolutePath.Substring(rootPath.Length).Replace("//", "\\");
}

return begin.ResultFile.Uri.MakeRelativeUri(uri).ToString().Replace("//", "\\");
主要言語
C#
スター
14
フォーク
8
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

codecentric/dotnet_gitlab_code_quality のほかの issue

codecentric/dotnet_gitlab_code_quality の issue をすべて見る

似ている issue

C# の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。