Easy-to-use CUI for fixing git conflicts

Overview


Easy-to-use CUI for fixing git conflicts


I never really liked any of the mergetools out there so I made a program that is somewhat easier to use.

Preview

๐Ÿ‘ท Installation

Execute:

$ go get github.com/mkchoi212/fac

Or using Homebrew ๐Ÿบ

brew tap mkchoi212/fac https://github.com/mkchoi212/fac.git
brew install fac

๐Ÿ”ง Using

fac operates much like git add -p . It has a prompt input at the bottom of the screen where the user inputs various commands.

The commands have been preset to the following specifications

Keybinding Description
w show more lines up
s show more lines down
a use local version
d use incoming version
e manually edit code
j scroll down
k scroll up
v [v]iew orientation
n [n]ext conflict
p [p]revious conflict
h, ? [h]elp
q, Ctrl+c [q]uit
[w,a,s,d,?] >> [INPUT HERE]

โš™๏ธ Customization

The above key-bindings and various behaviors can be altered by creating a .fac.yml file in your home directory. Please refer to the configuration README.md for more information.

โœ‹ Contributing

This is an open source project so feel free to contribute by

๐Ÿ‘ฎ License

See License

Comments
  • Feature Request: Change key binds

    Feature Request: Change key binds

    Hello,

    WASD are a great fit for qwerty keyboards but for people having non qwerty keyboards, they are quite bad actually. For example on an azerty keyboard, it should be ZQSD.

    I was wondering if it would be possible to add a feature to reconfigure key bindings in order to have a better usability on every keyboard layout.

    Thank you for this great tool !

    feature 
    opened by pylebecq 13
  • Add man page

    Add man page

    This PR adds a man page. It uses a trick that ripgrep uses to convert a Markdown file into man page for easier writing and maintenance.

    Here's what it looks like rendered:

    rendered fac man page

    opened by wezm 8
  • Invalid number of conflict markers

    Invalid number of conflict markers

    I have created a repo to test fac. I created a sample file, then I created two branches and made two different changes in that file, than I merged those branches into master, got a conflict and tried to run fac to fix it. Here is the terminal output(besides the error itself please mention that fac does not add \n after the error message, which makes bash print status message on the same line after fac exit.

    ~/src/factest (master|MERGING) โ†’ ls
    somefile
    ~/src/factest (master|MERGING) โ†’ cat somefile
    <<<<<<< HEAD
    aa
    ||||||| merged common ancestors
    aaaa
    =======
    dddd
    >>>>>>> second
    bbbb
    cccc
    ~/src/factest (master|MERGING) โ†’ fac
    Invalid number of remaining conflict markers~/src/factest (master|MERGING) โ†’
    
    โ†’ git --version
    git version 2.15.1
    
    bug feature 
    opened by achikin 5
  • Long list of conflicts hide the help

    Long list of conflicts hide the help

    When you have a long list of conflicts, the help text with the keyboard shortcuts is hidden.

    Git has often this notion of selecting ? for showing help with an explanation for the choices.

    Perhaps you could mimic what Git does in interactive tools on the command line and list all the possible keys on the command prompt with a question mark ? at the end. If the question mark is selected it would print the keys meaning somewhere.

    todo 
    opened by hkdobrev 5
  • Build error

    Build error

    Hi,

    Thanks for the project, looks really nice and I'd really want to try it! But for now, I can't get to build it...

    I barely now anything about go, so if you need more information just tell me what you need:

    go version go1.8.3 gccgo (GCC) 7.2.1 20171224 linux/amd64

    stderr: https://gist.github.com/Aethelflaed/d813e7bd535ea27fe460c4f6fa4a9567

    opened by Aethelflaed 4
  • Crash while resolving large number of conflicts

    Crash while resolving large number of conflicts

     [w,a,s,d,e,?] >> panic: runtime error: slice bounds out of range
    
    goroutine 337 [running]:
    github.com/nsf/termbox-go.PollEvent(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
            /Users/else/go/src/github.com/nsf/termbox-go/api.go:348 +0x8d4
    github.com/jroimartin/gocui.(*Gui).MainLoop.func1(0xc00020a090)
            /Users/else/go/src/github.com/jroimartin/gocui/gui.go:354 +0x30
    created by github.com/jroimartin/gocui.(*Gui).MainLoop
            /Users/else/go/src/github.com/jroimartin/gocui/gui.go:352 +0x6e
    $ fac -v
    fac 2.0
    
    opened by elsbrock 3
  • brew tap command doesn't find any formulae

    brew tap command doesn't find any formulae

    The fac.rb file needs to be in a Formula directory at the root of the repository.

    After I ran the brew tap command, cd'd into /usr/local/Homebrew/Library/Taps/mkchoi212/homebrew-fac and mv assets Formula the brew install fac command found the formula and installed it successfully.

    opened by horo42 3
  • gofmt

    gofmt

    Just ran

    gofmt -w .
    

    on the project root. That's all.

    https://blog.golang.org/go-fmt-your-code


    I made this PR with a project going on over at https://github.com/rotblauer/gofmt-att, and it's definitely a work in progress. So if I got something wrong, or this is annoying at all, please file an issue over there and we'll sort it out.

    opened by whilei 2
  • Paths don't resolve correctly when starting fac from sub directory

    Paths don't resolve correctly when starting fac from sub directory

    fac seems to have trouble resolving paths when I start it from anything other than the repositories root directory. In the example below, fac-test is the repository root and file.md is a conflicted file in the sub-dir folder.

    bildschirmfoto vom 2018-01-28 15-21-04

    Anyway, thanks for this tool. I'm looking forward to upcoming features :grin:

    bug 
    opened by gruhn 2
  • Long filenames hide the current file marker

    Long filenames hide the current file marker

    Long filenames could hide the marker of the current file. It could be moved to the left and/or different colour for the active file could be used.

    Since filenames are truncated in the sidebar, the full path and filename of the active file could be shown at the top of the main window.

    todo 
    opened by hkdobrev 2
  • Console color doesn't work on windows

    Console color doesn't work on windows

    Trying this with a win10 machine, and it only prints the \x1b[32;1m version on cmd.exe shell (works with Powershell though). e.g. No conflicts detected ๐ŸŽ‰

    Suggestion would be using some other packages like https://github.com/sirupsen/logrus, https://github.com/mattn/go-colorable or https://github.com/fatih/color.

    bug 
    opened by itsnotvalid 2
  • docs: 'go get' is no longer supported outside a module.

    docs: 'go get' is no longer supported outside a module.

    hello, @mkchoi212

    read me section - Deprecation of 'go get' for installing executables

    https://go.dev/doc/go-get-install-deprecation

    change bash script

    opened by cothi 0
  • Links comes out as black in terminal

    Links comes out as black in terminal

    I moved to a new computer, and fetched an updated version of Fac (great piece of software, thank you) -- and notice that the links in the terminal diffs are black (and also invisible on black foreground).

    I have solved this by making Ansi black into a dark red in ITerm, but I'm assuming this is a common enough issue, so I cretated this issue.

    opened by bep 0
  • panic: runtime error: slice bounds out of range [1:0]

    panic: runtime error: slice bounds out of range [1:0]

    I tried to rebase https://github.com/terraform-providers/terraform-provider-github/pull/96 on top of https://github.com/terraform-providers/terraform-provider-github/pull/108/files and got this.

    First I tried to see the result of previous conflict resolution using [p], but it looked like result was not saved (I use e and a for each change). I edited conflict again, and then the green line appeared at the bottom. I edited one or more conflict before the crash happened.

    
    โ”Œโ”€c2463a8d064e5b683571835fea1bb9580ef9cebc  (Incoming Version)โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โœ” github/resource_github_reposiโ”‚
    โ”‚func resourceGithubTeamMembershipRead(d *schema.ResourceData, meta interface{}) error {                                                โ”‚โœ” github/resource_github_reposiโ”‚
    โ”‚ client := meta.(*Owner).client                                                                                                        โ”‚โœ” github/resource_github_reposiโ”‚
    โ”‚ t, n := parseTwoPartID(d.Id())                                                                                                        โ”‚โœ” github/resource_github_reposiโ”‚
    โ”‚>>>>>>> c2463a8d064e5b683571835fea1bb9580ef9cebc                                                                                       โ”‚โœ” github/resource_github_reposiโ”‚
    โ”‚                                                                                                                                       โ”‚-> 20. github/resource_github_tโ”‚
    โ”‚                                                                                                                                       โ”‚21. github/resource_github_teamโ”‚
    โ”‚                                                                                                                                       โ”‚22. github/resource_github_teamโ”‚
    โ”‚                                                                                                                                       โ”‚23. github/resource_github_teamโ”‚
    โ”‚                                                                                                                                       โ”‚โœ” github/resource_github_team_rโ”‚
    โ”‚                                                                                                                                       โ”‚                               โ”‚
    โ”‚                                                                                                                                       โ”‚                               โ”‚
    โ”‚                                                                                                                                       โ”‚                               โ”‚
    โ”‚                                                                                                                                       โ”‚                               โ”‚
    โ”‚                                                                                                                                       โ”‚                               โ”‚
    โ”‚                                                                                                                                       โ”‚                               โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
     [w,a,s,d,e,?] >> panic: runtime error: slice bounds out of range [1:0]
    
    goroutine 274 [running]:
    github.com/nsf/termbox-go.PollEvent(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    	/home/anatoli/go/src/github.com/nsf/termbox-go/api.go:356 +0x905
    github.com/jroimartin/gocui.(*Gui).MainLoop.func1(0xc0000fc480)
    	/home/anatoli/go/src/github.com/jroimartin/gocui/gui.go:354 +0x30
    created by github.com/jroimartin/gocui.(*Gui).MainLoop
    	/home/anatoli/go/src/github.com/jroimartin/gocui/gui.go:352 +0x57
    
    opened by abitrolly 1
Releases(v2.0.0)
  • v2.0.0(Jun 15, 2018)

    Changelog

    fe06d6f Remove brew dependency to git 1a8e180 Parse -version flag 3b133f5 Add versions flag d160b39 Update man page 2767e99 Add support for -h | --help 8e39330 Refactor enter detection 9eeca61 Update README with cont_eval f4a6481 Update tests for binding pkg 3f09e4c Improve warning/error message display mechanism e913d1d Update dummy fac yml 6f59a29 Implement continuous evaluation behavior 3fb2cca Change package 'key' to 'binding' 0a38b45 Arrow down to move to the end of prompt 335700b Add custom editor function for continuous eval 0de2cbe Add continuous evaluation to key binding table 54efd07 Add banner sketch file 5511c42 Appease go report card 16b474b Make coloring function public 729cceb Fix typos 6b6fb16 Add missing comments and refactor 02bd481 Fix nil binding map bug 96ca3ec Refactor globalQuit 4821de0 Add full test coverage to key package c335ee8 Add key-binding configuration README 48b1230 Update to use custom key bindings 7b53a69 Add key package to handle custom keys 02be1a6 Update dep for go-yml ae7f29c Add yellow color function for warnings 62373a1 Remove main package from testing list 9c16b8a Add support for editor env variable with flags d0fb86a Update README with new preview gif d93d37e Fix external editor crash bug f0822c9 Fix predicate for checking conflict existence 7d9024a Update editor reading/writing mechanism afe8327 Add manual code edit functionality 84fa845 Test: Add tests for color.go 01e6131 Use default gocui editor for user input 7d32441 Tests: Cover all cases for file.go ddf05f7 Test: add all tests for conflict pkg fb16830 Test: Add tests for command.go 46606a1 Add code coverage badge ๐Ÿ˜ต e04392c Integrate codecov with Travis CI b15c9ad Test: Add tests for summary.go 93ed8dd Test: Add tests for parse.go 7e45571 Test: Add tests for file.go a2da952 Test: Add tests for conflict.go 9dd4809 Refactor: Remove all global state via File structs c69a9bb Add global test cases ef7ef9a Add testdata directory for dummy test files 1a84012 Update gitignore de580dd Update Travis CI for code coverage 642a3ad Add link to gif demo 8bec3dc Add new fac banner e3cff7e Brew formula update for fac version v1.1.0

    Source code(tar.gz)
    Source code(zip)
    fac_2.0.0_checksums.txt(378 bytes)
    fac_2.0.0_darwin_386.tar.gz(2.00 MB)
    fac_2.0.0_darwin_amd64.tar.gz(2.12 MB)
    fac_2.0.0_linux_386.tar.gz(1.88 MB)
    fac_2.0.0_linux_amd64.tar.gz(2.00 MB)
  • v1.1.0(May 12, 2018)

    Changelog

    ce0a043 Update application screenshot 3d7e70d Add CI and Go report badges 51ef7cb Remove dummy git repo 42aacb4 Remove command tests d6bb1b5 Add Travis CI config file eb4a2ad Colorize diff3 separator marker 2230b51 Add tests for summary.go a04cfa0 Add support for diff3 conflict styling b0d661b Move and rename dummy git repo c1dd493 Refactor git conflict marker parsing methods 769ab01 Ignore existing conflict in test git submodule 7637551 Refactor git calling functions 05c8288 Add dummy git repo with conflict for testing 83ac734 Move documents to assets d8fe975 Update comments on functions ecba69c Use dep bf242e3 Remove vendor directory 2afd0bd Merge pull request #33 from shogo-ma/master 312f7c1 fix typo fb868ea Merge pull request #27 from olshevskiy87/t1 c4d1d39 Merge pull request #31 from jnv/patch-1 ba183d4 Goreleaser: Remove dep on go in Brew formula c86e474 Merge pull request #28 from antham/patch-1 9657490 Fix typo 8684e49 find and open conflict files from root git directory 8f11fd7 Merge pull request #24 from wezm/man 0a500c2 Add man page 4addf0d fac version v1.0.4

    Source code(tar.gz)
    Source code(zip)
    fac_1.1.0_checksums.txt(378 bytes)
    fac_1.1.0_darwin_386.tar.gz(1.88 MB)
    fac_1.1.0_darwin_amd64.tar.gz(1.98 MB)
    fac_1.1.0_linux_386.tar.gz(1.76 MB)
    fac_1.1.0_linux_amd64.tar.gz(1.87 MB)
  • v1.0.4(Jan 7, 2018)

  • v1.0.3(Jan 6, 2018)

    Changelog

    d6d7362 Update size of prompt panel to fit new prompt string 5841577 Update prompt string with a question mark 3114cf9 Add additional edge case for when there are no conflicts ec22b89 Merge pull request #20 from shogo-ma/iota 22848cc Merge pull request #19 from xyproto/emoji fd7acd8 use iota identifier 9f03977 Add missing emoji c51bfb5 Update LICENSE year :) 5ed0cdb Merge branch 'master' of https://github.com/mkchoi212/fac 3fcde53 fac version v1.0.2


    Automated with GoReleaser Built with go version go1.9.2 darwin/amd64

    Source code(tar.gz)
    Source code(zip)
    fac_1.0.3_checksums.txt(378 bytes)
    fac_1.0.3_darwin_386.tar.gz(1.80 MB)
    fac_1.0.3_darwin_amd64.tar.gz(2.02 MB)
    fac_1.0.3_linux_386.tar.gz(1.68 MB)
    fac_1.0.3_linux_amd64.tar.gz(1.92 MB)
  • v1.0.2(Jan 4, 2018)

    Changelog

    b3b2638 Update goreleaser file 882e410 Remove unused diffpatch library from godep e03a608 Fix consecutive error handling logic 92c5515 Remove old diff toggle logic a6f86b9 Move indicator arrow to left 263c06e Merge branch 'master' of https://github.com/mkchoi212/fac 0b476dd Merge pull request #16 from eduardomoroni/patch-1 63516d9 missing brew install cb37a30 Print newline when printing error message on exit b236084 Merge pull request #11 from chrissrogers/patch-1 c6e6e37 Updates Homebrew formula SHA256 for v1.0.1 5a9aa17 Remove redundant homebrew script 53749d8 fac version v1.0.1 d2dd63a fac version v1.0.1


    Automated with GoReleaser Built with go version go1.9.2 darwin/amd64

    Source code(tar.gz)
    Source code(zip)
    fac_1.0.2_checksums.txt(378 bytes)
    fac_1.0.2_darwin_386.tar.gz(1.79 MB)
    fac_1.0.2_darwin_amd64.tar.gz(2.02 MB)
    fac_1.0.2_linux_386.tar.gz(1.68 MB)
    fac_1.0.2_linux_amd64.tar.gz(1.92 MB)
  • v1.0.1(Jan 3, 2018)

    Changelog

    a5de217 fac version v1.0.1 e97c492 Move homebrew formula script to Formula dir 1148f98 Avoid formatting diff output f3b8a5c Update wording: Use 'local/remote version' instead of 'left/right screen' fa87656 Update README with brew tap formula 1aac2a9 Merge branch 'master' of https://github.com/mkchoi212/fac 86b9ee8 fac version v1.0.0


    Automated with GoReleaser Built with go version go1.9.2 darwin/amd64

    Source code(tar.gz)
    Source code(zip)
    fac_1.0.1_checksums.txt(378 bytes)
    fac_1.0.1_darwin_386.tar.gz(1.79 MB)
    fac_1.0.1_darwin_amd64.tar.gz(2.02 MB)
    fac_1.0.1_linux_386.tar.gz(1.68 MB)
    fac_1.0.1_linux_amd64.tar.gz(1.92 MB)
  • v1.0.0(Jan 2, 2018)

    Changelog

    298d7e6 Add .goreleaser.yml cf0cb23 Add dist to gitignore de61c39 Add basic tests for conflict struct 46dd5b9 Rename variables bf900e3 Merge pull request #1 from md2perpe/patch-1 369f520 Use normal switch cases eccb198 Change check mark from emoji to simple txt 38f82ee Update README aa7da56 Create assets folder a7bcc41 Replace dummy paths with cwd 8f4df34 Add basic diff command file a17f24e Fix minor bugs 66122fe Change background color when conflict is resolved 6fd77f4 Remove diff option for now f94e86c Fix odd height and refactor title format 532d3c9 Change default view orientation and edit help fbe44e5 Add next/prev conflict keyboard shortcuts a3fceef Remove unncessary variable 41a8085 Major refactoring to go with seperated packages 47c5922 Create vendor directory with godep 97cd90d Add conlfict and color to imports b11a1b9 Seperate conflict as seperate package 2cbb1cd Seperate color as seperate package 6ffb5b1 Create Godeps folder 4b11691 Minor variable name changes 21634e1 Fix consecutive error help displaying code block 58cd719 Refactor Find function ac1123b Delete old git.go file 4ee25ec Add command file to handle os.Exec related functions 7456d0a Fix diff newline error 7068c59 Add seperate file for calling git 2e3a0b7 Handle no conflict error 4dd10fd Finish intial version of FinalizeChanges b7b7aa5 Retain all newlines and carriage returns when parsing files 131da5d Create first version of WriteChanges 28a354a Change bool Resolved conflict variable to Choice int variable 93fde8a Add z for toggling diff view f153931 Print help when user has no idea what he/she is doing d04835e Support multiple character inputs fb15258 Add j and k for scrolling up and down 1a90d93 Reorder functions in conflict b028aea Refactor color formatting code 873a977 Fix printing summary at the end 1e38e63 Add up and down scrolling to panel views e3e9f54 Add gray color 0a548c6 Change string literals to const vars 41b4847 Add q for quit cc25b6d Print summary after application exits f617cdb Define additional colors and styles 2cc0fd2 Print help with input character h e27a37f Create colorize function for colored outputs 43293a7 Update header image 3d14515 Quit application when all conflicts have been resolved e28b544 Parse invalid input command 33bd902 Rename conflict to parse b8b302f Update README.md with license information 2db2786 Create LICENSE 4b4547c Update README.md with header image d339a1b Move parse function 6ea3727 Start handling enter key from input prompt e4d7bc3 Use color function b023acc Add color code 6d16fc2 Fix enter input behavior b782e6c Seperate layout code 300358a Create layout for command prompt 2fc3f18 Create custom editor class for the prompt 4faa632 Add diffing library 84cfcee Add glide.yaml 7151bee Print highlighted versions of code 7810a0b Add file detection and colorized output 162b566 Enable swtiching between multiple conflicts da7adc8 Properly parse multiple conflicts from a single file 02788e7 Update gitignore with things from vscode 5c80934 Print basic conflict data to screen 3a2c7f4 Complete parsing and constructing array of conflicts b895d68 Add call to conflict.go 0f6039a Add call to git diff --check and basic output parsing function 4c83e3e Initial commit


    Automated with GoReleaser Built with go version go1.9.2 darwin/amd64

    Source code(tar.gz)
    Source code(zip)
    fac_1.0.0_checksums.txt(378 bytes)
    fac_1.0.0_darwin_386.tar.gz(1.79 MB)
    fac_1.0.0_darwin_amd64.tar.gz(2.02 MB)
    fac_1.0.0_linux_386.tar.gz(1.68 MB)
    fac_1.0.0_linux_amd64.tar.gz(1.92 MB)
Owner
Mike JS. Choi
Mike JS. Choi
Watchtower for Git: automatically keep local Git repositories up to date with their remotes

CrowsNest Watchtower for Git: automatically keep local Git repositories up to date with their remotes. Configuration Flags --run-once or -r: Normally

Simon 59 May 26, 2022
Nomad is an easy-to-use, flexible, and performant workload orchestrator that can deploy a mix of microservice, batch, containerized, and non-containerized applications

Nomad is an easy-to-use, flexible, and performant workload orchestrator that can deploy a mix of microservice, batch, containerized, and non-containerized applications. Nomad is easy to operate and scale and has native Consul and Vault integrations.

HashiCorp 12.3k Sep 24, 2022
An Easy to use Go framework for Kubernetes based on kubernetes/client-go

k8devel An Easy to use Go framework for Kubernetes based on kubernetes/client-go, see examples dir for a quick start. How to test it ? Download the mo

null 10 Mar 25, 2022
CelloDB is an easy-to-use database system implemented in Go

CelloDB CelloDB is the new, easy way to create and query databases. Table of Contents Table of Contents Features More Coming Soon! Features โŒ Querying

Neuron AI 1 Dec 30, 2021
A Simple and Comprehensive Vulnerability Scanner for Container Images, Git Repositories and Filesystems. Suitable for CI

A Simple and Comprehensive Vulnerability Scanner for Containers and other Artifacts, Suitable for CI. Table of Contents Abstract Features Installation

Aqua Security 14k Sep 27, 2022
Create changelogs for Helm Charts, based on git history

helm-changelog Create changelogs for Helm Charts, based on git history. The application depends on the assumption that the helm chart is released on t

Frederik Mogensen 35 Jun 3, 2022
Semantic version generator using git commit keywords and overrides

Semantic version generator Project created overnight, to prove that management of semantic versioning is NOT painful and do not require arguments and

Lukasz Raczylo 26 Aug 25, 2022
Hassle-free minimal CI/CD for git repositories with docker or docker-compose projects.

GIT-PIPE Hassle-free minimal CI/CD for git repos for docker-based projects. Features: zero configuration for repos by default automatic encrypted back

Aleksandr Baryshnikov 50 Sep 23, 2022
Write controller-runtime based k8s controllers that read/write to git, not k8s

Git Backed Controller The basic idea is to write a k8s controller that runs against git and not k8s apiserver. So the controller is reading and writin

Darren Shepherd 50 Dec 10, 2021
ArgoCD is widely used for enabling CD GitOps. ArgoCD internally builds manifest from source data in Git repository, and auto-sync it with target clusters.

ArgoCD Interlace ArgoCD is widely used for enabling CD GitOps. ArgoCD internally builds manifest from source data in Git repository, and auto-sync it

International Business Machines 54 Sep 30, 2022
Synchronise a directory's contents with a git repository.

git-volume-reloader Synchronise a directory's contents with a git repository. Synchronisation is triggered by a webhook sent by the git service provid

Padok 14 Sep 16, 2022
Fancy Git Clone that preserves directory structures

git go-clone This is fancy wrapper around git clone that preserves directory structures. For example, if you have some complex organization, and you w

Michael Jarvis 2 Sep 24, 2021
Git Commits as Artwork

gitart Git Commits as Artwork What is this? It's pointless! Still here? Generate some fantastic art from your git object ids. Usage Installing To inst

Owen Rumney 5 Dec 18, 2021
Simple example using Git actions + Argo CD + K8S + Docker and GO lang

CICD-simple_example Simple example using Git actions + Argo CD + K8S + Docker and GO lang Intro Pre reqs Have an ArgoCD account and Installed. Docker

Diogo Miyake 1 Oct 28, 2021
A tool that allows you to manage Kubernetes manifests for your services in a Git repository

kuberpult Readme for users About Kuberpult is a tool that allows you to manage Kubernetes manifests for your services in a Git repository and manage t

freiheit.com technologies 13 Sep 25, 2022
The CLI tool glueing Git, Docker, Helm and Kubernetes with any CI system to implement CI/CD and Giterminism

___ werf is an Open Source CLI tool written in Go, designed to simplify and speed up the delivery of applications. To use it, you need to describe the

werf 3.3k Sep 30, 2022
Output all versions of a local git repo, which could be used as test data for your ML program.

gitwalker Output all versions of a local git repo, which could be used as test data for your ML program. Notice This program is under development. Cur

zhuaiballl 0 Dec 27, 2021
Git-auto-push - Auto commit and push to github repositories

Auto commit and push to github repositories. How to use git clone https://github

Z.Q.K 3 Feb 5, 2022