Register
Submit a solution
The challenge is finished.

Challenge Overview

Challenge Objectives

  • Target environment: GitLens (VSCode Extension)

  • Basic Requirements: Extend GitLens to add required features.

Project Background

Git is the leading open source SCM (Software Configuration Management), our clients like the popular Git Diff VSCode extension GitLens for SCM. However, GitLens lacks some features that the clients need, so they want to add the missing functionalities into it. We would like to make this tool a much more valuable code review tool.

Technology Stack

Git

GitLens (VSCode Extension)

  • Electron

  • NodeJS

  • TypeScript

Individual requirements

We ran a Code challenge to extend the GitLens, https://www.topcoder.com/challenges/30070639/?type=develop&tab=details

However, the submission missed some major requirements, so we run this challenge to address all missed requirements.

Code base: please work on my forked repo https://github.com/billsedison/vscode-gitlens/tree/tc-dev

tc-dev branch, the latest commit hash 5d5b9e65a65bd0816fa8229d007cf2b10a812119

1. Select multiple commits and aggregate diff

Currently, we can only select a single commit and compare with other commits on GitLens. We need to extend GitLens to add the functionality for multi-selecting non-consecutive commits.

The diff of selected commits is aggregated automatically. You can take the same functionality of IDEA as a reference, here is a demo video.

2. Support filtering by commit SHAs

Currently, the GitLens supported to filter commits by

  • branch

  • author

  • date (all dates, date range, last 24 hours, last 7 days)

  • message (regex)

But we need to add filtering by commit SHAs support to it.

3. Separate windows to show details of commits

By clicking each commit or the aggregate diff, it should prompt a separate window to show the file change set in the commit.

By clicking the file in the changeset, it should prompt a separate window to show the content and the diff.

The behavior is the same as the functionality of IDEA, here is a demo video for your reference.

Note: please feel free to ask questions in the forum if you think anything is unclear.



Final Submission Guidelines

- A Git patch against the latest commit hash of the tc-dev branch of the repo.

- A detailed README.md to show how to apply your patch and run the modified GitLens.

- A video to verify your modified GitLens meets all requirements. If you are not comfortable with spoken English you may feel free to annotate your video with text.

ELIGIBLE EVENTS:

Topcoder Open 2019

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30071171