Skip to content

Lucasgood5/GitNoiseMaker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

GitNoiseMaker

⚠️ WARNING: Before using GitNoiseMaker, you MUST initialize a git repository in your folder by running git init. After generating the commit history, you are still responsible for pushing the repository to GitHub (or any remote) using git push.

GitNoiseMaker is a C program that generates a stream of git fast-import commands to simulate a history of commits over a specified date range, with random commit times and customizable commit frequency. This is useful for creating artificial commit histories for demonstration, testing, or fun.

Features

  • Generate a sequence of commits between two dates
  • Specify the author and mean number of commits per day
  • Output is compatible with git fast-import
  • Fully configurable via command-line arguments

Usage

./GitNoiseMaker <start-date> <end-date> <author> [mean-commits-per-day]
  • <start-date>: Start date in YYYY-MM-DD format
  • <end-date>: End date in YYYY-MM-DD format
  • <author>: Author string in the format "Name <email>"
  • [mean-commits-per-day]: (Optional) Average number of commits per day (default: 10)

Example

./GitNoiseMaker 2022-01-01 2022-12-31 "Lucasgood5 <00000000+Lucasgood5@users.noreply.github.com>" 25

Building

To build on Linux:

gcc -o GitNoiseMaker GitNoiseMaker.c -lm

Using with git fast-import

You can pipe the output of GitNoiseMaker directly into git fast-import to create a new branch with the generated commit history:

./GitNoiseMaker 2022-01-01 2022-12-31 "Your Name <your.email@example.com>" | git fast-import

GitHub Actions

This repository includes a GitHub Actions workflow that:

  • Compiles the program on Linux using GCC
  • Uploads the compiled binary as an artifact
  • Publishes a release with the binary when a tag starting with v is pushed

License

MIT License


This README was generated by GitHub Copilot, an AI assistant.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages