2015-03-19 19:30:55 +00:00
|
|
|
## Contributing to Git Large File Storage
|
2015-02-07 16:51:55 +00:00
|
|
|
|
2015-02-07 17:00:36 +00:00
|
|
|
Hi there! We're thrilled that you'd like to contribute to this project. Your
|
|
|
|
help is essential for keeping it great.
|
|
|
|
|
|
|
|
## Submitting a pull request
|
|
|
|
|
|
|
|
0. [Fork][] and clone the repository
|
|
|
|
0. Configure and install the dependencies: `script/bootstrap`
|
|
|
|
0. Make sure the tests pass on your machine: `script/test`
|
|
|
|
0. Create a new branch: `git checkout -b my-branch-name`
|
|
|
|
0. Make your change, add tests, and make sure the tests still pass
|
|
|
|
0. Push to your fork and [submit a pull request][pr]
|
2015-05-27 14:34:13 +00:00
|
|
|
0. Accept the [GitHub CLA][cla]
|
2015-02-07 17:00:36 +00:00
|
|
|
0. Pat your self on the back and wait for your pull request to be reviewed.
|
|
|
|
|
|
|
|
Here are a few things you can do that will increase the likelihood of your pull request being accepted:
|
|
|
|
|
|
|
|
- Follow the [style guide][style] where possible.
|
|
|
|
- Write tests.
|
2015-04-08 19:33:33 +00:00
|
|
|
- Update documentation as necessary. Commands have [man pages](./docs/man).
|
2015-02-07 17:00:36 +00:00
|
|
|
- Keep your change as focused as possible. If there are multiple changes you
|
|
|
|
would like to make that are not dependent upon each other, consider submitting
|
|
|
|
them as separate pull requests.
|
|
|
|
- Write a [good commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
|
|
|
|
|
|
|
|
## Updating 3rd party packages
|
|
|
|
|
|
|
|
0. Update `Godeps`.
|
|
|
|
0. Run `script/vendor` to update the code in the `.vendor/src` directory.
|
2015-03-19 19:30:55 +00:00
|
|
|
0. Commit the change. Git LFS vendors the full source code in the repository.
|
2015-02-07 17:00:36 +00:00
|
|
|
0. Submit a pull request.
|
|
|
|
|
2015-04-02 21:57:52 +00:00
|
|
|
## Releasing
|
|
|
|
|
|
|
|
If you are the current maintainer:
|
|
|
|
|
|
|
|
* Create a [new draft Release](https://github.com/github/git-lfs/releases/new).
|
|
|
|
List any changes with links to related PRs.
|
|
|
|
* Make sure your local dependencies are up to date: `script/bootstrap`
|
|
|
|
* Ensure that tests are green: `script/test`
|
|
|
|
* Bump the version in `lfs/lfs.go`, [like this](https://github.com/github/git-lfs/commit/dd17828e4a6f2394cbba8621037199dc28f046e8).
|
2015-04-30 15:40:47 +00:00
|
|
|
* Add the new version to the top of CHANGELOG.md
|
2015-04-02 21:57:52 +00:00
|
|
|
* Build for all platforms with `script/bootstrap -all` (you need Go setup for
|
|
|
|
cross compiling with Mac, Linux, FreeBSD, and Windows support).
|
|
|
|
* Test the command locally. The compiled version will be in `bin/releases/{os}-{arch}/git-lfs-{version}/git-lfs`
|
|
|
|
* Get the draft Release ID from the GitHub API: `curl -in https://api.github.com/repos/github/git-lfs/releases`
|
|
|
|
* Run `script/release -id {id}` to upload all of the compiled binaries to the
|
|
|
|
release.
|
|
|
|
* Publish the Release on GitHub.
|
|
|
|
|
2015-02-07 17:00:36 +00:00
|
|
|
## Resources
|
|
|
|
|
|
|
|
- [Contributing to Open Source on GitHub](https://guides.github.com/activities/contributing-to-open-source/)
|
|
|
|
- [Using Pull Requests](https://help.github.com/articles/using-pull-requests/)
|
|
|
|
- [GitHub Help](https://help.github.com)
|
|
|
|
|
2015-03-19 19:30:55 +00:00
|
|
|
[fork]: https://github.com/github/git-lfs/fork
|
|
|
|
[pr]: https://github.com/github/git-lfs/compare
|
2015-02-07 17:00:36 +00:00
|
|
|
[style]: https://github.com/golang/go/wiki/CodeReviewComments
|
2015-05-27 14:34:13 +00:00
|
|
|
[cla]: https://cla.github.com/github/git-lfs/accept
|