Skip to content

Instantly share code, notes, and snippets.

@existentialmutt
Created September 10, 2021 16:34
Show Gist options
  • Save existentialmutt/e4c34dc30e508f24c6c3e5f6dd40b99b to your computer and use it in GitHub Desktop.
Save existentialmutt/e4c34dc30e508f24c6c3e5f6dd40b99b to your computer and use it in GitHub Desktop.
remove files from standard_todo.yml as they are committed
#!/usr/bin/env ruby
require 'pathname'
require "tempfile"
require "fileutils"
base = ENV.fetch("STANDARD_UPDATE_BASE") { "$HEAD" }
files = `git diff #{base} --name-only --staged`.split("\n")
app_root = Pathname.new File.expand_path('../../', __FILE__)
todo_path = File.join(app_root, ".standard_todo.yml")
Tempfile.create do |tempfile|
File.foreach(todo_path) do |line|
trimmed = line.gsub(/^\s+- /, "").chomp
if files.include?(trimmed)
puts line
else
tempfile << line
end
end
tempfile.flush
FileUtils.cp(tempfile.path, todo_path)
end
`git add .standard_todo.yml`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment