git-filter-repo VS gitlab-runner

Compare git-filter-repo vs gitlab-runner and see what are their differences.

git-filter-repo

Quickly rewrite git repository history (filter-branch replacement) (by newren)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
git-filter-repo gitlab-runner
50 47
7,457 -
- -
0.0 -
6 days ago -
Python
GNU General Public License v3.0 or later -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

git-filter-repo

Posts with mentions or reviews of git-filter-repo. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-19.
  • Cleaning Your Git History: Safely Removing Sensitive Data
    2 projects | dev.to | 19 Dec 2023
    **WARNING**: git-filter-branch has a glut of gotchas generating mangled history rewrites. Hit Ctrl-C before proceeding to abort, then use an alternative filtering tool such as 'git filter-repo' (https://github.com/newren/git-filter-repo/) instead. See the filter-branch manual page for more details; to squelch this warning, set FILTER_BRANCH_SQUELCH_WARNING=1. Proceeding with filter-branch... Rewrite a3a48b09e282854c80bf4ad02a017e249e161fd8 (2/8) (0 seconds passed, remaining 0 predicted) rm 'config.js' Rewrite 6e788e83a338e45b348d93d682b32c816ee2fbff (3/8) (0 seconds passed, remaining 0 predicted) rm 'config.js' Rewrite 7a378a0145bce70bea213ca5f9062138544db5f2 (4/8) (0 seconds passed, remaining 0 predicted) rm 'config.js' Rewrite 0637c9659623644cfceb35be10f2a1fe5c468e04 (5/8) (0 seconds passed, remaining 0 predicted) rm 'config.js' Rewrite 6c421eb99adc6b987cff7f3cada31e9313638072 (6/8) (0 seconds passed, remaining 0 predicted) rm 'config.js' Rewrite 98001e5b97270efa4a8ab5bd0452be56dd76883d (7/8) (0 seconds passed, remaining 0 predicted) rm 'config.js' Rewrite 2ca4e161a4af2b8f38c46faf848fdbb3e550f23c (8/8) (0 seconds passed, remaining 0 predicted) rm 'config.js' Ref 'refs/heads/secret_keys' was rewritten.
  • (RE not sharing inputs) PSA: "deleting" and committing to git doesn't actually remove it
    2 projects | /r/adventofcode | 9 Dec 2023
    Yup you need https://github.com/newren/git-filter-repo Take a look at https://github.com/newren/git-filter-repo/blob/main/INSTALL.md for instructions
  • How I teach Git
    1 project | dev.to | 26 Nov 2023
    git filter-repo: a third-party command actually, as a replacement to Git's own filter-branch, that allows rewriting the whole history of a repository to remove a mistakenly added file, or help extract part of the repository to another.
  • Merging old repos into a monolithic git repo archive
    1 project | dev.to | 12 Jul 2023
    I needed to archive some old repositories into a monorepo and of course I gave myself the requirement of maintaining git history, in some way. I tried a couple of solutions but it wasn't until I stumbled upon the git-filter-repo project at https://github.com/newren/git-filter-repo and another article which I've since lost (which was badly documented anyway) that I was able to figure out how to do this.
  • Mass edit of .git/objects
    1 project | /r/git | 20 May 2023
    Git objects are not designed to be changed, they are immutable blobs. This is not a problem if you are making a reader, but is a problem when you want to change things, tools like old git-filter-branch or the newer filter repo abstract all reference updating away for you
  • Question about Git LFS
    1 project | /r/gamedev | 4 May 2023
    Make sure your gitignore is setup right (GitHub has a repo of good defaults). If you messed that up, you could rewrite git history to remove the big stuff. Use git-filter-repo. Not sure how that works for LFS.
  • How to open source code from a private monorepo
    3 projects | dev.to | 3 May 2023
    git-filter-repo
  • How to Push Files Over 100MB to GitHub: A Step-by-Step Guide with Git Large File Storage (LFS)
    2 projects | /r/github | 21 Apr 2023
    Check out git filter repo https://github.com/newren/git-filter-repo
  • Large initial push.
    2 projects | /r/git | 6 Apr 2023
    I personally prefer git-bfg ( https://rtyley.github.io/bfg-repo-cleaner/ ) ... though git-filter-repo ( https://github.com/newren/git-filter-repo ) is quite popular. The difference for me was that git-bfg is JVM based and my work machine has Java on it while git-filter-repo is python based... and my work machine is without python.
  • Is there a way to scrub certain info from a repo's history? I wanna make a repo public, but at one point I stored my API client credentials in the code. Presumably that makes it technically unsafe to ever share that repo. What to do?
    2 projects | /r/learnprogramming | 18 Feb 2023

gitlab-runner

Posts with mentions or reviews of gitlab-runner. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-17.
  • 🦊 GitLab CI: Deploy a Majestic Single Server Runner on AWS
    4 projects | dev.to | 17 Feb 2024
    #!/bin/bash # ### Script to initialize a GitLab runner on an existing AWS EC2 instance with NVME disk(s) # # - script is not interactive (can be run as user_data) # - will reboot at the end to perform NVME mounting # - first NVME disk will be used for GitLab custom cache # - last NVME disk will be used for Docker data (if only one NVME, the same will be used without problem) # - robust: on each reboot and stop/start, disks are mounted again (but data may be lost if stop and then start after a few minutes) # - runner is tagged with multiple instance data (public dns, IP, instance type...) # - works with a single spot instance # - should work even with multiple ones in a fleet, with same user_data (not tested for now) # # /!\ There is no prerequisite, except these needed variables : MAINTAINER=zenika RUNNER_NAME="majestic-runner" GITLAB_URL=https://gitlab.com/ GITLAB_TOKEN=XXXX # prepare docker (re)install sudo apt-get -y install apt-transport-https ca-certificates curl gnupg lsb-release sysstat curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list >/dev/null sudo apt-get update # needed to use the docker.list # install gitlab runner curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash sudo apt-get -y install gitlab-runner # create NVME initializer script cat </home/ubuntu/nvme-initializer.sh #!/bin/bash # # To be run on each fresh start, since NVME disks are ephemeral # so first start, start after stop, but not on reboot # inspired by https://stackoverflow.com/questions/45167717/mounting-a-nvme-disk-on-aws-ec2 # date | tee -a /home/ubuntu/nvme-initializer.log ### Handle NVME disks # get NVME disks bigger than 100Go (some small size disk may be there for root, depending on server type) NVME_DISK_LIST=\$(lsblk -b --output=NAME,SIZE | grep "^nvme" | awk '{if(\$2>100000000000)print\$1}' | sort) echo "NVME disks are: \$NVME_DISK_LIST" | tee -a /home/ubuntu/nvme-initializer.log # there may be 1 or 2 NVME disks, then we split (or not) the mounts between GitLab custom cache and Docker data export NVME_GITLAB=\$(echo "\$NVME_DISK_LIST" | head -n 1) export NVME_DOCKER=\$(echo "\$NVME_DISK_LIST" | tail -n 1) echo "NVME_GITLAB=\$NVME_GITLAB and NVME_DOCKER=\$NVME_DOCKER" | tee -a /home/ubuntu/nvme-initializer.log # format disks if not sudo mkfs -t xfs /dev/\$NVME_GITLAB | tee -a /home/ubuntu/nvme-initializer.log || echo "\$NVME_GITLAB already formatted" # this may already be done sudo mkfs -t xfs /dev/\$NVME_DOCKER | tee -a /home/ubuntu/nvme-initializer.log || echo "\$NVME_DOCKER already formatted" # disk may be the same, then already formated by previous command # mount on /gitlab-host/ and /var/lib/docker/ sudo mkdir -p /gitlab sudo mount /dev/\$NVME_GITLAB /gitlab | tee -a /home/ubuntu/nvme-initializer.log sudo mkdir -p /gitlab/custom-cache sudo mkdir -p /var/lib/docker sudo mount /dev/\$NVME_DOCKER /var/lib/docker | tee -a /home/ubuntu/nvme-initializer.log ### reinstall Docker (which data may have been wiped out) # docker (re)install sudo apt-get -y reinstall docker-ce docker-ce-cli containerd.io docker-compose-plugin | tee -a /home/ubuntu/nvme-initializer.log echo "NVME initialization succesful" | tee -a /home/ubuntu/nvme-initializer.log EOF # set NVME initializer script as startup script sudo tee /etc/systemd/system/nvme-initializer.service >/dev/null <
  • Atlassian prepares to abandon on-prem server products
    6 projects | news.ycombinator.com | 16 Oct 2023
    GitLab team member here, thanks for sharing.

    > Still not a big fan of how stiff Yaml pipelines feel in Gitlab CI

    Maybe the pipeline editor in "Build > Pipeline editor" can help with live linting, or more advanced features such as parent-child pipelines or merge trains.

    If you need tips for optimizing the CI/CD pipeline, suggest following these tips in the docs https://docs.gitlab.com/ee/ci/pipelines/pipeline_efficiency.... or a few more tips in my recent talk "Efficient DevSecOps pipelines in cloud-native world", slides from Chemnitz Linux Days 2023 in https://docs.google.com/presentation/d/1_kyGo_cWi5dKyxi3BfYj...

    > and that tickets for what seems like a simple feature [1] hang around for years, but it is nice.

    Thanks for sharing. (FYI for everyone) The linked issue suggests a Docker cache cleanup script, which might be helpful. https://gitlab.com/gitlab-org/gitlab-runner/-/issues/27332#n... -> https://docs.gitlab.com/runner/executors/docker.html#clear-t...

  • GitHub Actions could be so much better
    21 projects | news.ycombinator.com | 22 Sep 2023
    If only competitors could do better...

    https://gitlab.com/gitlab-org/gitlab-runner/-/issues/2797

  • SLOT77 ; Daftar Situs Judi Slot 777 Online Terbaik &amp; Terpercaya 2023
    1 project | /r/u_vikkou7 | 3 Jul 2023
  • Gacor88 : Daftar Slot Gacor88 Terbaru Anti Boncos Gampang Maxwin Disini Bos
    1 project | /r/u_vikkou7 | 2 Jul 2023
  • SLOT GACOR88 ; SITUS SLOT GACOR 88 TERBARU DAN TERPERCAYA GAMPANG MENANG 2023
    1 project | /r/u_vikkou7 | 2 Jul 2023
  • SLOT4D : SITUS SLOT GACOR 4D TERUPDATE MUDAH MAXWIN NEW MEMBER X250 X500
    1 project | /r/u_vikkou7 | 2 Jul 2023
  • Gitlab runner in-depth - communication and CI_JOB_TOKEN
    1 project | /r/gitlab | 28 Jun 2023
  • Caching of GitLab CI is too slow for rust build.
    4 projects | /r/rust | 27 Jun 2023
    GitLab MR for the CACHE_COMPRESSION_LEVEL implementation
  • The GMP library's website is under attack by a single GitHub user
    6 projects | news.ycombinator.com | 18 Jun 2023
    And in general just making caching stuff easier. I feel like it is unnecessarily complicated for example to cache apt-get in Gitlab which I assume makes most people not do it.

    https://gitlab.com/gitlab-org/gitlab-runner/-/issues/991#not...

What are some alternatives?

When comparing git-filter-repo and gitlab-runner you can also consider the following projects:

bfg-repo-cleaner - Removes large or troublesome blobs like git-filter-branch does, but faster. And written in Scala

woodpecker - Woodpecker is a simple yet powerful CI/CD engine with great extensibility.

trufflehog - Find and verify secrets

kaniko - Build Container Images In Kubernetes

Git - Git Source Code Mirror - This is a publish-only repository but pull requests can be turned into patches to the mailing list via GitGitGadget (https://gitgitgadget.github.io/). Please follow Documentation/SubmittingPatches procedure for any of your improvements.

singularity - Singularity has been renamed to Apptainer as part of us moving the project to the Linux Foundation. This repo has been persisted as a snapshot right before the changes.

josh - Just One Single History

onedev - Git Server with CI/CD, Kanban, and Packages. Seamless integration. Unparalleled experience.

gh-action-pypi-publish - The blessed :octocat: GitHub Action, for publishing your :package: distribution files to PyPI: https://github.com/marketplace/actions/pypi-publish

cockpit-podman - Cockpit UI for podman containers

roadmap - GitHub public roadmap

machine