---
title: cli
---

<!-- Code generated by gomarkdoc. DO NOT EDIT -->

# cli

```go
import "github.com/danmestas/go-libfossil/cli"
```

## Index

- [func Version\(\) string](<#Version>)
- [type Globals](<#Globals>)
  - [func \(g \*Globals\) OpenRepo\(\) \(\*libfossil.Repo, error\)](<#Globals.OpenRepo>)
- [type RepoAddCmd](<#RepoAddCmd>)
  - [func \(c \*RepoAddCmd\) Run\(g \*Globals\) \(err error\)](<#RepoAddCmd.Run>)
- [type RepoAnnotateCmd](<#RepoAnnotateCmd>)
  - [func \(c \*RepoAnnotateCmd\) Run\(g \*Globals\) error](<#RepoAnnotateCmd.Run>)
- [type RepoBisectBadCmd](<#RepoBisectBadCmd>)
  - [func \(c \*RepoBisectBadCmd\) Run\(g \*Globals\) error](<#RepoBisectBadCmd.Run>)
- [type RepoBisectCmd](<#RepoBisectCmd>)
- [type RepoBisectGoodCmd](<#RepoBisectGoodCmd>)
  - [func \(c \*RepoBisectGoodCmd\) Run\(g \*Globals\) error](<#RepoBisectGoodCmd.Run>)
- [type RepoBisectLsCmd](<#RepoBisectLsCmd>)
  - [func \(c \*RepoBisectLsCmd\) Run\(g \*Globals\) error](<#RepoBisectLsCmd.Run>)
- [type RepoBisectNextCmd](<#RepoBisectNextCmd>)
  - [func \(c \*RepoBisectNextCmd\) Run\(g \*Globals\) error](<#RepoBisectNextCmd.Run>)
- [type RepoBisectResetCmd](<#RepoBisectResetCmd>)
  - [func \(c \*RepoBisectResetCmd\) Run\(g \*Globals\) error](<#RepoBisectResetCmd.Run>)
- [type RepoBisectSkipCmd](<#RepoBisectSkipCmd>)
  - [func \(c \*RepoBisectSkipCmd\) Run\(g \*Globals\) error](<#RepoBisectSkipCmd.Run>)
- [type RepoBisectStatusCmd](<#RepoBisectStatusCmd>)
  - [func \(c \*RepoBisectStatusCmd\) Run\(g \*Globals\) error](<#RepoBisectStatusCmd.Run>)
- [type RepoBlameCmd](<#RepoBlameCmd>)
- [type RepoBranchCloseCmd](<#RepoBranchCloseCmd>)
  - [func \(c \*RepoBranchCloseCmd\) Run\(g \*Globals\) error](<#RepoBranchCloseCmd.Run>)
- [type RepoBranchCmd](<#RepoBranchCmd>)
- [type RepoBranchLsCmd](<#RepoBranchLsCmd>)
  - [func \(c \*RepoBranchLsCmd\) Run\(g \*Globals\) error](<#RepoBranchLsCmd.Run>)
- [type RepoBranchNewCmd](<#RepoBranchNewCmd>)
  - [func \(c \*RepoBranchNewCmd\) Run\(g \*Globals\) error](<#RepoBranchNewCmd.Run>)
- [type RepoCatCmd](<#RepoCatCmd>)
  - [func \(c \*RepoCatCmd\) Run\(g \*Globals\) error](<#RepoCatCmd.Run>)
- [type RepoCiCmd](<#RepoCiCmd>)
  - [func \(c \*RepoCiCmd\) Run\(g \*Globals\) \(err error\)](<#RepoCiCmd.Run>)
- [type RepoCloneCmd](<#RepoCloneCmd>)
  - [func \(c \*RepoCloneCmd\) Run\(g \*Globals\) error](<#RepoCloneCmd.Run>)
- [type RepoCmd](<#RepoCmd>)
- [type RepoCoCmd](<#RepoCoCmd>)
  - [func \(c \*RepoCoCmd\) Run\(g \*Globals\) error](<#RepoCoCmd.Run>)
- [type RepoConfigCmd](<#RepoConfigCmd>)
- [type RepoConfigGetCmd](<#RepoConfigGetCmd>)
  - [func \(c \*RepoConfigGetCmd\) Run\(g \*Globals\) error](<#RepoConfigGetCmd.Run>)
- [type RepoConfigLsCmd](<#RepoConfigLsCmd>)
  - [func \(c \*RepoConfigLsCmd\) Run\(g \*Globals\) error](<#RepoConfigLsCmd.Run>)
- [type RepoConfigSetCmd](<#RepoConfigSetCmd>)
  - [func \(c \*RepoConfigSetCmd\) Run\(g \*Globals\) error](<#RepoConfigSetCmd.Run>)
- [type RepoConflictsCmd](<#RepoConflictsCmd>)
- [type RepoConflictsExtractCmd](<#RepoConflictsExtractCmd>)
  - [func \(c \*RepoConflictsExtractCmd\) Run\(g \*Globals\) error](<#RepoConflictsExtractCmd.Run>)
- [type RepoConflictsLsCmd](<#RepoConflictsLsCmd>)
  - [func \(c \*RepoConflictsLsCmd\) Run\(g \*Globals\) error](<#RepoConflictsLsCmd.Run>)
- [type RepoConflictsMergeCmd](<#RepoConflictsMergeCmd>)
  - [func \(c \*RepoConflictsMergeCmd\) Run\(g \*Globals\) error](<#RepoConflictsMergeCmd.Run>)
- [type RepoConflictsPickCmd](<#RepoConflictsPickCmd>)
  - [func \(c \*RepoConflictsPickCmd\) Run\(g \*Globals\) error](<#RepoConflictsPickCmd.Run>)
- [type RepoConflictsShowCmd](<#RepoConflictsShowCmd>)
  - [func \(c \*RepoConflictsShowCmd\) Run\(g \*Globals\) error](<#RepoConflictsShowCmd.Run>)
- [type RepoDeltaApplyCmd](<#RepoDeltaApplyCmd>)
  - [func \(c \*RepoDeltaApplyCmd\) Run\(g \*Globals\) error](<#RepoDeltaApplyCmd.Run>)
- [type RepoDeltaCmd](<#RepoDeltaCmd>)
- [type RepoDeltaCreateCmd](<#RepoDeltaCreateCmd>)
  - [func \(c \*RepoDeltaCreateCmd\) Run\(g \*Globals\) error](<#RepoDeltaCreateCmd.Run>)
- [type RepoDiffCmd](<#RepoDiffCmd>)
  - [func \(c \*RepoDiffCmd\) Run\(g \*Globals\) error](<#RepoDiffCmd.Run>)
- [type RepoExtractCmd](<#RepoExtractCmd>)
  - [func \(c \*RepoExtractCmd\) Run\(g \*Globals\) error](<#RepoExtractCmd.Run>)
- [type RepoHashCmd](<#RepoHashCmd>)
  - [func \(c \*RepoHashCmd\) Run\(g \*Globals\) error](<#RepoHashCmd.Run>)
- [type RepoInfoCmd](<#RepoInfoCmd>)
  - [func \(c \*RepoInfoCmd\) Run\(g \*Globals\) error](<#RepoInfoCmd.Run>)
- [type RepoInviteCmd](<#RepoInviteCmd>)
  - [func \(c \*RepoInviteCmd\) Run\(g \*Globals\) error](<#RepoInviteCmd.Run>)
- [type RepoLsCmd](<#RepoLsCmd>)
  - [func \(c \*RepoLsCmd\) Run\(g \*Globals\) error](<#RepoLsCmd.Run>)
- [type RepoMergeCmd](<#RepoMergeCmd>)
  - [func \(c \*RepoMergeCmd\) Run\(g \*Globals\) \(err error\)](<#RepoMergeCmd.Run>)
- [type RepoMergeResolveCmd](<#RepoMergeResolveCmd>)
  - [func \(c \*RepoMergeResolveCmd\) Run\(g \*Globals\) \(err error\)](<#RepoMergeResolveCmd.Run>)
- [type RepoNewCmd](<#RepoNewCmd>)
  - [func \(c \*RepoNewCmd\) Run\(g \*Globals\) error](<#RepoNewCmd.Run>)
- [type RepoOpenCmd](<#RepoOpenCmd>)
  - [func \(c \*RepoOpenCmd\) Run\(g \*Globals\) error](<#RepoOpenCmd.Run>)
- [type RepoQueryCmd](<#RepoQueryCmd>)
  - [func \(c \*RepoQueryCmd\) Run\(g \*Globals\) error](<#RepoQueryCmd.Run>)
- [type RepoRedoCmd](<#RepoRedoCmd>)
  - [func \(c \*RepoRedoCmd\) Run\(g \*Globals\) error](<#RepoRedoCmd.Run>)
- [type RepoRenameCmd](<#RepoRenameCmd>)
  - [func \(c \*RepoRenameCmd\) Run\(g \*Globals\) \(err error\)](<#RepoRenameCmd.Run>)
- [type RepoResolveCmd](<#RepoResolveCmd>)
  - [func \(c \*RepoResolveCmd\) Run\(g \*Globals\) error](<#RepoResolveCmd.Run>)
- [type RepoRevertCmd](<#RepoRevertCmd>)
  - [func \(c \*RepoRevertCmd\) Run\(g \*Globals\) \(err error\)](<#RepoRevertCmd.Run>)
- [type RepoRmCmd](<#RepoRmCmd>)
  - [func \(c \*RepoRmCmd\) Run\(g \*Globals\) \(err error\)](<#RepoRmCmd.Run>)
- [type RepoSchemaAddCmd](<#RepoSchemaAddCmd>)
  - [func \(c \*RepoSchemaAddCmd\) Run\(g \*Globals\) error](<#RepoSchemaAddCmd.Run>)
- [type RepoSchemaCmd](<#RepoSchemaCmd>)
- [type RepoSchemaListCmd](<#RepoSchemaListCmd>)
  - [func \(c \*RepoSchemaListCmd\) Run\(g \*Globals\) error](<#RepoSchemaListCmd.Run>)
- [type RepoSchemaRemoveCmd](<#RepoSchemaRemoveCmd>)
  - [func \(c \*RepoSchemaRemoveCmd\) Run\(g \*Globals\) error](<#RepoSchemaRemoveCmd.Run>)
- [type RepoSchemaShowCmd](<#RepoSchemaShowCmd>)
  - [func \(c \*RepoSchemaShowCmd\) Run\(g \*Globals\) error](<#RepoSchemaShowCmd.Run>)
- [type RepoServeCmd](<#RepoServeCmd>)
  - [func \(c \*RepoServeCmd\) Run\(g \*Globals\) error](<#RepoServeCmd.Run>)
- [type RepoStashApplyCmd](<#RepoStashApplyCmd>)
  - [func \(c \*RepoStashApplyCmd\) Run\(g \*Globals\) error](<#RepoStashApplyCmd.Run>)
- [type RepoStashClearCmd](<#RepoStashClearCmd>)
  - [func \(c \*RepoStashClearCmd\) Run\(g \*Globals\) error](<#RepoStashClearCmd.Run>)
- [type RepoStashCmd](<#RepoStashCmd>)
- [type RepoStashDropCmd](<#RepoStashDropCmd>)
  - [func \(c \*RepoStashDropCmd\) Run\(g \*Globals\) error](<#RepoStashDropCmd.Run>)
- [type RepoStashLsCmd](<#RepoStashLsCmd>)
  - [func \(c \*RepoStashLsCmd\) Run\(g \*Globals\) error](<#RepoStashLsCmd.Run>)
- [type RepoStashPopCmd](<#RepoStashPopCmd>)
  - [func \(c \*RepoStashPopCmd\) Run\(g \*Globals\) error](<#RepoStashPopCmd.Run>)
- [type RepoStashSaveCmd](<#RepoStashSaveCmd>)
  - [func \(c \*RepoStashSaveCmd\) Run\(g \*Globals\) error](<#RepoStashSaveCmd.Run>)
- [type RepoStatusCmd](<#RepoStatusCmd>)
  - [func \(c \*RepoStatusCmd\) Run\(g \*Globals\) error](<#RepoStatusCmd.Run>)
- [type RepoSubmanifestsCmd](<#RepoSubmanifestsCmd>)
- [type RepoSubmanifestsDisableCmd](<#RepoSubmanifestsDisableCmd>)
  - [func \(c \*RepoSubmanifestsDisableCmd\) Run\(g \*Globals\) error](<#RepoSubmanifestsDisableCmd.Run>)
- [type RepoSubmanifestsEnableCmd](<#RepoSubmanifestsEnableCmd>)
  - [func \(c \*RepoSubmanifestsEnableCmd\) Run\(g \*Globals\) error](<#RepoSubmanifestsEnableCmd.Run>)
- [type RepoSubmanifestsRetuneCmd](<#RepoSubmanifestsRetuneCmd>)
  - [func \(c \*RepoSubmanifestsRetuneCmd\) Run\(g \*Globals\) error](<#RepoSubmanifestsRetuneCmd.Run>)
- [type RepoSubmanifestsStatusCmd](<#RepoSubmanifestsStatusCmd>)
  - [func \(c \*RepoSubmanifestsStatusCmd\) Run\(g \*Globals\) error](<#RepoSubmanifestsStatusCmd.Run>)
- [type RepoTagAddCmd](<#RepoTagAddCmd>)
  - [func \(c \*RepoTagAddCmd\) Run\(g \*Globals\) error](<#RepoTagAddCmd.Run>)
- [type RepoTagCmd](<#RepoTagCmd>)
- [type RepoTagLsCmd](<#RepoTagLsCmd>)
  - [func \(c \*RepoTagLsCmd\) Run\(g \*Globals\) error](<#RepoTagLsCmd.Run>)
- [type RepoTimelineCmd](<#RepoTimelineCmd>)
  - [func \(c \*RepoTimelineCmd\) Run\(g \*Globals\) error](<#RepoTimelineCmd.Run>)
- [type RepoUVCmd](<#RepoUVCmd>)
- [type RepoUVDeleteCmd](<#RepoUVDeleteCmd>)
  - [func \(c \*RepoUVDeleteCmd\) Run\(g \*Globals\) error](<#RepoUVDeleteCmd.Run>)
- [type RepoUVGetCmd](<#RepoUVGetCmd>)
  - [func \(c \*RepoUVGetCmd\) Run\(g \*Globals\) error](<#RepoUVGetCmd.Run>)
- [type RepoUVLsCmd](<#RepoUVLsCmd>)
  - [func \(c \*RepoUVLsCmd\) Run\(g \*Globals\) error](<#RepoUVLsCmd.Run>)
- [type RepoUVPutCmd](<#RepoUVPutCmd>)
  - [func \(c \*RepoUVPutCmd\) Run\(g \*Globals\) error](<#RepoUVPutCmd.Run>)
- [type RepoUndoCmd](<#RepoUndoCmd>)
  - [func \(c \*RepoUndoCmd\) Run\(g \*Globals\) error](<#RepoUndoCmd.Run>)
- [type RepoUserCmd](<#RepoUserCmd>)
- [type RepoVerifyCmd](<#RepoVerifyCmd>)
  - [func \(c \*RepoVerifyCmd\) Run\(g \*Globals\) error](<#RepoVerifyCmd.Run>)
- [type RepoWikiCmd](<#RepoWikiCmd>)
- [type RepoWikiExportCmd](<#RepoWikiExportCmd>)
  - [func \(c \*RepoWikiExportCmd\) Run\(g \*Globals\) error](<#RepoWikiExportCmd.Run>)
- [type RepoWikiLsCmd](<#RepoWikiLsCmd>)
  - [func \(c \*RepoWikiLsCmd\) Run\(g \*Globals\) error](<#RepoWikiLsCmd.Run>)
- [type UserAddCmd](<#UserAddCmd>)
  - [func \(c \*UserAddCmd\) Run\(g \*Globals\) error](<#UserAddCmd.Run>)
- [type UserListCmd](<#UserListCmd>)
  - [func \(c \*UserListCmd\) Run\(g \*Globals\) error](<#UserListCmd.Run>)
- [type UserPasswdCmd](<#UserPasswdCmd>)
  - [func \(c \*UserPasswdCmd\) Run\(g \*Globals\) error](<#UserPasswdCmd.Run>)
- [type UserRmCmd](<#UserRmCmd>)
  - [func \(c \*UserRmCmd\) Run\(g \*Globals\) error](<#UserRmCmd.Run>)
- [type UserUpdateCmd](<#UserUpdateCmd>)
  - [func \(c \*UserUpdateCmd\) Run\(g \*Globals\) error](<#UserUpdateCmd.Run>)
- [type VersionCmd](<#VersionCmd>)
  - [func \(c \*VersionCmd\) Run\(\) error](<#VersionCmd.Run>)


<a name="Version"></a>
## func Version

```go
func Version() string
```

Version returns a single\-line build identifier for this binary: the module version \(or a build\-time override\), the Go toolchain version, and the platform. The shape is fixed at four whitespace\-separated fields \-\- "libfossil \<version\> \<go version\> \<os\>/\<arch\>" \-\- regardless of which fields carried real data, so a caller can rely on strings.Fields\(Version\(\)\) unconditionally. This is the same string both \`libfossil version\` and \`libfossil \-\-version\` print.

<a name="Globals"></a>
## type Globals

Globals holds flags shared by all CLI commands.

```go
type Globals struct {
    Repo    string `short:"R" help:"Path to repository file" type:"path"`
    Verbose bool   `short:"v" help:"Verbose output"`
}
```

<a name="Globals.OpenRepo"></a>
### func \(\*Globals\) OpenRepo

```go
func (g *Globals) OpenRepo() (*libfossil.Repo, error)
```

OpenRepo opens a Fossil repository using the handle API. If Repo is empty, it searches for a .fossil file or .fslckout checkout.

<a name="RepoAddCmd"></a>
## type RepoAddCmd

RepoAddCmd stages files for addition in the checkout database.

```go
type RepoAddCmd struct {
    Files []string `arg:"" required:"" help:"Files to stage for addition"`
    Dir   string   `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoAddCmd.Run"></a>
### func \(\*RepoAddCmd\) Run

```go
func (c *RepoAddCmd) Run(g *Globals) (err error)
```



<a name="RepoAnnotateCmd"></a>
## type RepoAnnotateCmd

RepoAnnotateCmd annotates file lines with version history.

```go
type RepoAnnotateCmd struct {
    File    string `arg:"" required:"" help:"File to annotate"`
    Version string `help:"Starting version (default: tip)"`
}
```

<a name="RepoAnnotateCmd.Run"></a>
### func \(\*RepoAnnotateCmd\) Run

```go
func (c *RepoAnnotateCmd) Run(g *Globals) error
```



<a name="RepoBisectBadCmd"></a>
## type RepoBisectBadCmd

RepoBisectBadCmd marks a version as bad.

```go
type RepoBisectBadCmd struct {
    Version string `arg:"" optional:"" help:"Version to mark (default: current checkout)"`
    Dir     string `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoBisectBadCmd.Run"></a>
### func \(\*RepoBisectBadCmd\) Run

```go
func (c *RepoBisectBadCmd) Run(g *Globals) error
```



<a name="RepoBisectCmd"></a>
## type RepoBisectCmd

RepoBisectCmd groups binary search operations.

```go
type RepoBisectCmd struct {
    Good   RepoBisectGoodCmd   `cmd:"" help:"Mark version as good"`
    Bad    RepoBisectBadCmd    `cmd:"" help:"Mark version as bad"`
    Next   RepoBisectNextCmd   `cmd:"" help:"Check out midpoint version"`
    Skip   RepoBisectSkipCmd   `cmd:"" help:"Skip current version"`
    Reset  RepoBisectResetCmd  `cmd:"" help:"Clear bisect state"`
    Ls     RepoBisectLsCmd     `cmd:"" help:"Show bisect path"`
    Status RepoBisectStatusCmd `cmd:"" help:"Show bisect state"`
}
```

<a name="RepoBisectGoodCmd"></a>
## type RepoBisectGoodCmd

RepoBisectGoodCmd marks a version as good.

```go
type RepoBisectGoodCmd struct {
    Version string `arg:"" optional:"" help:"Version to mark (default: current checkout)"`
    Dir     string `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoBisectGoodCmd.Run"></a>
### func \(\*RepoBisectGoodCmd\) Run

```go
func (c *RepoBisectGoodCmd) Run(g *Globals) error
```



<a name="RepoBisectLsCmd"></a>
## type RepoBisectLsCmd

RepoBisectLsCmd shows the bisect path.

```go
type RepoBisectLsCmd struct {
    Dir string `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoBisectLsCmd.Run"></a>
### func \(\*RepoBisectLsCmd\) Run

```go
func (c *RepoBisectLsCmd) Run(g *Globals) error
```



<a name="RepoBisectNextCmd"></a>
## type RepoBisectNextCmd

RepoBisectNextCmd checks out the bisect midpoint version.

```go
type RepoBisectNextCmd struct {
    Dir string `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoBisectNextCmd.Run"></a>
### func \(\*RepoBisectNextCmd\) Run

```go
func (c *RepoBisectNextCmd) Run(g *Globals) error
```



<a name="RepoBisectResetCmd"></a>
## type RepoBisectResetCmd

RepoBisectResetCmd clears bisect state.

```go
type RepoBisectResetCmd struct {
    Dir string `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoBisectResetCmd.Run"></a>
### func \(\*RepoBisectResetCmd\) Run

```go
func (c *RepoBisectResetCmd) Run(g *Globals) error
```



<a name="RepoBisectSkipCmd"></a>
## type RepoBisectSkipCmd

RepoBisectSkipCmd skips the current version.

```go
type RepoBisectSkipCmd struct {
    Version string `arg:"" optional:"" help:"Version to skip (default: current checkout)"`
    Dir     string `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoBisectSkipCmd.Run"></a>
### func \(\*RepoBisectSkipCmd\) Run

```go
func (c *RepoBisectSkipCmd) Run(g *Globals) error
```



<a name="RepoBisectStatusCmd"></a>
## type RepoBisectStatusCmd

RepoBisectStatusCmd shows bisect state.

```go
type RepoBisectStatusCmd struct {
    Dir string `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoBisectStatusCmd.Run"></a>
### func \(\*RepoBisectStatusCmd\) Run

```go
func (c *RepoBisectStatusCmd) Run(g *Globals) error
```



<a name="RepoBlameCmd"></a>
## type RepoBlameCmd

RepoBlameCmd is an alias for annotate.

```go
type RepoBlameCmd struct {
    RepoAnnotateCmd
}
```

<a name="RepoBranchCloseCmd"></a>
## type RepoBranchCloseCmd

RepoBranchCloseCmd closes a branch.

```go
type RepoBranchCloseCmd struct {
    Name string `arg:"" help:"Branch name to close"`
    User string `help:"User for control artifacts (default: OS username)"`
}
```

<a name="RepoBranchCloseCmd.Run"></a>
### func \(\*RepoBranchCloseCmd\) Run

```go
func (c *RepoBranchCloseCmd) Run(g *Globals) error
```



<a name="RepoBranchCmd"></a>
## type RepoBranchCmd

RepoBranchCmd groups branch operations.

```go
type RepoBranchCmd struct {
    Ls    RepoBranchLsCmd    `cmd:"" help:"List branches"`
    New   RepoBranchNewCmd   `cmd:"" help:"Create new branch"`
    Close RepoBranchCloseCmd `cmd:"" help:"Close a branch"`
}
```

<a name="RepoBranchLsCmd"></a>
## type RepoBranchLsCmd

RepoBranchLsCmd lists branches.

```go
type RepoBranchLsCmd struct {
    Closed bool `help:"Show only closed branches"`
    All    bool `help:"Show all branches (open and closed)"`
}
```

<a name="RepoBranchLsCmd.Run"></a>
### func \(\*RepoBranchLsCmd\) Run

```go
func (c *RepoBranchLsCmd) Run(g *Globals) error
```



<a name="RepoBranchNewCmd"></a>
## type RepoBranchNewCmd

RepoBranchNewCmd creates a new branch.

```go
type RepoBranchNewCmd struct {
    Name    string `arg:"" help:"Branch name"`
    From    string `help:"Parent version (default: tip)"`
    Message string `short:"m" help:"Checkin comment"`
    User    string `help:"Checkin user (default: OS username)"`
}
```

<a name="RepoBranchNewCmd.Run"></a>
### func \(\*RepoBranchNewCmd\) Run

```go
func (c *RepoBranchNewCmd) Run(g *Globals) error
```



<a name="RepoCatCmd"></a>
## type RepoCatCmd

RepoCatCmd outputs the content of an artifact.

```go
type RepoCatCmd struct {
    Artifact string `arg:"" help:"Artifact UUID or prefix"`
    Raw      bool   `help:"Output raw blob (no delta expansion)"`
}
```

<a name="RepoCatCmd.Run"></a>
### func \(\*RepoCatCmd\) Run

```go
func (c *RepoCatCmd) Run(g *Globals) error
```



<a name="RepoCiCmd"></a>
## type RepoCiCmd

RepoCiCmd commits the checkout's changes, as fossil's commit command does: every change, or only the named files. A pending merge is committed with the merged\-in checkin as a merge parent.

```go
type RepoCiCmd struct {
    Message       string   `short:"m" required:"" help:"Checkin comment"`
    Files         []string `arg:"" optional:"" help:"Files to commit (default: all changes)"`
    User          string   `help:"Checkin user (default: OS username)"`
    Branch        string   `help:"Branch name for this checkin"`
    AllowConflict bool     `help:"Commit files that still hold merge conflict markers"`
    AllowEmpty    bool     `help:"Commit even when nothing has changed"`
    Dir           string   `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoCiCmd.Run"></a>
### func \(\*RepoCiCmd\) Run

```go
func (c *RepoCiCmd) Run(g *Globals) (err error)
```



<a name="RepoCloneCmd"></a>
## type RepoCloneCmd

RepoCloneCmd clones a remote Fossil repository.

```go
type RepoCloneCmd struct {
    URL     string        `arg:"" optional:"" help:"Remote Fossil server URL"`
    Path    string        `arg:"" optional:"" help:"Local path for new repository file"`
    User    string        `short:"u" help:"Username for clone auth"`
    Pass    string        `short:"p" help:"Password for clone auth"`
    Invite  string        `help:"Invite token (from fossil invite)"`
    Timeout time.Duration `default:"10m" help:"Abort the clone if it runs longer than this; 0 disables the deadline"`
}
```

<a name="RepoCloneCmd.Run"></a>
### func \(\*RepoCloneCmd\) Run

```go
func (c *RepoCloneCmd) Run(g *Globals) error
```



<a name="RepoCmd"></a>
## type RepoCmd

RepoCmd is the top\-level command group for repository operations. Embed this in your CLI struct alongside Globals for a complete fossil CLI.

```go
type RepoCmd struct {
    New          RepoNewCmd          `cmd:"" help:"Create a new repository"`
    Clone        RepoCloneCmd        `cmd:"" help:"Clone a remote repository"`
    Ci           RepoCiCmd           `cmd:"" help:"Checkin file changes"`
    Co           RepoCoCmd           `cmd:"" help:"Checkout a version"`
    Ls           RepoLsCmd           `cmd:"" help:"List files in a version"`
    Timeline     RepoTimelineCmd     `cmd:"" help:"Show repository history"`
    Cat          RepoCatCmd          `cmd:"" help:"Output artifact content"`
    Info         RepoInfoCmd         `cmd:"" help:"Repository statistics"`
    Hash         RepoHashCmd         `cmd:"" help:"Hash files (SHA1 or SHA3)"`
    Delta        RepoDeltaCmd        `cmd:"" help:"Delta create/apply operations"`
    Config       RepoConfigCmd       `cmd:"" help:"Repository configuration"`
    Query        RepoQueryCmd        `cmd:"" help:"Execute SQL against repository"`
    Verify       RepoVerifyCmd       `cmd:"" help:"Verify repository integrity"`
    Resolve      RepoResolveCmd      `cmd:"" help:"Resolve symbolic name to UUID"`
    Extract      RepoExtractCmd      `cmd:"" help:"Extract files from a version"`
    Wiki         RepoWikiCmd         `cmd:"" help:"Wiki page operations"`
    Tag          RepoTagCmd          `cmd:"" help:"Tag operations"`
    Open         RepoOpenCmd         `cmd:"" help:"Open a checkout in a directory"`
    Status       RepoStatusCmd       `cmd:"" help:"Show working directory changes"`
    Add          RepoAddCmd          `cmd:"" help:"Stage files for addition"`
    Rm           RepoRmCmd           `cmd:"" help:"Stage files for removal"`
    Rename       RepoRenameCmd       `cmd:"" help:"Rename a tracked file"`
    Revert       RepoRevertCmd       `cmd:"" help:"Undo staging changes"`
    Diff         RepoDiffCmd         `cmd:"" help:"Show changes vs a version"`
    Merge        RepoMergeCmd        `cmd:"" help:"Merge a divergent version"`
    Conflicts    RepoConflictsCmd    `cmd:"" help:"List/manage unresolved conflicts"`
    MarkResolved RepoMergeResolveCmd `cmd:"" name:"mark-resolved" help:"Mark a conflict as resolved"`
    Undo         RepoUndoCmd         `cmd:"" help:"Undo last operation"`
    Redo         RepoRedoCmd         `cmd:"" help:"Redo undone operation"`
    Stash        RepoStashCmd        `cmd:"" help:"Stash working changes"`
    Bisect       RepoBisectCmd       `cmd:"" help:"Binary search for bugs"`
    Annotate     RepoAnnotateCmd     `cmd:"" help:"Annotate file lines with version history"`
    Blame        RepoBlameCmd        `cmd:"" help:"Alias for annotate"`
    Branch       RepoBranchCmd       `cmd:"" help:"Branch operations"`
    UV           RepoUVCmd           `cmd:"" name:"uv" help:"Unversioned file operations"`
    Schema       RepoSchemaCmd       `cmd:"" help:"Synced table schema operations"`
    User         RepoUserCmd         `cmd:"" help:"User management"`
    Invite       RepoInviteCmd       `cmd:"" help:"Generate invite token for a user"`
    Serve        RepoServeCmd        `cmd:"" help:"Serve repository over HTTP for sync/clone"`
    Submanifests RepoSubmanifestsCmd `cmd:"" help:"Sub-manifest tree settings"`
}
```

<a name="RepoCoCmd"></a>
## type RepoCoCmd

RepoCoCmd checks out a version to the working directory.

```go
type RepoCoCmd struct {
    Version string `arg:"" optional:"" help:"Version to checkout (default: tip)"`
    Dir     string `short:"d" help:"Output directory (default: current dir)" default:"."`
    Force   bool   `help:"Overwrite existing files"`
}
```

<a name="RepoCoCmd.Run"></a>
### func \(\*RepoCoCmd\) Run

```go
func (c *RepoCoCmd) Run(g *Globals) error
```



<a name="RepoConfigCmd"></a>
## type RepoConfigCmd

RepoConfigCmd groups configuration operations.

```go
type RepoConfigCmd struct {
    Ls  RepoConfigLsCmd  `cmd:"" help:"List all config entries"`
    Get RepoConfigGetCmd `cmd:"" help:"Get a config value"`
    Set RepoConfigSetCmd `cmd:"" help:"Set a config value"`
}
```

<a name="RepoConfigGetCmd"></a>
## type RepoConfigGetCmd

RepoConfigGetCmd gets a single config value.

```go
type RepoConfigGetCmd struct {
    Key string `arg:"" help:"Config key to get"`
}
```

<a name="RepoConfigGetCmd.Run"></a>
### func \(\*RepoConfigGetCmd\) Run

```go
func (c *RepoConfigGetCmd) Run(g *Globals) error
```



<a name="RepoConfigLsCmd"></a>
## type RepoConfigLsCmd

RepoConfigLsCmd lists all config entries.

```go
type RepoConfigLsCmd struct{}
```

<a name="RepoConfigLsCmd.Run"></a>
### func \(\*RepoConfigLsCmd\) Run

```go
func (c *RepoConfigLsCmd) Run(g *Globals) error
```



<a name="RepoConfigSetCmd"></a>
## type RepoConfigSetCmd

RepoConfigSetCmd sets a config value.

```go
type RepoConfigSetCmd struct {
    Key   string `arg:"" help:"Config key"`
    Value string `arg:"" help:"Config value"`
}
```

<a name="RepoConfigSetCmd.Run"></a>
### func \(\*RepoConfigSetCmd\) Run

```go
func (c *RepoConfigSetCmd) Run(g *Globals) error
```



<a name="RepoConflictsCmd"></a>
## type RepoConflictsCmd

RepoConflictsCmd groups conflict management operations.

```go
type RepoConflictsCmd struct {
    Ls      RepoConflictsLsCmd      `cmd:"" default:"1" help:"List all conflicts"`
    Show    RepoConflictsShowCmd    `cmd:"" help:"Show all versions of a conflicted file"`
    Pick    RepoConflictsPickCmd    `cmd:"" help:"Resolve by picking one version"`
    Merge   RepoConflictsMergeCmd   `cmd:"" help:"Resolve by re-merging with a different strategy"`
    Extract RepoConflictsExtractCmd `cmd:"" help:"Extract all versions to disk for manual editing"`
    Dir     string                  `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoConflictsExtractCmd"></a>
## type RepoConflictsExtractCmd

RepoConflictsExtractCmd extracts all versions to disk for manual editing.

```go
type RepoConflictsExtractCmd struct {
    File string `arg:"" help:"Conflicted file to extract"`
    Dir  string `short:"d" help:"Output directory" default:"."`
}
```

<a name="RepoConflictsExtractCmd.Run"></a>
### func \(\*RepoConflictsExtractCmd\) Run

```go
func (c *RepoConflictsExtractCmd) Run(g *Globals) error
```



<a name="RepoConflictsLsCmd"></a>
## type RepoConflictsLsCmd

RepoConflictsLsCmd lists all conflicts.

```go
type RepoConflictsLsCmd struct{}
```

<a name="RepoConflictsLsCmd.Run"></a>
### func \(\*RepoConflictsLsCmd\) Run

```go
func (c *RepoConflictsLsCmd) Run(g *Globals) error
```



<a name="RepoConflictsMergeCmd"></a>
## type RepoConflictsMergeCmd

RepoConflictsMergeCmd resolves a conflict by re\-merging with a specified strategy.

```go
type RepoConflictsMergeCmd struct {
    File     string `arg:"" help:"Conflicted file to re-merge"`
    Strategy string `help:"Strategy to use" default:"three-way"`
    Dir      string `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoConflictsMergeCmd.Run"></a>
### func \(\*RepoConflictsMergeCmd\) Run

```go
func (c *RepoConflictsMergeCmd) Run(g *Globals) error
```



<a name="RepoConflictsPickCmd"></a>
## type RepoConflictsPickCmd

RepoConflictsPickCmd resolves a conflict by picking one version.

```go
type RepoConflictsPickCmd struct {
    File   string `arg:"" help:"Conflicted file to resolve"`
    Local  bool   `help:"Keep local version" xor:"version"`
    Remote bool   `help:"Keep remote version" xor:"version"`
    Base   bool   `help:"Revert to base version" xor:"version"`
    Dir    string `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoConflictsPickCmd.Run"></a>
### func \(\*RepoConflictsPickCmd\) Run

```go
func (c *RepoConflictsPickCmd) Run(g *Globals) error
```



<a name="RepoConflictsShowCmd"></a>
## type RepoConflictsShowCmd

RepoConflictsShowCmd shows all versions of a conflicted file.

```go
type RepoConflictsShowCmd struct {
    File string `arg:"" help:"Conflicted file to show"`
}
```

<a name="RepoConflictsShowCmd.Run"></a>
### func \(\*RepoConflictsShowCmd\) Run

```go
func (c *RepoConflictsShowCmd) Run(g *Globals) error
```



<a name="RepoDeltaApplyCmd"></a>
## type RepoDeltaApplyCmd

RepoDeltaApplyCmd applies a delta to a source file.

```go
type RepoDeltaApplyCmd struct {
    Source string `arg:"" help:"Source (original) file"`
    Delta  string `arg:"" help:"Delta file"`
    Output string `short:"o" help:"Output file (default: stdout)"`
}
```

<a name="RepoDeltaApplyCmd.Run"></a>
### func \(\*RepoDeltaApplyCmd\) Run

```go
func (c *RepoDeltaApplyCmd) Run(g *Globals) error
```



<a name="RepoDeltaCmd"></a>
## type RepoDeltaCmd

RepoDeltaCmd groups delta create/apply operations.

```go
type RepoDeltaCmd struct {
    Create RepoDeltaCreateCmd `cmd:"" help:"Create a delta between two files"`
    Apply  RepoDeltaApplyCmd  `cmd:"" help:"Apply a delta to a source file"`
}
```

<a name="RepoDeltaCreateCmd"></a>
## type RepoDeltaCreateCmd

RepoDeltaCreateCmd creates a delta between two files.

```go
type RepoDeltaCreateCmd struct {
    Source string `arg:"" help:"Source (original) file"`
    Target string `arg:"" help:"Target (new) file"`
    Output string `short:"o" help:"Output file (default: stdout)"`
}
```

<a name="RepoDeltaCreateCmd.Run"></a>
### func \(\*RepoDeltaCreateCmd\) Run

```go
func (c *RepoDeltaCreateCmd) Run(g *Globals) error
```



<a name="RepoDiffCmd"></a>
## type RepoDiffCmd

RepoDiffCmd shows changes in the working directory vs a repository version.

```go
type RepoDiffCmd struct {
    Version string `arg:"" optional:"" help:"Version to diff against (default: tip)"`
    Dir     string `short:"d" help:"Working directory to compare" default:"."`
    Unified int    `short:"U" help:"Lines of context" default:"3"`
}
```

<a name="RepoDiffCmd.Run"></a>
### func \(\*RepoDiffCmd\) Run

```go
func (c *RepoDiffCmd) Run(g *Globals) error
```



<a name="RepoExtractCmd"></a>
## type RepoExtractCmd

RepoExtractCmd extracts files from a version.

```go
type RepoExtractCmd struct {
    Version string   `help:"Version to extract from (default: tip)"`
    Files   []string `arg:"" optional:"" help:"Files to extract (default: all)"`
    Dir     string   `short:"d" help:"Output directory" default:"."`
}
```

<a name="RepoExtractCmd.Run"></a>
### func \(\*RepoExtractCmd\) Run

```go
func (c *RepoExtractCmd) Run(g *Globals) error
```



<a name="RepoHashCmd"></a>
## type RepoHashCmd

RepoHashCmd hashes files using SHA1 or SHA3\-256.

```go
type RepoHashCmd struct {
    Files []string `arg:"" required:"" help:"Files to hash"`
    SHA3  bool     `name:"sha3" help:"Use SHA3-256 instead of SHA1"`
}
```

<a name="RepoHashCmd.Run"></a>
### func \(\*RepoHashCmd\) Run

```go
func (c *RepoHashCmd) Run(g *Globals) error
```



<a name="RepoInfoCmd"></a>
## type RepoInfoCmd

RepoInfoCmd shows repository statistics.

```go
type RepoInfoCmd struct{}
```

<a name="RepoInfoCmd.Run"></a>
### func \(\*RepoInfoCmd\) Run

```go
func (c *RepoInfoCmd) Run(g *Globals) error
```



<a name="RepoInviteCmd"></a>
## type RepoInviteCmd

RepoInviteCmd generates an invite token for a new user.

```go
type RepoInviteCmd struct {
    Login string        `arg:"" help:"Username for the invitee"`
    Cap   string        `help:"Capability string (e.g. oi)" required:""`
    URL   string        `help:"Sync URL to embed in token" default:""`
    TTL   time.Duration `help:"Token time-to-live (e.g. 24h)" default:"0"`
}
```

<a name="RepoInviteCmd.Run"></a>
### func \(\*RepoInviteCmd\) Run

```go
func (c *RepoInviteCmd) Run(g *Globals) error
```



<a name="RepoLsCmd"></a>
## type RepoLsCmd

RepoLsCmd lists files in a version.

```go
type RepoLsCmd struct {
    Version string `arg:"" optional:"" help:"Version to list (default: tip)"`
    Long    bool   `short:"l" help:"Show sizes and hashes"`
}
```

<a name="RepoLsCmd.Run"></a>
### func \(\*RepoLsCmd\) Run

```go
func (c *RepoLsCmd) Run(g *Globals) error
```



<a name="RepoMergeCmd"></a>
## type RepoMergeCmd

RepoMergeCmd merges a divergent version into the current checkout.

```go
type RepoMergeCmd struct {
    Version  string `arg:"" help:"Version to merge into current checkout"`
    Strategy string `help:"Override merge strategy for all files"`
    DryRun   bool   `help:"Show what would be merged without writing"`
    Dir      string `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoMergeCmd.Run"></a>
### func \(\*RepoMergeCmd\) Run

```go
func (c *RepoMergeCmd) Run(g *Globals) (err error)
```



<a name="RepoMergeResolveCmd"></a>
## type RepoMergeResolveCmd

RepoMergeResolveCmd marks a file conflict as resolved.

A merge conflict needs no marking: as in fossil, a file is in conflict while it holds conflict markers, and editing them out resolves it. So this command refuses a file that still holds markers, and resolves the conflict\-fork entries the conflict\-fork strategy records.

```go
type RepoMergeResolveCmd struct {
    File string `arg:"" help:"File to mark as resolved"`
    Dir  string `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoMergeResolveCmd.Run"></a>
### func \(\*RepoMergeResolveCmd\) Run

```go
func (c *RepoMergeResolveCmd) Run(g *Globals) (err error)
```



<a name="RepoNewCmd"></a>
## type RepoNewCmd

RepoNewCmd creates a new Fossil repository.

```go
type RepoNewCmd struct {
    Path string `arg:"" help:"Path for new repository file"`
    User string `help:"Default user name" default:""`
}
```

<a name="RepoNewCmd.Run"></a>
### func \(\*RepoNewCmd\) Run

```go
func (c *RepoNewCmd) Run(g *Globals) error
```



<a name="RepoOpenCmd"></a>
## type RepoOpenCmd

RepoOpenCmd opens a checkout in a directory, creating the .fslckout database.

```go
type RepoOpenCmd struct {
    Dir string `arg:"" optional:"" help:"Checkout directory (default: current dir)" default:"."`
}
```

<a name="RepoOpenCmd.Run"></a>
### func \(\*RepoOpenCmd\) Run

```go
func (c *RepoOpenCmd) Run(g *Globals) error
```



<a name="RepoQueryCmd"></a>
## type RepoQueryCmd

RepoQueryCmd executes raw SQL against the repository database.

```go
type RepoQueryCmd struct {
    SQL string `arg:"" help:"SQL query to execute"`
}
```

<a name="RepoQueryCmd.Run"></a>
### func \(\*RepoQueryCmd\) Run

```go
func (c *RepoQueryCmd) Run(g *Globals) error
```



<a name="RepoRedoCmd"></a>
## type RepoRedoCmd

RepoRedoCmd re\-applies the last undone operation.

```go
type RepoRedoCmd struct {
    Dir string `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoRedoCmd.Run"></a>
### func \(\*RepoRedoCmd\) Run

```go
func (c *RepoRedoCmd) Run(g *Globals) error
```



<a name="RepoRenameCmd"></a>
## type RepoRenameCmd

RepoRenameCmd renames a tracked file in the checkout and on disk.

```go
type RepoRenameCmd struct {
    From string `arg:"" help:"Current file name"`
    To   string `arg:"" help:"New file name"`
    Dir  string `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoRenameCmd.Run"></a>
### func \(\*RepoRenameCmd\) Run

```go
func (c *RepoRenameCmd) Run(g *Globals) (err error)
```



<a name="RepoResolveCmd"></a>
## type RepoResolveCmd

RepoResolveCmd resolves a symbolic name to UUID and RID.

```go
type RepoResolveCmd struct {
    Name string `arg:"" help:"Symbolic name, UUID, or prefix to resolve (e.g. trunk, tip, UUID prefix)"`
}
```

<a name="RepoResolveCmd.Run"></a>
### func \(\*RepoResolveCmd\) Run

```go
func (c *RepoResolveCmd) Run(g *Globals) error
```



<a name="RepoRevertCmd"></a>
## type RepoRevertCmd

RepoRevertCmd restores files to their checked\-out version.

```go
type RepoRevertCmd struct {
    Files []string `arg:"" optional:"" help:"Files to revert (default: all)"`
    Dir   string   `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoRevertCmd.Run"></a>
### func \(\*RepoRevertCmd\) Run

```go
func (c *RepoRevertCmd) Run(g *Globals) (err error)
```



<a name="RepoRmCmd"></a>
## type RepoRmCmd

RepoRmCmd stages files for removal from the checkout.

```go
type RepoRmCmd struct {
    Files []string `arg:"" required:"" help:"Files to stage for removal"`
    Dir   string   `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoRmCmd.Run"></a>
### func \(\*RepoRmCmd\) Run

```go
func (c *RepoRmCmd) Run(g *Globals) (err error)
```



<a name="RepoSchemaAddCmd"></a>
## type RepoSchemaAddCmd

RepoSchemaAddCmd registers a new synced table.

```go
type RepoSchemaAddCmd struct {
    Name     string `arg:"" help:"Table name (without x_ prefix)"`
    Columns  string `required:"" help:"Column defs: name:type[:pk],... (e.g. peer_id:text:pk,addr:text)"`
    Conflict string `default:"mtime-wins" enum:"self-write,mtime-wins,owner-write" help:"Conflict strategy"`
}
```

<a name="RepoSchemaAddCmd.Run"></a>
### func \(\*RepoSchemaAddCmd\) Run

```go
func (c *RepoSchemaAddCmd) Run(g *Globals) error
```



<a name="RepoSchemaCmd"></a>
## type RepoSchemaCmd

RepoSchemaCmd groups synced table schema operations.

```go
type RepoSchemaCmd struct {
    Add    RepoSchemaAddCmd    `cmd:"" help:"Register a new synced table"`
    List   RepoSchemaListCmd   `cmd:"" help:"List registered synced tables"`
    Show   RepoSchemaShowCmd   `cmd:"" help:"Show table schema details"`
    Remove RepoSchemaRemoveCmd `cmd:"" help:"Remove a synced table registration"`
}
```

<a name="RepoSchemaListCmd"></a>
## type RepoSchemaListCmd

RepoSchemaListCmd lists registered synced tables.

```go
type RepoSchemaListCmd struct{}
```

<a name="RepoSchemaListCmd.Run"></a>
### func \(\*RepoSchemaListCmd\) Run

```go
func (c *RepoSchemaListCmd) Run(g *Globals) error
```



<a name="RepoSchemaRemoveCmd"></a>
## type RepoSchemaRemoveCmd

RepoSchemaRemoveCmd removes a synced table registration.

```go
type RepoSchemaRemoveCmd struct {
    Name string `arg:"" help:"Table name (without x_ prefix)"`
}
```

<a name="RepoSchemaRemoveCmd.Run"></a>
### func \(\*RepoSchemaRemoveCmd\) Run

```go
func (c *RepoSchemaRemoveCmd) Run(g *Globals) error
```



<a name="RepoSchemaShowCmd"></a>
## type RepoSchemaShowCmd

RepoSchemaShowCmd shows table schema details.

```go
type RepoSchemaShowCmd struct {
    Name string `arg:"" help:"Table name (without x_ prefix)"`
}
```

<a name="RepoSchemaShowCmd.Run"></a>
### func \(\*RepoSchemaShowCmd\) Run

```go
func (c *RepoSchemaShowCmd) Run(g *Globals) error
```



<a name="RepoServeCmd"></a>
## type RepoServeCmd

RepoServeCmd starts an HTTP xfer server for the repository so a remote fossil client \-\- the canonical binary or another instance of this tool \-\- can clone or sync against it. This is a thin wrapper: all serving logic lives in Repo.ServeHTTP; the command's job is to open the repo, resolve the bind address, and translate process interrupt into the context cancellation that ServeHTTP already honors. Access follows the user table, as with fossil serve: clients without credentials act as nobody, which may clone and pull a new repository but not push to it.

```go
type RepoServeCmd struct {
    Addr string `short:"P" default:"127.0.0.1:8080" help:"Bind address as host:port"`
}
```

<a name="RepoServeCmd.Run"></a>
### func \(\*RepoServeCmd\) Run

```go
func (c *RepoServeCmd) Run(g *Globals) error
```



<a name="RepoStashApplyCmd"></a>
## type RepoStashApplyCmd

RepoStashApplyCmd applies a stash entry without removing it.

```go
type RepoStashApplyCmd struct {
    ID  int64  `arg:"" optional:"" help:"Stash ID to apply (default: latest)"`
    Dir string `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoStashApplyCmd.Run"></a>
### func \(\*RepoStashApplyCmd\) Run

```go
func (c *RepoStashApplyCmd) Run(g *Globals) error
```



<a name="RepoStashClearCmd"></a>
## type RepoStashClearCmd

RepoStashClearCmd removes all stash entries.

```go
type RepoStashClearCmd struct{}
```

<a name="RepoStashClearCmd.Run"></a>
### func \(\*RepoStashClearCmd\) Run

```go
func (c *RepoStashClearCmd) Run(g *Globals) error
```



<a name="RepoStashCmd"></a>
## type RepoStashCmd

RepoStashCmd groups stash operations.

```go
type RepoStashCmd struct {
    Save  RepoStashSaveCmd  `cmd:"" help:"Stash working changes"`
    Pop   RepoStashPopCmd   `cmd:"" help:"Apply top stash and drop it"`
    Apply RepoStashApplyCmd `cmd:"" help:"Apply stash without dropping"`
    Ls    RepoStashLsCmd    `cmd:"" help:"List stash entries"`
    Drop  RepoStashDropCmd  `cmd:"" help:"Remove stash entry"`
    Clear RepoStashClearCmd `cmd:"" help:"Remove all stash entries"`
}
```

<a name="RepoStashDropCmd"></a>
## type RepoStashDropCmd

RepoStashDropCmd removes a stash entry by ID.

```go
type RepoStashDropCmd struct {
    ID int64 `arg:"" required:"" help:"Stash ID to drop"`
}
```

<a name="RepoStashDropCmd.Run"></a>
### func \(\*RepoStashDropCmd\) Run

```go
func (c *RepoStashDropCmd) Run(g *Globals) error
```



<a name="RepoStashLsCmd"></a>
## type RepoStashLsCmd

RepoStashLsCmd lists stash entries.

```go
type RepoStashLsCmd struct{}
```

<a name="RepoStashLsCmd.Run"></a>
### func \(\*RepoStashLsCmd\) Run

```go
func (c *RepoStashLsCmd) Run(g *Globals) error
```



<a name="RepoStashPopCmd"></a>
## type RepoStashPopCmd

RepoStashPopCmd pops the top stash entry.

```go
type RepoStashPopCmd struct {
    Dir string `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoStashPopCmd.Run"></a>
### func \(\*RepoStashPopCmd\) Run

```go
func (c *RepoStashPopCmd) Run(g *Globals) error
```



<a name="RepoStashSaveCmd"></a>
## type RepoStashSaveCmd

RepoStashSaveCmd saves working changes to the stash.

```go
type RepoStashSaveCmd struct {
    Message string `short:"m" help:"Stash message" default:""`
    Dir     string `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoStashSaveCmd.Run"></a>
### func \(\*RepoStashSaveCmd\) Run

```go
func (c *RepoStashSaveCmd) Run(g *Globals) error
```



<a name="RepoStatusCmd"></a>
## type RepoStatusCmd

RepoStatusCmd shows working directory changes vs the tip version.

```go
type RepoStatusCmd struct {
    Dir string `short:"d" help:"Checkout directory to scan" default:"."`
}
```

<a name="RepoStatusCmd.Run"></a>
### func \(\*RepoStatusCmd\) Run

```go
func (c *RepoStatusCmd) Run(g *Globals) error
```



<a name="RepoSubmanifestsCmd"></a>
## type RepoSubmanifestsCmd

RepoSubmanifestsCmd groups the sub\-manifest settings \(draft\-fossil\-submanifests\-00\): whether new check\-ins are written as trees, and the partition parameter k they are built with.

```go
type RepoSubmanifestsCmd struct {
    Enable  RepoSubmanifestsEnableCmd  `cmd:"" help:"Write new check-ins as sub-manifest trees"`
    Retune  RepoSubmanifestsRetuneCmd  `cmd:"" help:"Re-pin the partition parameter for later commits"`
    Disable RepoSubmanifestsDisableCmd `cmd:"" help:"Write new check-ins as flat manifests again"`
    Status  RepoSubmanifestsStatusCmd  `cmd:"" help:"Show the sub-manifest settings and whether trees exist"`
}
```

<a name="RepoSubmanifestsDisableCmd"></a>
## type RepoSubmanifestsDisableCmd

RepoSubmanifestsDisableCmd turns tree emission off; existing trees stay.

```go
type RepoSubmanifestsDisableCmd struct{}
```

<a name="RepoSubmanifestsDisableCmd.Run"></a>
### func \(\*RepoSubmanifestsDisableCmd\) Run

```go
func (c *RepoSubmanifestsDisableCmd) Run(g *Globals) error
```



<a name="RepoSubmanifestsEnableCmd"></a>
## type RepoSubmanifestsEnableCmd

RepoSubmanifestsEnableCmd turns tree emission on, pinning k the first time.

```go
type RepoSubmanifestsEnableCmd struct {
    K int `name:"k" help:"Partition parameter, 1..12 (default: selected from the main-branch tip)"`
}
```

<a name="RepoSubmanifestsEnableCmd.Run"></a>
### func \(\*RepoSubmanifestsEnableCmd\) Run

```go
func (c *RepoSubmanifestsEnableCmd) Run(g *Globals) error
```



<a name="RepoSubmanifestsRetuneCmd"></a>
## type RepoSubmanifestsRetuneCmd

RepoSubmanifestsRetuneCmd re\-pins k; a re\-tune is always explicit.

```go
type RepoSubmanifestsRetuneCmd struct {
    K int `name:"k" required:"" help:"New partition parameter, 1..12"`
}
```

<a name="RepoSubmanifestsRetuneCmd.Run"></a>
### func \(\*RepoSubmanifestsRetuneCmd\) Run

```go
func (c *RepoSubmanifestsRetuneCmd) Run(g *Globals) error
```



<a name="RepoSubmanifestsStatusCmd"></a>
## type RepoSubmanifestsStatusCmd

RepoSubmanifestsStatusCmd prints the three settings and whether the repository holds any S\-bearing artifact.

```go
type RepoSubmanifestsStatusCmd struct{}
```

<a name="RepoSubmanifestsStatusCmd.Run"></a>
### func \(\*RepoSubmanifestsStatusCmd\) Run

```go
func (c *RepoSubmanifestsStatusCmd) Run(g *Globals) error
```



<a name="RepoTagAddCmd"></a>
## type RepoTagAddCmd

RepoTagAddCmd adds a tag to an artifact.

```go
type RepoTagAddCmd struct {
    Tag     string `arg:"" help:"Tag name"`
    Value   string `arg:"" optional:"" help:"Tag value (optional)"`
    Version string `help:"Version to tag (default: tip)"`
}
```

<a name="RepoTagAddCmd.Run"></a>
### func \(\*RepoTagAddCmd\) Run

```go
func (c *RepoTagAddCmd) Run(g *Globals) error
```



<a name="RepoTagCmd"></a>
## type RepoTagCmd

RepoTagCmd groups tag operations.

```go
type RepoTagCmd struct {
    Ls  RepoTagLsCmd  `cmd:"" help:"List tags on an artifact"`
    Add RepoTagAddCmd `cmd:"" help:"Add a tag to an artifact"`
}
```

<a name="RepoTagLsCmd"></a>
## type RepoTagLsCmd

RepoTagLsCmd lists tags on an artifact.

```go
type RepoTagLsCmd struct {
    Version string `arg:"" optional:"" help:"Version to list tags for (default: tip)"`
}
```

<a name="RepoTagLsCmd.Run"></a>
### func \(\*RepoTagLsCmd\) Run

```go
func (c *RepoTagLsCmd) Run(g *Globals) error
```



<a name="RepoTimelineCmd"></a>
## type RepoTimelineCmd

RepoTimelineCmd shows repository timeline/history.

```go
type RepoTimelineCmd struct {
    Limit int `short:"n" default:"20" help:"Number of entries"`
}
```

<a name="RepoTimelineCmd.Run"></a>
### func \(\*RepoTimelineCmd\) Run

```go
func (c *RepoTimelineCmd) Run(g *Globals) error
```



<a name="RepoUVCmd"></a>
## type RepoUVCmd

RepoUVCmd groups unversioned file operations.

```go
type RepoUVCmd struct {
    Ls     RepoUVLsCmd     `cmd:"" help:"List unversioned files"`
    Put    RepoUVPutCmd    `cmd:"" help:"Add or update an unversioned file"`
    Get    RepoUVGetCmd    `cmd:"" help:"Retrieve an unversioned file"`
    Delete RepoUVDeleteCmd `cmd:"" help:"Delete an unversioned file (creates tombstone)"`
}
```

<a name="RepoUVDeleteCmd"></a>
## type RepoUVDeleteCmd

RepoUVDeleteCmd deletes an unversioned file \(creates a tombstone\).

```go
type RepoUVDeleteCmd struct {
    Name string `arg:"" help:"Name of the unversioned file to delete"`
}
```

<a name="RepoUVDeleteCmd.Run"></a>
### func \(\*RepoUVDeleteCmd\) Run

```go
func (c *RepoUVDeleteCmd) Run(g *Globals) error
```



<a name="RepoUVGetCmd"></a>
## type RepoUVGetCmd

RepoUVGetCmd retrieves an unversioned file.

```go
type RepoUVGetCmd struct {
    Name   string `arg:"" help:"Name of the unversioned file"`
    Output string `short:"o" help:"Output file (default: stdout)"`
}
```

<a name="RepoUVGetCmd.Run"></a>
### func \(\*RepoUVGetCmd\) Run

```go
func (c *RepoUVGetCmd) Run(g *Globals) error
```



<a name="RepoUVLsCmd"></a>
## type RepoUVLsCmd

RepoUVLsCmd lists unversioned files.

```go
type RepoUVLsCmd struct{}
```

<a name="RepoUVLsCmd.Run"></a>
### func \(\*RepoUVLsCmd\) Run

```go
func (c *RepoUVLsCmd) Run(g *Globals) error
```



<a name="RepoUVPutCmd"></a>
## type RepoUVPutCmd

RepoUVPutCmd adds or updates an unversioned file.

```go
type RepoUVPutCmd struct {
    Name string `arg:"" help:"Name of the unversioned file"`
    File string `arg:"" help:"Local file to upload"`
}
```

<a name="RepoUVPutCmd.Run"></a>
### func \(\*RepoUVPutCmd\) Run

```go
func (c *RepoUVPutCmd) Run(g *Globals) error
```



<a name="RepoUndoCmd"></a>
## type RepoUndoCmd

RepoUndoCmd undoes the last checkout operation.

```go
type RepoUndoCmd struct {
    Dir string `short:"d" help:"Checkout directory" default:"."`
}
```

<a name="RepoUndoCmd.Run"></a>
### func \(\*RepoUndoCmd\) Run

```go
func (c *RepoUndoCmd) Run(g *Globals) error
```



<a name="RepoUserCmd"></a>
## type RepoUserCmd

RepoUserCmd groups user management operations.

```go
type RepoUserCmd struct {
    Add    UserAddCmd    `cmd:"" help:"Create a new user"`
    List   UserListCmd   `cmd:"" help:"List all users"`
    Update UserUpdateCmd `cmd:"" help:"Update user capabilities"`
    Rm     UserRmCmd     `cmd:"" help:"Delete a user"`
    Passwd UserPasswdCmd `cmd:"" help:"Reset user password"`
}
```

<a name="RepoVerifyCmd"></a>
## type RepoVerifyCmd

RepoVerifyCmd verifies repository integrity.

```go
type RepoVerifyCmd struct{}
```

<a name="RepoVerifyCmd.Run"></a>
### func \(\*RepoVerifyCmd\) Run

```go
func (c *RepoVerifyCmd) Run(g *Globals) error
```



<a name="RepoWikiCmd"></a>
## type RepoWikiCmd

RepoWikiCmd groups wiki operations.

```go
type RepoWikiCmd struct {
    Ls     RepoWikiLsCmd     `cmd:"" help:"List wiki pages"`
    Export RepoWikiExportCmd `cmd:"" help:"Export a wiki page"`
}
```

<a name="RepoWikiExportCmd"></a>
## type RepoWikiExportCmd

RepoWikiExportCmd exports a wiki page.

```go
type RepoWikiExportCmd struct {
    Page   string `arg:"" help:"Wiki page name or artifact UUID"`
    Output string `short:"o" help:"Output file (default: stdout)"`
}
```

<a name="RepoWikiExportCmd.Run"></a>
### func \(\*RepoWikiExportCmd\) Run

```go
func (c *RepoWikiExportCmd) Run(g *Globals) error
```



<a name="RepoWikiLsCmd"></a>
## type RepoWikiLsCmd

RepoWikiLsCmd lists wiki pages.

```go
type RepoWikiLsCmd struct{}
```

<a name="RepoWikiLsCmd.Run"></a>
### func \(\*RepoWikiLsCmd\) Run

```go
func (c *RepoWikiLsCmd) Run(g *Globals) error
```



<a name="UserAddCmd"></a>
## type UserAddCmd

UserAddCmd creates a new user.

```go
type UserAddCmd struct {
    Login string `arg:"" help:"Username"`
    Cap   string `help:"Capability string (e.g. oi)" required:""`
}
```

<a name="UserAddCmd.Run"></a>
### func \(\*UserAddCmd\) Run

```go
func (c *UserAddCmd) Run(g *Globals) error
```



<a name="UserListCmd"></a>
## type UserListCmd

UserListCmd lists all users.

```go
type UserListCmd struct{}
```

<a name="UserListCmd.Run"></a>
### func \(\*UserListCmd\) Run

```go
func (c *UserListCmd) Run(g *Globals) error
```



<a name="UserPasswdCmd"></a>
## type UserPasswdCmd

UserPasswdCmd resets a user's password.

```go
type UserPasswdCmd struct {
    Login string `arg:"" help:"Username"`
}
```

<a name="UserPasswdCmd.Run"></a>
### func \(\*UserPasswdCmd\) Run

```go
func (c *UserPasswdCmd) Run(g *Globals) error
```



<a name="UserRmCmd"></a>
## type UserRmCmd

UserRmCmd deletes a user.

```go
type UserRmCmd struct {
    Login string `arg:"" help:"Username"`
}
```

<a name="UserRmCmd.Run"></a>
### func \(\*UserRmCmd\) Run

```go
func (c *UserRmCmd) Run(g *Globals) error
```



<a name="UserUpdateCmd"></a>
## type UserUpdateCmd

UserUpdateCmd updates user capabilities.

```go
type UserUpdateCmd struct {
    Login string `arg:"" help:"Username"`
    Cap   string `help:"New capability string" required:""`
}
```

<a name="UserUpdateCmd.Run"></a>
### func \(\*UserUpdateCmd\) Run

```go
func (c *UserUpdateCmd) Run(g *Globals) error
```



<a name="VersionCmd"></a>
## type VersionCmd

VersionCmd prints a single\-line, stable, machine\-parseable build identifier and exits 0.

```go
type VersionCmd struct{}
```

<a name="VersionCmd.Run"></a>
### func \(\*VersionCmd\) Run

```go
func (c *VersionCmd) Run() error
```

Run prints Version\(\) and always succeeds: there is nothing about the local environment that can make reporting the build identifier fail.

Generated by [gomarkdoc](<https://github.com/princjef/gomarkdoc>)
