Code Monkey home page Code Monkey logo

gcommit's Introduction

gcommit's People

Contributors

caiotda avatar doriancodes avatar eamanu avatar ehx avatar gpalsingh avatar hegde5 avatar iamjoross avatar jaywelborn avatar jooaodanieel avatar leandrigues avatar mairieli avatar parthpratim avatar pedro823 avatar thatiane avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gcommit's Issues

Update AUR release automatically

GCommit is available at the AUR for an easier installation for arch-linux-based OS.
But, the process of releasing is done manually.

In this issue, we're asking for contributions to
automate this process via GitHub Actions

note: don't forget to update the README accordingly ๐Ÿš€

Turn GCommit into a commit wrapper

git gcommit is not a git commit wrapper, but it would be nice to have it as a full wrapper that only adds the team-signature behavior.

Suggestion: use a new flag that accept a list to differentiate from default git commit behavior, for example, add a git commit --team [ID1 ...]

Add help option

Add a command that shows a help message about how to use GCommit

Fix pep8

It would be great fix some pep8 problems on the code.

New command `init`

It would be nice to have a git gcommit init command to scaffold an initial gcommit.conf.json with

{
  "team": [
    {
      "name": "",
      "email": "",
      "tag": ""
    }
  ],
  "format": "GCommit/GitHub"            // default, also accepts "GCommit/GitLab"
}

note: don't forget to update the README accordingly ๐Ÿš€

Tests

The project could really use a set of automated tests.
This issue requests the installation of a tool for writting tests and some test code

Add support for named teams

Add support for team declaration on .gitteam file, so as to avoid naming every member initials in every git gcommit call.

Examples:

# at .gitteam file

JD="Joรฃo Daniel <[email protected]>"
JOD="John Doe <[email protected]>"
JAD="Jane Doe <[email protected]>"

TEAM: JD JOD JAD
OTHER: JOD JAD

Then, on your shell:

git gcommit TEAM

Which should equivalent to:

git gcommit JD JOD JAD

Furthermore, it should also create the possibility to define multiple team combinations directly at .gitteam file.

As another suggestion, it could be implemented as a flag, such as git gcommit -t OTHER that is equivalent to git gcommit --team OTHER and git gcommit JOD JAD.

Port .gitteam to a well-known format

GCommit would beneficiate from adopting a well-known format for its config file, such as JSON or YAML.
This would also create the opportunity to expand its configuration.

--all flag to add everybody

Sometimes you need to add the entire team to a commit message (mob programming).

GCommit would benefit from a --all flag that does the job. A bonus would be -a alias.

Not windows friendly

Installation instructions for windows are missing.
Proposal: Use setup.py script to make cross platform installation easier.
Bonus: Easier versioning and distribution.

Make the contributors table as a 5 x n grid

It would be great to improve the space used by the contributors table by spreading it across each line.
My guess is that making a 5 column-wide is enough.

note: not sure if markdown will be the right tool, but always remember that HTML is also accepted

Not Python 2 friendly

When I try to execute using Python version 2.7, shows this error:
Traceback (most recent call last): File "/usr/local/bin/git-gcommit", line 100, in <module> main() File "/usr/local/bin/git-gcommit", line 95, in main except FileNotFoundError: NameError: global name 'FileNotFoundError' is not defined

Support for named teams

It would be nice to use pre-defined named teams that translate to a set of people.

For exemple, with this gcommit.conf.json

{
  "team": [
    {
      "name": "Alfred Billard",
      "email": "[email protected]",
      "tag": "AB"
    },
    {
      "name": "Chad Delligan",
      "email": "[email protected]",
      "tag": "CD"
    }
  ],
  "format": "GCommit/GitHub",
+ "namedTeams": {
+   "frontend": [ "AB", "CD" ]
+ }
}

when running the following

git gcommit frontend

would work as

git gcommit AB CD

generating


Co-authored-by: Alfred Billard <[email protected]>
Co-authored-by: Chad Delligan <[email protected]>

note: don't forget to update README accodingly ๐Ÿš€

Recursively search the config file

GCommit works based on a config file placed at the same folder where .git is.
Although, sometimes we're committing from a deeper directory.

In this issue, we're asking for contributions to
search the config file in the current directory and recursively in the parent

note: don't forget to update the README accordingly ๐Ÿš€

Create a GitHub Release for Windows

GCommit has automatic releases with a GitHub Actions workflow.

But currently it only supports Linux and Mac releases -- see the workflow definition

In this issue, we're asking for contributions to
create an automatic release of GCommit for Windows via GitHub Actions

note: don't forget to update the README accordingly ๐Ÿš€

Prevent committing when no changes were added

GCommit creates a pre-written commit message for you with the signatures.

When there is no change added to commit, GCommit still opens the commit file. This behavior shouldn't happen.

In this issue, we're asking for contributions to
prevent GCommit from creating a commit message when there is no change added to commit

note: don't forget to update the README accordingly ๐Ÿš€

--except to easily add ALMOST everyone

Sometimes you need to add almost the entire team to a commit message (mob programming), in exception of one or two.

GCommit would benefit from a --except flag that receives a list of identifiers that will not be in the commit message. A bonus would be -e alias.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.