Read about building kedge here.
- Go to https://github.com/kedgeproject/kedge
- Click the "Fork" button (at the top right)
The commands below require that you have $GOPATH. We highly recommended you put Kedge' code into your $GOPATH.
git clone https://github.com/$YOUR_GITHUB_USERNAME/kedge.git $GOPATH/src/github.com/kedgeproject/kedge
cd $GOPATH/src/github.com/kedgeproject/kedge
git remote add upstream 'https://github.com/kedgeproject/kedge'
git checkout -b myfeature
# Make your code changes
git fetch upstream
git rebase upstream/master
Note: If you have write access to the main repository at github.com/kedgeproject/kedge, you should modify your git configuration so that you can't accidentally push to upstream:
git remote set-url --push upstream no_push
git commit
git push -f origin myfeature
- Visit https://github.com/$YOUR_GITHUB_USERNAME/kedge.git
- Click the "Compare and pull request" button next to your "myfeature" branch.
- Check out the pull request process for more details
Kedge uses glide
to manage dependencies and glide-vc
to clean vendor directory.
They are not strictly required for building Kedge but they are required when managing dependencies under the vendor/
directory.
If you want to make changes to dependencies please make sure that glide
and glide-vc
are installed and are in your $PATH
.
There are many ways to build and host golang binaries. Here is an easy way to get utilities like glide
and glide-vc
installed:
Ensure that Mercurial and Git are installed on your system. (some of the dependencies use the mercurial source control system).
Use apt-get install mercurial git
or yum install mercurial git
on Linux, or brew.sh
on OS X, or download them directly.
go get -u github.com/Masterminds/glide
go get github.com/sgotti/glide-vc
Check that glide
and glide-vc
commands are working.
glide --version
glide-vc -h
- Update
glide.yml
file.
Add new packages or subpackages to glide.yml
depending if you added whole new package as dependency or
just new subpackage.
-
Run
glide update --strip-vendor
to get new dependencies. Than runglide-vc --only-code --no-tests
to delete all unnecessary files from vendor. -
Commit updated
glide.yml
,glide.lock
andvendor
to git.
-
Set new package version in
glide.yml
file. -
Run
glide update --strip-vendor
to update dependencies. Than runglide-vc --only-code --no-tests
to delete all unnecessary files from vendor.