Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

CodeReview is a Git GUI tool to perform code review written in Python3 and Qt5.

Notifications You must be signed in to change notification settings

pythoningLearning/CodeReview

Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodeReview

The official CodeReview home page is located at http://fabricesalvaire.github.io/CodeReview

The latest documentation built from the git repository is available at readthedocs.org CodeReview@readthedocs-badge

Written by Fabrice Salvaire.

CodeReview build status @travis-ci.org

https://raw.github.com/FabriceSalvaire/CodeReview/master/doc/sphinx/source/images/code-review-log.png

https://raw.github.com/FabriceSalvaire/CodeReview/master/doc/sphinx/source/images/code-review-diff.png


Introduction

I started to write some pieces of code of CodeReview at the end of 2011, as a port of the Bzr Qt plugin QBzr for Git when Bzr started to seriously fall down. I am an addict of code review and I cannot work without it. QBzr features two nice tools, qlog and qdiff for this task. It was the main reason why I am still using Bzr in 2015. But now I succeed to release an alternative.

The aim of CodeReview is to provide tools for code review tasks, like to show the difference between two versions. However I am not a fan of any GUI that aims to deal with Git with only a mouse and one finger. Thus CodeReview is not intended to compete with a "power" IDE like eclipse, idea, pycharm, kate ... But just to provide features not available in Emacs (my editor) or github like a diff side-by-side on local changes.

CodeReview is written in Python 3 and the GUI is based on the Qt5 framework. The libgit2 and pygit2 provides a Python API to deal with Git repositories. I tried to achieve a clever design and to write a clean code.

Features

The main features of CodeReview are:

  • display and browse the log and paches of a Git repository
  • diff side by side using Patience algorithm

Diff viewer features:

  • number of context lines
  • font size
  • line number mode
  • align mode
  • complete mode
  • highlight mode

Ideas for Additional Features

Actually CodeReview has a limited number of features. The followings list gives some ideas to extend its features:

  • Add Mercurial support. (Git and Mercurial are actually the most cool VCS)
  • Add a graphical representation of the branches. I don't understand the crappy code of qlog and I don't know any algorithm on this topic (graphviz, qgit ?). To summarize I don't what and how to do.
  • Implement the detection of code translocations. Sometimes we move code within a file or a project. Such changes are related as deletion and addition in the code, which don't help to review code. We can do something clever by computing a distance between all the added and deleted chuncks. The distance could be computed using a Levenshtein, Damerau–Levenshtein, Needleman–Wunsch or Smith–Waterman algorithm (DNA alignment algorithms).
  • Implement code analyser/validator as language plugins. The idea is to annotate change as cosmetic or dangerous modifications. For example a deleted or added space is a cosmetic change in C, but it can be a regression in Python where the indentation is part of the grammar.
  • Implement blame wich is another important feature.
  • Implement comments and maybe as a client-server architecture.
  • look https://docs.python.org/3.4/library/difflib.html

Installation

CodeReview requires some dependencies wich are easier to install on a Linux distribution.

Dependencies

CodeReview requires the following dependencies:

Theses packages are available via pip:

For development, you will need in addition:

Installation from PyPi Repository

CodeReview is made available on the PyPI repository at https://pypi.python.org/pypi/CodeReview

Run this command to install the last release:

pip install CodeReview

Installation from Source

The CodeReview source code is hosted at https://github.com/FabriceSalvaire/CodeReview

To clone the Git repository, run this command in a terminal:

git clone git@github.com:FabriceSalvaire/CodeReview.git

Then to build and install CodeReview run these commands:

python setup.py build
python setup.py install

About

CodeReview is a Git GUI tool to perform code review written in Python3 and Qt5.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 83.5%
  • C 10.5%
  • C++ 4.4%
  • Shell 1.4%
  • Makefile 0.2%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.