manifest: Support a default upstream value

It's convenient to set upstream for all projects in a manifest instead of
repeating the same value for each project.

Change-Id: I946b1de4efb01b351c332dfad108fa7d4f443cba
diff --git a/docs/manifest-format.txt b/docs/manifest-format.txt
index 56bdf14..0c957dd 100644
--- a/docs/manifest-format.txt
+++ b/docs/manifest-format.txt
@@ -44,6 +44,7 @@
     <!ATTLIST default remote      IDREF #IMPLIED>
     <!ATTLIST default revision    CDATA #IMPLIED>
     <!ATTLIST default dest-branch CDATA #IMPLIED>
+    <!ATTLIST default upstream    CDATA #IMPLIED>
     <!ATTLIST default sync-j      CDATA #IMPLIED>
     <!ATTLIST default sync-c      CDATA #IMPLIED>
     <!ATTLIST default sync-s      CDATA #IMPLIED>
@@ -164,6 +165,11 @@
 this value. If this value is not set, projects will use `revision`
 by default instead.
 
+Attribute `upstream`: Name of the Git ref in which a sha1
+can be found.  Used when syncing a revision locked manifest in
+-c mode to avoid having to sync the entire ref space. Project elements
+not setting their own `upstream` will inherit this value.
+
 Attribute `sync-j`: Number of parallel jobs to use when synching.
 
 Attribute `sync-c`: Set to true to only sync the given Git