Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Contributing guideline #555

Merged
merged 3 commits into from
Jul 31, 2016
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## Your new git-extra command should support...
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

## Your new git-extra command should support


* Should support Mac and Linux(You may need to browse their man page)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to be more precise on this one. We have users on i.e. *BSD and Solaris (i think), and one might forget that those may differ from your conventional Arch or Ubuntu in terms of the shell and maybe even available commands.

I don't actually know how to formulate this in a concise way, but our commands should run on all Ubuntu, Debian, Arch Linux, Linux Mint, Fedora/RedHat, and Bsd's and Solaris. The first few can probably go as Unix-like systems (along with OSX), but although *Bsd is Unix-like, technically, I think it deserves a mention because some of them have more restrictive shells.

I have rewritten the line one too many times now..
How about OSX, Ubuntu, FreeBsd.

So, if it runs on OSX, no one used Linux-specific stuff like reading from /proc, if it runs on Ubuntu it probably runs on most other Linux distros, and if it runs on FreeBsd there isn't any features considered 'unsafe' by FreeBsd and hopefully it runs on OpenBsd and the likes.

* Should support Bash 3 or newer(If you are not sure, [Bash versions](http://tldp.org/LDP/abs/html/bash2.html))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't actually think we will have much difficulties supporting Bash 3.0 (at least that's the impression I got from scanning over the changelogs), but it may be difficult for people to test it. I tried building Bash 3.0 on OSX, and I was unable to, even with all the patches.

Now, the default shell on my OSX El Capitan is 3.2 so that one shouldn't be hard to get hold of.

Should we say Bash >= 3.2?

* Should support Git 2.1+
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove Should support from all the items.


## To submit a new command, you should...
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

## To submit a new command, you should


Let's assume your new command is named `foo`.

1. Write a bash script under `./bin` called `git-foo`.
2. Read `./man/Readme.md` and write documentation for `git-foo`.
3. Don't forget to introduce it in `Commands.md`.
4. Update `./etc/git-extras-completion.zsh`. Just follow existing code.
5. (Optional) Update `./etc/bash_completion.sh`.
6. Run `./check_integrity.sh foo` to check if all is done.