Code Monkey home page Code Monkey logo

repowork's Introduction

This is a basic C++ program for reading Git fast-import streams and writing them back out after doing various operations on the data. It's not as generally powerful as something like https://github.com/newren/git-filter-repo

  • it was put together to handle a few specific desired post-processing operations on the BRL-CAD repository after it's main CVS/SVN -> GIT conversion was completed. Features:
  • Trim spaces and extra line endings from commit messages

  • Wrap long single-line commit messages to 72 characters

  • Replace committer ids according to a mapping file

  • Append git notes to commit messages and remove the notes (essentially preserves data while migrating a repository away from the git notes feature.)

There are a variety of known unimplemented features - work was "done" for BRL-CAD once our conversion could be handled - but it shouldn't be too hard to expand if there is need/interest.

Unlike most of the repository conversion code, this will stay in BRL-CAD after the conversion is complete as a guarantor against future needs to change the repository (say for example, another migration which requires new email addresses for proper integration with the hosting platform - that was one issue encountered with the migration to github.com)

Examples:

  • Trim whitespace from commit messages

./repowork -t brlcad.fi trimmed.fi

  • Collapse notes:

./repowork --repo /home/user/brlcad.git --collapse-notes ~/brlcad.fi final.fi

repowork's People

Contributors

starseeker avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.