random utilities
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Vincent Batts 01fc4d4fed
see-pr: update README
1 year ago
cmd see-pr: update README 1 year ago
LICENSE LICENSE: add an MIT license 1 year ago
README.md see-pr: to add the github PR pull refspec 1 year ago



Random utilities of vbatts' being cleaned up, and published



Add the github PR refspec to a local git repo.


go get github.com/vbatts/utils/cmd/see-pr


$ see-pr -h
Usage of see-pr:
  -config string
        path to the git config (default ".git/config")
  -path string
        local path of the git repo (default ".")
  -remote string
        upstream remote name (default "origin")

Then to let it update your .git/config:

$ see-pr
INFO[0000] reading from ".git/config"                   
INFO[0000] origin/origin URL: git@github.com:vbatts/utils.git 
INFO[0000] appending fetch = +refs/pull/*/head:refs/remotes/pr/* 
INFO[0000] SUCCESS! `git fetch` and then you can `git checkout pr/$NUM` of your PRs 


building a document of file checksum info, for a directory tree. Optionally deduplicate the tree using hardlinks.


go get github.com/vbatts/utils/cmd/dups


$ dups -h
Usage of dups:
  -H=false: hardlink the duplicate files
  -l="": load existing map from file
  -q=false: less output
  -s="hash-map.json": file to save map of file hashes to

By default it scans the paths provided, and creates a JSON document of the file paths and their checksum:

$ dups .
"/home/vbatts/src/vb/utils/.git/logs/refs/heads/master" is the same content as "/home/vbatts/src/vb/utils/.git/logs/HEAD"
"/home/vbatts/src/vb/utils/.git/refs/remotes/origin/master" is the same content as "/home/vbatts/src/vb/utils/.git/refs/heads/master"
"/home/vbatts/src/vb/utils/cmd/find-todos/main.go~" is the same content as "/home/vbatts/src/vb/utils/cmd/find-todos/main.go"
"/home/vbatts/src/vb/utils/cmd/slackware-sync/README.md~" is the same content as "/home/vbatts/src/vb/utils/cmd/slackware-sync/README.md"
"/home/vbatts/src/vb/utils/cmd/slackware-sync/main.go" is the same content as "/home/vbatts/src/vb/utils/cmd/slackware-sync/main.go~"
Savings of 0.005681mb
wrote "hash-map.json"

With the -H flag, as duplicate files are found (files with matching checksum) are encountered, hardlink it to the duplicate file.


Simple date formating for notes


go get github.com/vbatts/utils/cmd/next-note


next-note -h
Usage of next-note:
 -c=false: print current week's filename
 -d=false: print current date
 -dir="": Base directory for tasks
 -p=false: print previous week's filename


Copy ./cmd/next-note/next-note.vim to ~/.vim/plugin/

This provides commands, like:

  • :Nd - append the date to the current buffer
  • :Nc - to open a tabe for current week's notes file
  • :Np - to open a tabe for previous week's notes file
  • :Nn - to open a tabe for next week's notes file


Look through your notes directory for TODO items.


go get github.com/vbatts/utils/cmd/find-todos