starseeker c50c73e418 Feature updates to repowork
A number of changes, but the big one is an ability to replay a repo while
updating its SHA1 values in commit messages and txt files.
2026-07-21 16:21:00 -04:00
2026-07-21 16:21:00 -04:00
2026-07-21 16:21:00 -04:00
2026-07-21 16:21:00 -04:00
2026-07-21 16:21:00 -04:00
2026-07-21 16:21:00 -04:00
2026-07-21 16:21:00 -04:00
2026-07-21 16:21:00 -04:00
2021-03-09 10:22:25 -05:00
2021-03-09 10:05:51 -05:00
2021-03-17 12:36:34 -04:00
2026-07-21 16:21:00 -04:00
2026-07-21 16:21:00 -04:00
2026-07-21 16:21:00 -04:00
2026-07-21 16:21:00 -04:00
2021-03-09 09:40:02 -05:00
2026-07-21 16:21:00 -04:00
2026-07-21 16:21:00 -04:00
2026-07-21 16:21:00 -04:00

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

S
Description
Utility for working with Git repository data
Readme
147 KiB
0 Stars 3 Watchers 0 Forks
Languages
C++ 87.2%
CMake 11.4%
Shell 1.4%