Git Product home page Git Product logo

comparecommits's Introduction

CompareCommits

Compares Text of all changed files between 2 commits using 2 checked out branches/commits

Overview

This tool will take 2 directories of the same repository [source and target] and compare the diff between the 2 commits. Since git diff compares binary, this tool is helpful because it will guess the charset encoding via nchardet and compare the actual string values via Diff Patch and Match. Background on this is that our team needed to convert our repository's charset from windows-1252 to UTF-8. It touched roughly 2000 files and we did not want to spot-check every one of them. So, I wrote this to highlight the files with actual text changes. Out of those ~2000 files, only 5 had a difference in content, so this saved us a lot of time.

Setup

You will need the .NET Core Runtime.

Build this project after cloning master. To do that, you can refer to this link.

Running

To run, enter CompareBranches [sourceDir] [targetDir] on the command line in the directory where CompareBranches.exe resides.

The tool will compare the 2 branches and output a file with the format of output-[longtime].txt in the assembly's executing directory. This file is straightforward to read with each file separated by a line of equal signs and each difference noted.

Special Thanks

nchardet

Diff Patch and Match

comparecommits's People

Contributors

mikeruhl avatar mrultbdvox avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.