open-consul/README.md

1.8 KiB

This is a temporary README. We'll restore the old README prior to PR upstream.

Consul Connect

This repository is the forked repository for Consul Connect work to happen in private prior to public release. This README will explain how to safely use this fork, how to bring in upstream changes, etc.

Cloning

To use this repository, clone it into your GOPATH as usual but you must rename consul-connect to consul so that Go imports continue working as usual.

Important: Never Modify Master

NEVER MODIFY MASTER! NEVER MODIFY MASTER!

We want to keep the "master" branch equivalent to OSS master. This will make rebasing easy for master. Instead, we'll use the branch f-connect. All feature branches should branch from f-connect and make PRs against f-connect.

When we're ready to merge back to upstream, we can make a single mega PR merging f-connect into OSS master. This way we don't have a sudden mega push to master on OSS.

Creating a Feature Branch

To create a feature branch, branch from f-connect:

git checkout f-connect
git checkout -b my-new-branch

All merged Connect features will be in f-connect, so you want to work from that branch. When making a PR for your feature branch, target the f-connect branch as the merge target. You can do this by using the dropdowns in the GitHub UI when creating a PR.

Syncing Upstream

First update our local master:

# This has to happen on forked master
git checkout master

# Add upstream to OSS Consul
git remote add upstream https://github.com/hashicorp/consul.git

# Fetch it
git fetch upstream

# Rebase forked master onto upstream. This should have no changes since
# we're never modifying master.
git rebase upstream master

Next, update the f-connect branch:

git checkout f-connect
git rebase origin master