github.com/docker/docker-ce@v17.12.1-ce-rc2+incompatible/README.md (about) 1 # Docker CE 2 3 This repository hosts open source components of Docker CE products. The 4 `master` branch serves to unify the upstream components on a regular 5 basis. Long-lived release branches host the code that goes into a product 6 version for the lifetime of the product. 7 8 This repository is solely maintained by Docker, Inc. 9 10 ## Issues 11 12 There are separate issue-tracking repos for the end user Docker CE 13 products specialized for a platform. Find your issue or file a new issue 14 for the platform you are using: 15 16 * https://github.com/docker/for-linux 17 * https://github.com/docker/for-mac 18 * https://github.com/docker/for-win 19 * https://github.com/docker/for-aws 20 * https://github.com/docker/for-azure 21 22 ## Unifying upstream sources 23 24 The `master` branch is a combination of components adapted from 25 different upstream git repos into a unified directory structure using the 26 [moby-components](https://github.com/shykes/moby-extras/blob/master/cmd/moby-components) 27 tool. 28 29 You can view the upstream git repos in the 30 [components.conf](components.conf) file. Each component is isolated into 31 its own directory under the [components](components) directory. 32 33 The tool will import each component git history within the appropriate path. 34 35 For example, this shows a commit 36 is imported into the component `engine` from 37 [moby/moby@a27b4b8](https://github.com/moby/moby/commit/a27b4b8cb8e838d03a99b6d2b30f76bdaf2f9e5d) 38 into the `components/engine` directory. 39 40 ``` 41 commit 5c70746915d4589a692cbe50a43cf619ed0b7152 42 Author: Andrea Luzzardi <aluzzardi@gmail.com> 43 Date: Sat Jan 19 00:13:39 2013 44 45 Initial commit 46 Upstream-commit: a27b4b8cb8e838d03a99b6d2b30f76bdaf2f9e5d 47 Component: engine 48 49 components/engine/container.go | 203 ++++++++++++++++++++++++++++... 50 components/engine/container_test.go | 186 ++++++++++++++++++++++++++++... 51 components/engine/docker.go | 112 ++++++++++++++++++++++++++++... 52 components/engine/docker_test.go | 175 ++++++++++++++++++++++++++++... 53 components/engine/filesystem.go | 52 ++++++++++++++++++++++++++++... 54 components/engine/filesystem_test.go | 35 +++++++++++++++++++++++++++ 55 components/engine/lxc_template.go | 94 ++++++++++++++++++++++++++++... 56 components/engine/state.go | 48 ++++++++++++++++++++++++++++... 57 components/engine/utils.go | 115 ++++++++++++++++++++++++++++... 58 components/engine/utils_test.go | 126 ++++++++++++++++++++++++++++... 59 10 files changed, 1146 insertions(+) 60 ``` 61 62 ## Updates to `master` branch 63 64 Main development of new features should be directed towards the upstream 65 git repos. The `master` branch of this repo will periodically pull in new 66 changes from upstream to provide a point for integration. 67 68 ## Branching for release 69 70 When a release is started for Docker CE, a new branch will be created 71 from `master`. Branch names will be `YY.MM` to represent the time-based 72 release version of the product, e.g. `17.06`. 73 74 ## Adding fixes to release branch 75 76 Note: every commit of a fix should affect files only within one component 77 directory. 78 79 ### Fix available upstream 80 81 A PR cherry-picking the necessary commits should be created against 82 the release branch. If the the cherry-pick cannot be applied cleanly, 83 the logic of the fix should be ported manually. 84 85 ### No fix yet 86 87 First create the PR with the fix for the release branch. Once the fix has 88 been merged, be sure to port the fix to the respective upstream git repo. 89 90 ## Release tags 91 92 There will be a git tag for each release candidate (RC) and general 93 availablilty (GA) release. The tag will only point to commits on release 94 branches.