cougaar.org only publicly exports read-only Git source repositories. The repositories and how to clone them for your local editing are described at Modules in Git Repositories. Be sure to read the section about Line Terminators. Here we suggest a workflow for making changes in your local copy of a repo and then sharing the changes with us.
Simple workflow
If you only have a private Git repository, with cougaar.org as its only remote repository, then you can use the following workflow:
- Clone our public git repository as described in Modules in Git Repositories.
- Add your change or fix a bug.
- Test it locally.
- Do a
git pullto verify your repository is up to date with ours. - Commit your change to your local Git repo with
git commit. - Generate a patch with
git format-patchand save it to a file. - Email the patch to support@cougaar.org. Ensure that the subject line starts with “[PATCH]“.
git send-emailcan be used to send the patch. - We will email you back if we accept the patch and have added it to the official repository.
- Do a
git pullafter the notification to merge in the changes. If we accepted your patch as-is, the merge should be simple.
Multiple upstream workflow
If you want to maintain a shared Git repository for multiple developers on your site, then follow the instructions in the references below for keeping that repository in sync with cougaar.org’s repositories via two remotes, one from the git clone and one from git add remote.
References
- ProGit chapter on Maintaining a Project
- How to create and apply a patch with git
- how-do-you-make-an-existing-git-branch-track-a-remote-branch
- A similar but complex workflow for Emulab
man git-format-patchman git-send-emailman git-am
