diff --git a/subtree.md b/subtree.md
index b366fa4..ecf2f22 100644
--- a/subtree.md
+++ b/subtree.md
@@ -1,76 +1,7 @@
 # Subtree Architecture
 
-All of these directories are subtrees and may not be contributed to by pushing
-directly to the openbmc/openbmc top level repository
-
-Subtrees are a way to nest repositories inside another as a sub-directory. This
-allows us to contain all of the Yocto meta-data in individual repositories
-(useful for developers who don't want the phosphor-distro), as well as one top
-level directory - making it easy to get started.
-
-To find a list of all current subtrees in the openbmc project, navigate to:
-https://github.com/openbmc?utf8=✓&q=meta
-
-Instead, please follow this workflow:
-```
-$ git clone https://gerrit.openbmc-project.xyz/openbmc/openbmc
-# Make changes
-$ bitbake obmc-phosphor-image # Test out your changes
-$ git commit
-$ git remote add <repo_name> ssh://openbmc.gerrit/openbmc/<repo_name>/
-$ git fetch <repo_name>
-$ git checkout -b featureBranch <repo_name>/master
-$ git cherry-pick --strategy=subtree <SHA> # My commit from master
-$ git push ssh://openbmc.gerrit/openbmc/<repo_name> HEAD:refs/for/master
-
-$ git checkout master # To continue work on something unrelated
-```
-
-If you have lost the commit from the parent repo and need to do work on your
-subtree code review:
-```
-$ git checkout featureBranch
-$ git log -n1 --oneline # capture the SHA
-$ git checkout master
-$ git cherry-pick --strategy=subtree <SHA you just captured>
-```
-
-If for some reason you have lost the featureBranch:
-```
-$ git checkout -b featureBranch
-$ git fetch ssh://openbmc.gerrit/openbmc/<repo_name> refs/changes/XX/XXXX/X
-$ git checkout FETCH_HEAD
-$ git log -n1 --oneline # Capture the SHA
-$ git checkout master
-$ git cherry-pick --strategy=subtree <SHA you just captured>
-```
-
-### Automation to test the ref
-Where $1 is the repo name, and $2 is a ref to a pointer
-```
-git clone https://gerrit.openbmc-project.xyz/openbmc/openbmc
-cd openbmc
-git remote add subtree-remote https://gerrit.openbmc-project.xyz/openbmc/$1
-git fetch ssh://openbmc.gerrit/openbmc/$1 refs/changes/$2
-git cherry-pick --strategy=subtree FETCH_HEAD
-```
-
-### Automation to merge the subtree into openbmc/openbmc
-Once +2 is given, this script will run where $1 is the repo name, and $2 is a
-full path to subtree from top level
-```
-git clone ssh://<user>@gerrit.openbmc-project.xyz:29418/openbmc/openbmc
-cd openbmc
-git remote add subtree-remote https://gerrit.openbmc-project.xyz/openbmc/$1
-
-git subtree pull --prefix=$2 subtree-remote master
-git push
-```
-
-To keep yourself up to date with the latest as changes are submitted, you can
-simply rebase again the openbmc master, and you will automatically get the
-changes made in the sub-directories.
-```
-git checkout master
-git pull --rebase origin master
-```
+In the past, meta-layer repositories were added to the repo as subtrees.  This
+is no longer the case.  Although the individual meta-\* trees still exist in
+gerrit and github for the sake of keeping a complete history, they should not be
+used, and new meta layers will simply be checked in within the openbmc/openbmc
+code tree.
