Skip to content

BRL-CAD/repowork

Repository files navigation

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

About

Utility for working with Git repository data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published