Added support for `glide import gb` and related.
diff --git a/cmd/recursive_glide.go b/cmd/recursive_glide.go
index 2166002..83ea5d6 100644
--- a/cmd/recursive_glide.go
+++ b/cmd/recursive_glide.go
@@ -18,29 +18,32 @@
 	}
 	force := p.Get("force", true).(bool)
 
-	godeps, gpm, deleteFlatten := false, false, false
+	godeps, gpm, gb, deleteFlatten := false, false, false, false
 	if g, ok := p.Has("importGodeps"); ok {
 		godeps = g.(bool)
 	}
 	if g, ok := p.Has("importGPM"); ok {
 		gpm = g.(bool)
 	}
+	if g, ok := p.Has("importGb"); ok {
+		gb = g.(bool)
+	}
 
 	if g, ok := p.Has("deleteFlatten"); ok {
 		deleteFlatten = g.(bool)
 	}
 
-	Info("Checking dependencies for updates. Godeps: %v, GPM: %v\n", godeps, gpm)
+	Info("Checking dependencies for updates. Godeps: %v, GPM: %v, gb: %v\n", godeps, gpm, gb)
 	if deleteFlatten == true {
 		Info("Deleting flattened dependencies enabled\n")
 	}
 	conf := p.Get("conf", &Config{}).(*Config)
 	vend, _ := VendorPath(c)
 
-	return recDepResolve(conf, vend, godeps, gpm, force, deleteFlatten)
+	return recDepResolve(conf, vend, godeps, gpm, gb, force, deleteFlatten)
 }
 
-func recDepResolve(conf *Config, vend string, godeps, gpm, force, deleteFlatten bool) (interface{}, error) {
+func recDepResolve(conf *Config, vend string, godeps, gpm, gb, force, deleteFlatten bool) (interface{}, error) {
 
 	Info("Inspecting %s.\n", vend)
 
@@ -62,24 +65,25 @@
 			if gpm {
 				importGPM(base, imp.Name)
 			}
+			if gb {
+				importGb(base, imp.Name)
+			}
 			if !needsGlideUp(base) {
 				Info("Package %s manages its own dependencies.\n", imp.Name)
 				continue
 			}
 		}
 
-		if err := dependencyGlideUp(conf, base, godeps, gpm, force, deleteFlatten); err != nil {
+		if err := dependencyGlideUp(conf, base, godeps, gpm, gb, force, deleteFlatten); err != nil {
 			Warn("Failed to update dependency %s: %s", imp.Name, err)
 		}
 	}
 
-	// Run `glide up`
 	return nil, nil
 }
 
-func dependencyGlideUp(parentConf *Config, base string, godep, gpm, force, deleteFlatten bool) error {
+func dependencyGlideUp(parentConf *Config, base string, godep, gpm, gb, force, deleteFlatten bool) error {
 	Info("Doing a glide in %s\n", base)
-	//conf := new(Config)
 	fname := path.Join(base, "glide.yaml")
 	f, err := yaml.ReadFile(fname)
 	if err != nil {
@@ -157,7 +161,7 @@
 
 		//recDepResolve(conf, path.Join(wd, "vendor"))
 	}
-	recDepResolve(conf, path.Join(base, "vendor"), godep, gpm, force, deleteFlatten)
+	recDepResolve(conf, path.Join(base, "vendor"), godep, gpm, gb, force, deleteFlatten)
 	return nil
 }
 
@@ -197,6 +201,15 @@
 	return quickDirtyYAMLWrite(dir, d, pkg)
 }
 
+func importGb(dir, pkg string) error {
+	Info("Looking in %s/vendor/ for a manifest file.\n", dir)
+	d, err := parseGbManifest(dir)
+	if err != nil {
+		return err
+	}
+	return quickDirtyYAMLWrite(dir, d, pkg)
+}
+
 func quickDirtyYAMLWrite(dir string, d []*Dependency, pkg string) error {
 	if len(d) == 0 {
 		return nil
diff --git a/glide.go b/glide.go
index 7d7e3d0..110d435 100644
--- a/glide.go
+++ b/glide.go
@@ -144,7 +144,7 @@
 	'--no-recursive'
 
 	If '--import' is set, this will also read the dependency projects, looking
-	for Godep and GPM files. When it finds them, it will build a comparable
+	for gb, Godep and GPM files. When it finds them, it will build a comparable
 	glide.yaml file, and then fetch all of the necessary dependencies. The
 	dependencies are then vendored in the appropriate project. Subsequent calls
 	to 'glide up' will use the glide.yaml to maintain those dependencies.
@@ -171,6 +171,7 @@
 				if c.Bool("import") {
 					cxt.Put("importGodeps", true)
 					cxt.Put("importGPM", true)
+					cxt.Put("importGb", true)
 				}
 				setupHandler(c, "get", cxt, router)
 			},
@@ -193,6 +194,13 @@
 						setupHandler(c, "import gpm", cxt, router)
 					},
 				},
+				{
+					Name:  "gb",
+					Usage: "Import gb's manifest file and display the would-be yaml file",
+					Action: func(c *cli.Context) {
+						setupHandler(c, "import gb", cxt, router)
+					},
+				},
 			},
 		},
 		{
@@ -312,6 +320,7 @@
 				if c.Bool("import") {
 					cxt.Put("importGodeps", true)
 					cxt.Put("importGPM", true)
+					cxt.Put("importGb", true)
 				}
 				cxt.Put("updateVendoredDeps", c.Bool("update-vendored"))
 				setupHandler(c, "update", cxt, router)
@@ -409,6 +418,7 @@
 		Using("enable").From("cxt:recursiveDependencies").
 		Using("importGodeps").From("cxt:importGodeps").
 		Using("importGPM").From("cxt:importGPM").
+		Using("importGb").From("cxt:importGb").
 		Using("force").From("cxt:forceUpdate").WithDefault(false).
 		Does(cmd.WriteYaml, "out").
 		Using("yaml.Node").From("cxt:merged").
@@ -440,6 +450,7 @@
 		Using("deleteFlatten").From("cxt:deleteFlatten").
 		Using("importGodeps").From("cxt:importGodeps").
 		Using("importGPM").From("cxt:importGPM").
+		Using("importGb").From("cxt:importGb").
 		Using("enable").From("cxt:recursiveDependencies").
 		Using("force").From("cxt:forceUpdate").
 		Does(cmd.VendoredCleanUp, "_").
@@ -489,6 +500,16 @@
 		Does(cmd.MergeToYaml, "merged").Using("conf").From("cxt:cfg").
 		Does(cmd.WriteYaml, "out").Using("yaml.Node").From("cxt:merged")
 
+	reg.Route("import gb", "Read a vendor/manifest file").
+		Includes("@startup").
+		Includes("@ready").
+		Does(cmd.GbManifest, "manifest").
+		Does(cmd.AddDependencies, "addGodeps").
+		Using("dependencies").From("cxt:manifest").
+		Using("conf").From("cxt:cfg").
+		Does(cmd.MergeToYaml, "merged").Using("conf").From("cxt:cfg").
+		Does(cmd.WriteYaml, "out").Using("yaml.Node").From("cxt:merged")
+
 	reg.Route("guess", "Guess dependencies").
 		Includes("@ready").
 		Does(cmd.GuessDeps, "cfg").