PrestaShop / PrestaShop/traces

Contributors without associated GitHub account are not listed on the contributors board

Open
#6 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
PHP
Stars
7
Forks
36
Avg merge
4h 51m
Merged PRs (30d)
7

Description

After a few checks on the GitHub API, there is an option to include in the list of contributors people with commits still associated to their email, but not associated to a GitHub account anymore. GitHub call them "anonymous".

Exemple of http request on GitHub v3 API that will list all contributors, including anonymous:
https://api.github.com/repos/prestashop/prestashop/contributors?anon=true
Please note the option "anon=true"

In the JSON results, you will notice classic results, associated to a GitHub account:

{
    "login": "rGaillard",
    "id": 2787216,
    "node_id": "MDQ6VXNlcjI3ODcyMTY=",
    "avatar_url": "https://avatars2.githubusercontent.com/u/2787216?v=4",
    "gravatar_id": "",
    "url": "https://api.github.com/users/rGaillard",
    "html_url": "https://github.com/rGaillard",
    "followers_url": "https://api.github.com/users/rGaillard/followers",
    "following_url": "https://api.github.com/users/rGaillard/following{/other_user}",
    "gists_url": "https://api.github.com/users/rGaillard/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/rGaillard/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/rGaillard/subscriptions",
    "organizations_url": "https://api.github.com/users/rGaillard/orgs",
    "repos_url": "https://api.github.com/users/rGaillard/repos",
    "events_url": "https://api.github.com/users/rGaillard/events{/privacy}",
    "received_events_url": "https://api.github.com/users/rGaillard/received_events",
    "type": "User",
    "site_admin": false,
    "contributions": 3169
  }

But there are also results like that, with only a few information available.

{
    "email": "gregory.roussac@prestashop.com",
    "name": "gRoussac",
    "type": "Anonymous",
    "contributions": 3362
  }

And there are many duplicates, but it is possible to manage them: they are associated to the same email, thankfully.:

 {
    "email": "gregory.roussac@prestashop.com",
    "name": "Gregory Roussac",
    "type": "Anonymous",
    "contributions": 1243
  }

The reason is that Git store information about commits with the author's email and name (and yes this is declarative, and at PrestaShop there is no way to check the identity of a committer yet). This is the collaborative features of GitHub that associate the email to a GitHub account and makes it possible to have a lot more information.

So, in order to display all the contributors to the PrestaShop open source project, "anonymous" committers must be displayed too, even if their email address is not anymore associated to a GitHub account. They are authors of the software's code too.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the contributor-fetching entry point and compare its GitHub contributors request with the documented /repos/{owner}/{repo}/contributors?anon=true endpoint. Review how anonymous results are represented and grouped, then verify that anonymous contributors appear in the board and duplicate email entries are handled.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, php
Domain
cli, tooling
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.