Releases: julien040/gut
Releases · julien040/gut
0.2.2
🎉 New version v0.2.2
Long running commands now have a spinner to reduce frustration.
What's Changed
- Add README.md by @julien040 in #22
- Update issue templates by @julien040 in #23
- Create SECURITY.md by @julien040 in #24
- 📈 Update gut version in telemetry automatically by @julien040 in #25
- 👷 Add scoop bucket to goreleaser by @julien040 in #26
- Add spinner to slow commands by @julien040 in #27
Full Changelog: 0.2.1...0.2.2
0.2.1
🎉 New version v0.2.1
Profiles performance
This version improves greatly performance of profiles loading.
You can expect a 6x to 10x in execution time on commands that doesn't need to load a profile.
Help usage
Some commands now have a clearer help message
Changelog
- c8c8277 Fix #16 - Improving performance of profiles loading (#18)
- 61d4cc0 🐛 Fix #17 ref not found on init repo (#19)
- 1fa584e 👷 Remove Apple notarization I've a lot of issues with notarization. I will temporary disable it
- b5c37f6 💄 Add spinner to status cmd (merge #20)
- aa2128e 💄 Add spinner to status cmd Because status can be quite slow with a big number of files (hi node_modules 👋), I've added a spinner while go-git is getting the status of files It makes the experience less frustrating
- 1bdcb84 💬 Update of commands description (#21)
0.2.0
Changelog
0.1.0
Changelog
- 41bff32 🎨 Extract functions of controller in new file
- 1867fae 🐛 Error message was shown twice This was happening bc cobra prints the error and gut was printing too
- 7eaccf5 🐛 Fix : gut save doesn't respect .gitignore Because of an issue in go-git, commiting was ignoring .gitignore. I had to parse the .gitignore and fill the .exclude property of Worktree. Now, .gitignore is taken in account. But nested .gitignore are ignored
- 66e414a 🐛 Fix switch cmd : Uncommited changes on switching Go-git returns an error if there are uncommited changes when switching I added an exit if changes aren't commited
- cb00d89 🐛 Fix undo cmd Git revert only revert to a specified commit and not everything in between the commit and the head I had to use "double dot" syntax to pass all commits between so that all changes are reverted
- 215b9ef 🐛 Fix: status cmd not check git init Status wasn't checking if git has been initialized in the directory This would led to go-git returning error
- a147d5e 🐛 Profile wasn't asking a valid email address for commit Now, on creation of profile, the user is prompt for an email. Add tests for IsEmailValid and isDomainValid
- 372e7c3 📈 Update URL for analytics
- 7b882e6 🚸 Save prompt for config To avoid scary messages from Git if the user use gut and git, gut prompt for an username and an email on commit and set it to the local config.
- a93d90a 🚧 Add clone cmd check if directory is empty
- b5df1cb 🚧 Branch executor created | History cmd skeleton added
- 264aa78 🚧 Clone cmd now checks if dir is empty
- 704e0c8 🔥 Remove auth command | New command setup - The auth command is not needed anymore. Profile already take this role. - To link a profile to a repo, use gut setup auth - Setup is an alias of Init
- de65a95 💄 Info message are now in cyan
- 6ba8ead ♻️ Clone command refactor
- 12789bd ♻️ Remove config package - Profile package now handles decoding and writing to profiles.toml - Because not needed anymore, remove gookit/config
- 725d302 ✨ Add GitHub authentication - Package retry-go added to handle API request failure - New package provider to interact with platform (gitlab, github, etc.)
- be89dcd ✨ Add gut ignore ls | Gitignore update Gitignore now has a key for .gut
- 4fc0ead ✨ Add gut sync command | Structure code changes
- 46b4d97 ✨ Add history command
- ab852be ✨ Add status command
- 626fd6e ✨ Gut Clone fully implemented
- 2ecb75a ✨ Init and setup auth command created | New check for init To ensure a repo is inited before commiting, I made a new function :
checkIfGitRepoInitialized
: Now, if no repo is inited, the user is prompt to do it If he refuses, it exits - 3ed1d05 ✨ Profile cmd implemented
- ef6f513 ✨ Profile internal functions implemented
- bbd2a80 ✨ Profile linked to repo
- a8eb0c8 ✨ Save command created
- a0d0f93 💬 Rewrite input of CLI For better clarity, rewrote error printing and Gut save help messages
- 9eccf89 💬 Rewrote prompt from "we" to "I"
- 6a720aa 🎉 The start of a never-ending project
- 7c3476e 🚚 New command added - Diff : Show the difference between Head and the file - Fix : Fix mistakes using git - History : show history of commits - Undo : revert change of the working tree to the last commit
- 4be3e3e 🚚 Undo command renamed to revert Due because now, new "undo" cmd deletes changes since last commit
- 765eb2c ✅ Add test for controller
- 1fa5808 Merge pull request #1 from julien040/feature
- 5226340 Merge pull request #11 from julien040/telemetry
- 1eb98bf Merge pull request #12 from julien040/fix/gitmoji
- 7f7080c Merge pull request #2 from julien040/feature
- a030f1f Merge pull request #3 from julien040/feature
- 3890002 Merge pull request #4 from julien040/feature
- 27ddbc9 Merge pull request #5 from julien040/feature
- 4887f3e Merge pull request #6 from julien040/feature
- 3b7939c Merge pull request #7 from julien040/feature
- 9723267 Merge pull request #8 from julien040/feature
- cdb4b80 Merge pull request #9 from julien040/feature
- 9cedba2 ♻️ Keyring provider change 99designs => zalando With Go 1.19.5, I had a weird issue with the macOS Keychain Password could be blocked and not readable from gut Issue seems fix with zalando keyring and Go 1.19.4
- 57c4311 ✏️ Fix typo in error message
- 1ca9e15 ✨ Add Remote cmd
- a31840a ✨ Add Undo command Undo use git revert to work It lists commits from the current branch and prompt user to choose one Once choosen, exec package is used to call git revert -m option in git revert is used to simplify merge
- 27aa7f5 ✨ Add amend --no-edit in gut fix Gut fix can now change content of a commit if it hasn't been pushed yet
- a92e4c5 ✨ Add blank emoji for gut save May be some projects don't want to use git emoji If they don't want to, they can select the category "no emoji"
- b1b98a2 ✨ Add branch sorted by last used
- a5188ee ✨ Add check for detached head To avoid data loss, gut check if the head is detached on commands that modify the working tree
- 877e3fd ✨ Add goto/lookout command - Goto shows the state of the repository at a given commit and detach head - New function checkIfDetachedHead should be put at the beginning of important functions. It ensure no changes are made while the repo is in detached mode
- 3379eb9 ✨ Add gut fix (amend commit message) - Add select in gut fix - Add first fix in gut fix (amend commit message) - To be able to prompt for a new commit message, I've extract the prompt of Save cmd in a new function called promptCommitMessage - Change default page size to 6 in prompt.Select to avoid navigation when choosing a fix
- 87eba8f ✨ Add ignore command Ignore command added It fetches .gitignore template from toptal api. Compare it to the local gitignore And append the remaining items into the local gitignore
- 2b0a5dd ✨ Add merge command Merge tries to know which platform the repo is using (github, gitlab, etc.) If it figured out, it opens a link to create a pull request If not, it explains to the user how to merge the branch
- c7955f3 ✨ Add profile rm command
- bcfe052 ✨ Add telemetry command Used to enable/disable telemetry
- b6ab0ff ✨ Add undo command Undo revert files to the Head so that the user can remove his changes
- 34f1456 ✨ Add whereami command Whereami print the HEAD hash and the current branch to replace git rev-parse
- f8d20ec ✨ Branch command added - Add branch add, branch rm and branch ls - Add status command skeleton - Rewrote exitOnError command (exit message removed)
- 0928002 ✨ New error handling for known errors If the error happens a lot (e.g. exit on input), it can be added to the error.go file Known errors are then explained in the gut website
- a2faaaf ✨ Update: Whereami cmd shows if in detached head
- 4667cb9 ✨ Update: branch rm can delete remote branches Using git, branch rm can delete the remote branch with "git push --delete " It only runs if git is installed and only one remote is in the repo
- 4a90a9c ✨ Update: gut sync rebase when no ff possible If go-git can't resolve the pull as a fast-forward, we call the git cli Gut sets the local config flag pull rebase to true if not set. If a value is already set, we don't touch it and leave as is. This lets Git do a rebase if the user doesn't want something else
- a0275ec ✨ Update: status cmd shows if in detached head
- dfff9d4 🎉 Add gut diff command Gut diff show the differences between commits and branches If the selected commits have been pushed to GitHub or GitLab, it opens the compare page in the browser
- 107d35f 🐛 Add check uncommited change in merge/sync Because the save cmd requires flag, it can't be called from another command I've removed the call for the merge command Also, a pull won't work if the working tree isn't clean. I've added a check for the working tree in the sync cmd
- 4b45f96 🐛 Fix a weird bug in consent.toml I don't know why, but I can't use writeString() to write to the file.
- a5509d6 🐛 Fix merge work tree not clean Merge cmd didn't check if the working tree was clean If not, it would have led to an error in Git
- 9288ea3 🐛 Fix: Switch should not check for detached head Because switch is used to revert back to a "normal state", it shouldn't be checking if the head is detached. With that, it wouldn't be possible to go back to a normal state
- 294ea98 🐛 Fix: Sync not working empty repository If the repo is empty, pulling won't working Before the patch, it was exiting. Now it continues to push This bug would have cause issues with first commit on a remote repository
- dabeaff 🐛 Fix: gitignore still tracking file after added If a user add a file to the .gitignore and it was already tracked, it won't be deleted Gut ask if the user want to clean the git cache
- c58c126 🐛 Fix: ignore cmd running git rm without repo After changing the .gitignore, gut ignore prompt to untrack new files added to the .gitignore But gut would still do so even if no repo have been initialized This means git would generate an error Now, gut check if a repo has been initialized before prompting. If there is no repo, gut doesn't ask the user.
- 6bc52d8 🐛 Fix: prevent merge from and to the same branch Before, if the user put in arg the name of the actual branch, no error would be generated. This would mean you can merge "main" into "main" for instance. Now, if the branch in arg is the same as the current branch, the user would be prompted again to set another branch to be merged
- 1da5af3 🐛 Fix: profile issues When a new profile is created, it wasn't added to the global profiles list If the user would list immediatly after the list of profiles without restarting the cli, the profile won't be available Password prompt was buggy. It was working ...