Skip to content
go-libfossil Artifact [4bab93a563]
Login

Artifact [4bab93a563]

Artifact 4bab93a5635c4903d5bcab00b72ccad3d79e33d1625707a68d20f90b3d8314bc:


---
title: cli
---

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

# cli

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

## Index

- [type Globals](<#Globals>)
  - [func \(g \*Globals\) OpenRepo\(\) \(\*libfossil.Repo, error\)](<#Globals.OpenRepo>)
- [type RepoAddCmd](<#RepoAddCmd>)
  - [func \(c \*RepoAddCmd\) Run\(g \*Globals\) 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\) 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\) error](<#RepoMergeCmd.Run>)
- [type RepoMergeResolveCmd](<#RepoMergeResolveCmd>)
  - [func \(c \*RepoMergeResolveCmd\) Run\(g \*Globals\) 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\) error](<#RepoRenameCmd.Run>)
- [type RepoResolveCmd](<#RepoResolveCmd>)
  - [func \(c \*RepoResolveCmd\) Run\(g \*Globals\) error](<#RepoResolveCmd.Run>)
- [type RepoRevertCmd](<#RepoRevertCmd>)
  - [func \(c \*RepoRevertCmd\) Run\(g \*Globals\) error](<#RepoRevertCmd.Run>)
- [type RepoRmCmd](<#RepoRmCmd>)
  - [func \(c \*RepoRmCmd\) Run\(g \*Globals\) 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 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 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>)


<a name="Globals"></a>
## type [Globals](<https://github.com/danmestas/libfossil/blob/main/cli/shared.go#L15-L18>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/shared.go#L22>)

```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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_add.go#L12-L15>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_add.go#L17>)

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



<a name="RepoAnnotateCmd"></a>
## type [RepoAnnotateCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_annotate.go#L10-L13>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_annotate.go#L15>)

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



<a name="RepoBisectBadCmd"></a>
## type [RepoBisectBadCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_bisect.go#L27-L30>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_bisect.go#L32>)

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



<a name="RepoBisectCmd"></a>
## type [RepoBisectCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_bisect.go#L6-L14>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_bisect.go#L17-L20>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_bisect.go#L22>)

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



<a name="RepoBisectLsCmd"></a>
## type [RepoBisectLsCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_bisect.go#L65-L67>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_bisect.go#L69>)

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



<a name="RepoBisectNextCmd"></a>
## type [RepoBisectNextCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_bisect.go#L47-L49>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_bisect.go#L51>)

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



<a name="RepoBisectResetCmd"></a>
## type [RepoBisectResetCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_bisect.go#L56-L58>)

RepoBisectResetCmd clears bisect state.

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

<a name="RepoBisectResetCmd.Run"></a>
### func \(\*RepoBisectResetCmd\) [Run](<https://github.com/danmestas/libfossil/blob/main/cli/repo_bisect.go#L60>)

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



<a name="RepoBisectSkipCmd"></a>
## type [RepoBisectSkipCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_bisect.go#L37-L40>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_bisect.go#L42>)

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



<a name="RepoBisectStatusCmd"></a>
## type [RepoBisectStatusCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_bisect.go#L74-L76>)

RepoBisectStatusCmd shows bisect state.

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

<a name="RepoBisectStatusCmd.Run"></a>
### func \(\*RepoBisectStatusCmd\) [Run](<https://github.com/danmestas/libfossil/blob/main/cli/repo_bisect.go#L78>)

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



<a name="RepoBlameCmd"></a>
## type [RepoBlameCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_annotate.go#L47-L49>)

RepoBlameCmd is an alias for annotate.

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

<a name="RepoBranchCloseCmd"></a>
## type [RepoBranchCloseCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_branch.go#L170-L173>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_branch.go#L175>)

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



<a name="RepoBranchCmd"></a>
## type [RepoBranchCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_branch.go#L15-L19>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_branch.go#L22-L25>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_branch.go#L27>)

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



<a name="RepoBranchNewCmd"></a>
## type [RepoBranchNewCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_branch.go#L94-L99>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_branch.go#L101>)

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



<a name="RepoCatCmd"></a>
## type [RepoCatCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_cat.go#L13-L16>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_cat.go#L18>)

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



<a name="RepoCiCmd"></a>
## type [RepoCiCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_ci.go#L13-L19>)

RepoCiCmd creates a new checkin \(commit\).

```go
type RepoCiCmd struct {
    Message string   `short:"m" required:"" help:"Checkin comment"`
    Files   []string `arg:"" required:"" help:"Files to checkin"`
    User    string   `help:"Checkin user (default: OS username)"`
    Parent  string   `help:"Parent version UUID (default: tip)"`
    Branch  string   `help:"Branch name for this checkin"`
}
```

<a name="RepoCiCmd.Run"></a>
### func \(\*RepoCiCmd\) [Run](<https://github.com/danmestas/libfossil/blob/main/cli/repo_ci.go#L21>)

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



<a name="RepoCloneCmd"></a>
## type [RepoCloneCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_clone.go#L13-L19>)

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)"`
}
```

<a name="RepoCloneCmd.Run"></a>
### func \(\*RepoCloneCmd\) [Run](<https://github.com/danmestas/libfossil/blob/main/cli/repo_clone.go#L21>)

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



<a name="RepoCmd"></a>
## type [RepoCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo.go#L5-L44>)

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"`
}
```

<a name="RepoCoCmd"></a>
## type [RepoCoCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_co.go#L13-L17>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_co.go#L19>)

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



<a name="RepoConfigCmd"></a>
## type [RepoConfigCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_config.go#L6-L10>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_config.go#L38-L40>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_config.go#L42>)

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



<a name="RepoConfigLsCmd"></a>
## type [RepoConfigLsCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_config.go#L13>)

RepoConfigLsCmd lists all config entries.

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

<a name="RepoConfigLsCmd.Run"></a>
### func \(\*RepoConfigLsCmd\) [Run](<https://github.com/danmestas/libfossil/blob/main/cli/repo_config.go#L15>)

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



<a name="RepoConfigSetCmd"></a>
## type [RepoConfigSetCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_config.go#L58-L61>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_config.go#L63>)

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



<a name="RepoConflictsCmd"></a>
## type [RepoConflictsCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_conflicts.go#L16-L23>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_conflicts.go#L287-L290>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_conflicts.go#L292>)

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



<a name="RepoConflictsLsCmd"></a>
## type [RepoConflictsLsCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_conflicts.go#L26>)

RepoConflictsLsCmd lists all conflicts.

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

<a name="RepoConflictsLsCmd.Run"></a>
### func \(\*RepoConflictsLsCmd\) [Run](<https://github.com/danmestas/libfossil/blob/main/cli/repo_conflicts.go#L28>)

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



<a name="RepoConflictsMergeCmd"></a>
## type [RepoConflictsMergeCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_conflicts.go#L234-L238>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_conflicts.go#L240>)

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



<a name="RepoConflictsPickCmd"></a>
## type [RepoConflictsPickCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_conflicts.go#L187-L193>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_conflicts.go#L195>)

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



<a name="RepoConflictsShowCmd"></a>
## type [RepoConflictsShowCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_conflicts.go#L155-L157>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_conflicts.go#L159>)

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



<a name="RepoDeltaApplyCmd"></a>
## type [RepoDeltaApplyCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_delta.go#L43-L47>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_delta.go#L49>)

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



<a name="RepoDeltaCmd"></a>
## type [RepoDeltaCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_delta.go#L11-L14>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_delta.go#L17-L21>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_delta.go#L23>)

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



<a name="RepoDiffCmd"></a>
## type [RepoDiffCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_diff.go#L16-L20>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_diff.go#L22>)

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



<a name="RepoExtractCmd"></a>
## type [RepoExtractCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_extract.go#L13-L17>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_extract.go#L19>)

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



<a name="RepoHashCmd"></a>
## type [RepoHashCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_hash.go#L11-L14>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_hash.go#L16>)

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



<a name="RepoInfoCmd"></a>
## type [RepoInfoCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_info.go#L6>)

RepoInfoCmd shows repository statistics.

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

<a name="RepoInfoCmd.Run"></a>
### func \(\*RepoInfoCmd\) [Run](<https://github.com/danmestas/libfossil/blob/main/cli/repo_info.go#L8>)

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



<a name="RepoInviteCmd"></a>
## type [RepoInviteCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_invite.go#L12-L17>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_invite.go#L19>)

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



<a name="RepoLsCmd"></a>
## type [RepoLsCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_ls.go#L6-L9>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_ls.go#L11>)

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



<a name="RepoMergeCmd"></a>
## type [RepoMergeCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_merge.go#L17-L22>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_merge.go#L24>)

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



<a name="RepoMergeResolveCmd"></a>
## type [RepoMergeResolveCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_merge_resolve.go#L10-L13>)

RepoMergeResolveCmd marks a file conflict as resolved.

```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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_merge_resolve.go#L15>)

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



<a name="RepoNewCmd"></a>
## type [RepoNewCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_new.go#L10-L13>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_new.go#L15>)

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



<a name="RepoOpenCmd"></a>
## type [RepoOpenCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_open.go#L11-L13>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_open.go#L15>)

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



<a name="RepoQueryCmd"></a>
## type [RepoQueryCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_query.go#L9-L11>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_query.go#L13>)

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



<a name="RepoRedoCmd"></a>
## type [RepoRedoCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_undo.go#L18-L20>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_undo.go#L22>)

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



<a name="RepoRenameCmd"></a>
## type [RepoRenameCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_rename.go#L6-L10>)

RepoRenameCmd renames a tracked file in the checkout.

```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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_rename.go#L12>)

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



<a name="RepoResolveCmd"></a>
## type [RepoResolveCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_resolve.go#L6-L8>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_resolve.go#L10>)

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



<a name="RepoRevertCmd"></a>
## type [RepoRevertCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_revert.go#L6-L9>)

RepoRevertCmd undoes staging changes in the checkout.

```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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_revert.go#L11>)

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



<a name="RepoRmCmd"></a>
## type [RepoRmCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_rm.go#L6-L9>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_rm.go#L11>)

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



<a name="RepoSchemaAddCmd"></a>
## type [RepoSchemaAddCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_schema.go#L22-L26>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_schema.go#L28>)

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



<a name="RepoSchemaCmd"></a>
## type [RepoSchemaCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_schema.go#L14-L19>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_schema.go#L60>)

RepoSchemaListCmd lists registered synced tables.

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

<a name="RepoSchemaListCmd.Run"></a>
### func \(\*RepoSchemaListCmd\) [Run](<https://github.com/danmestas/libfossil/blob/main/cli/repo_schema.go#L62>)

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



<a name="RepoSchemaRemoveCmd"></a>
## type [RepoSchemaRemoveCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_schema.go#L133-L135>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_schema.go#L137>)

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



<a name="RepoSchemaShowCmd"></a>
## type [RepoSchemaShowCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_schema.go#L93-L95>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_schema.go#L97>)

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



<a name="RepoStashApplyCmd"></a>
## type [RepoStashApplyCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_stash.go#L45-L48>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_stash.go#L50>)

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



<a name="RepoStashClearCmd"></a>
## type [RepoStashClearCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_stash.go#L98>)

RepoStashClearCmd removes all stash entries.

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

<a name="RepoStashClearCmd.Run"></a>
### func \(\*RepoStashClearCmd\) [Run](<https://github.com/danmestas/libfossil/blob/main/cli/repo_stash.go#L100>)

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



<a name="RepoStashCmd"></a>
## type [RepoStashCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_stash.go#L6-L13>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_stash.go#L84-L86>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_stash.go#L88>)

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



<a name="RepoStashLsCmd"></a>
## type [RepoStashLsCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_stash.go#L60>)

RepoStashLsCmd lists stash entries.

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

<a name="RepoStashLsCmd.Run"></a>
### func \(\*RepoStashLsCmd\) [Run](<https://github.com/danmestas/libfossil/blob/main/cli/repo_stash.go#L62>)

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



<a name="RepoStashPopCmd"></a>
## type [RepoStashPopCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_stash.go#L31-L33>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_stash.go#L35>)

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



<a name="RepoStashSaveCmd"></a>
## type [RepoStashSaveCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_stash.go#L16-L19>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_stash.go#L21>)

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



<a name="RepoStatusCmd"></a>
## type [RepoStatusCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_status.go#L17-L19>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_status.go#L21>)

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



<a name="RepoTagAddCmd"></a>
## type [RepoTagAddCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_tag.go#L54-L58>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_tag.go#L60>)

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



<a name="RepoTagCmd"></a>
## type [RepoTagCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_tag.go#L6-L9>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_tag.go#L12-L14>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_tag.go#L16>)

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



<a name="RepoTimelineCmd"></a>
## type [RepoTimelineCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_timeline.go#L10-L12>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_timeline.go#L14>)

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



<a name="RepoUVCmd"></a>
## type [RepoUVCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_uv.go#L10-L15>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_uv.go#L110-L112>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_uv.go#L114>)

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



<a name="RepoUVGetCmd"></a>
## type [RepoUVGetCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_uv.go#L79-L82>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_uv.go#L84>)

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



<a name="RepoUVLsCmd"></a>
## type [RepoUVLsCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_uv.go#L18>)

RepoUVLsCmd lists unversioned files.

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

<a name="RepoUVLsCmd.Run"></a>
### func \(\*RepoUVLsCmd\) [Run](<https://github.com/danmestas/libfossil/blob/main/cli/repo_uv.go#L20>)

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



<a name="RepoUVPutCmd"></a>
## type [RepoUVPutCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_uv.go#L53-L56>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_uv.go#L58>)

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



<a name="RepoUndoCmd"></a>
## type [RepoUndoCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_undo.go#L4-L6>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_undo.go#L8>)

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



<a name="RepoUserCmd"></a>
## type [RepoUserCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_user.go#L12-L18>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_verify.go#L6>)

RepoVerifyCmd verifies repository integrity.

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

<a name="RepoVerifyCmd.Run"></a>
### func \(\*RepoVerifyCmd\) [Run](<https://github.com/danmestas/libfossil/blob/main/cli/repo_verify.go#L8>)

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



<a name="RepoWikiCmd"></a>
## type [RepoWikiCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_wiki.go#L13-L16>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_wiki.go#L60-L63>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_wiki.go#L65>)

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



<a name="RepoWikiLsCmd"></a>
## type [RepoWikiLsCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_wiki.go#L19>)

RepoWikiLsCmd lists wiki pages.

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

<a name="RepoWikiLsCmd.Run"></a>
### func \(\*RepoWikiLsCmd\) [Run](<https://github.com/danmestas/libfossil/blob/main/cli/repo_wiki.go#L21>)

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



<a name="UserAddCmd"></a>
## type [UserAddCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_user.go#L21-L24>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_user.go#L26>)

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



<a name="UserListCmd"></a>
## type [UserListCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_user.go#L51>)

UserListCmd lists all users.

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

<a name="UserListCmd.Run"></a>
### func \(\*UserListCmd\) [Run](<https://github.com/danmestas/libfossil/blob/main/cli/repo_user.go#L53>)

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



<a name="UserPasswdCmd"></a>
## type [UserPasswdCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_user.go#L111-L113>)

UserPasswdCmd resets a user's password.

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

<a name="UserPasswdCmd.Run"></a>
### func \(\*UserPasswdCmd\) [Run](<https://github.com/danmestas/libfossil/blob/main/cli/repo_user.go#L115>)

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



<a name="UserRmCmd"></a>
## type [UserRmCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_user.go#L92-L94>)

UserRmCmd deletes a user.

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

<a name="UserRmCmd.Run"></a>
### func \(\*UserRmCmd\) [Run](<https://github.com/danmestas/libfossil/blob/main/cli/repo_user.go#L96>)

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



<a name="UserUpdateCmd"></a>
## type [UserUpdateCmd](<https://github.com/danmestas/libfossil/blob/main/cli/repo_user.go#L72-L75>)

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](<https://github.com/danmestas/libfossil/blob/main/cli/repo_user.go#L77>)

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



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