Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Why is this important? It's because no forward progress can be made without a passing build. Without a working build, we do not have working software, and no-one can verify their software works.

Use hudsonBuild branches

Hudson has a job which automatically builds any branches starting with hudsonBuild. Use this to test experimental or WIP (work-in-progress) code.

Here's an example. Assume the current working directory is the top-level of a clone of our "head" repository, currently checked out to a branch called "master" which tracks "origin/master":

Code Block

# Create new WIP branch off master:
git checkout -b hudsonBuild-someWIP --track origin/master
# Make experimental changes, commit them.
# Push upstream:
git push origin hudsonBuild-someWIP
# Hudson sees the branch appear and automatically builds the code.
# If you like the changes and want them on master, do this:
git checkout master
git merge --ff-only hudsonBuild-someWIP
# Whether you keep the changes or not, prune the branch from the remote server (note the colon):
git push origin :hudsonBuild-someWIP
# Switch back to master and delete the WIP branch:
git checkout master
git branch -d hudsonBuild-someWIP

See Also