@@ -0,0 +1,28 @@
+package cmd
+
+import (
+	"github.com/spf13/cobra"
+)
+
+func mirrorCommand() *cobra.Command {
+	cmd := &cobra.Command{
+		Use:               "is-mirror REPOSITORY",
+		Short:             "Whether a repository is a mirror",
+		Args:              cobra.ExactArgs(1),
+		PersistentPreRunE: checkIfReadable,
+		RunE: func(cmd *cobra.Command, args []string) error {
+			cfg, _ := fromContext(cmd)
+			rn := args[0]
+			rr, err := cfg.Backend.Repository(rn)
+			if err != nil {
+				return err
+			}
+
+			isMirror := rr.IsMirror()
+			cmd.Println(isMirror)
+			return nil
+		},
+	}
+
+	return cmd
+}
  
  
  
    
    @@ -19,6 +19,7 @@ func repoCommand() *cobra.Command {
 		hiddenCommand(),
 		importCommand(),
 		listCommand(),
+		mirrorCommand(),
 		privateCommand(),
 		projectName(),
 		renameCommand(),
@@ -26,5 +27,56 @@ func repoCommand() *cobra.Command {
 		treeCommand(),
 	)
 
+	cmd.AddCommand(
+		&cobra.Command{
+			Use:               "info REPOSITORY",
+			Short:             "Get information about a repository",
+			Args:              cobra.ExactArgs(1),
+			PersistentPreRunE: checkIfReadable,
+			RunE: func(cmd *cobra.Command, args []string) error {
+				cfg, _ := fromContext(cmd)
+				rn := args[0]
+				rr, err := cfg.Backend.Repository(rn)
+				if err != nil {
+					return err
+				}
+
+				r, err := rr.Open()
+				if err != nil {
+					return err
+				}
+
+				head, err := r.HEAD()
+				if err != nil {
+					return err
+				}
+
+				branches, _ := r.Branches()
+				tags, _ := r.Tags()
+				cmd.Println("Project Name:", rr.ProjectName())
+				cmd.Println("Repository:", rr.Name())
+				cmd.Println("Description:", rr.Description())
+				cmd.Println("Private:", rr.IsPrivate())
+				cmd.Println("Hidden:", rr.IsHidden())
+				cmd.Println("Mirror:", rr.IsMirror())
+				cmd.Println("Default Branch:", head.Name().Short())
+				if len(branches) > 0 {
+					cmd.Println("Branches:")
+					for _, b := range branches {
+						cmd.Println("  -", b)
+					}
+				}
+				if len(tags) > 0 {
+					cmd.Println("Tags:")
+					for _, t := range tags {
+						cmd.Println("  -", t)
+					}
+				}
+
+				return nil
+			},
+		},
+	)
+
 	return cmd
 }