hut v0.7.0
Note for package maintainers: hut's version, which is used in the user-agent,
can be set via ldflags, e.g.: -ldflags "-X 'main.version=v0.7.0'")
# Added
- git webhook handling
- git setup command that configures a repository for "git send-email" via the project config file
- pages ACL handling
- "Update" command for multiple resources
- "count" flag for all list commands. The number of items that should be fetched by hut can now
be specified. This is especially useful when redirecting "stdout" and not using the interactive
pager.
# Changed
- Some list commands, like ticket list and patchset list, support filtering by status now
and will only show actionable items by default (proposed patches, open tickets)
- hut will check all git remotes now instead of just origin
Drew DeVault (1):
hut builds submit: add flag to disable secrets
Logan Kirkland (1):
doc: Added link to manpage in README.md
Taavi Väänänen (1):
Use new go-scfg location
Thorben Günther (40):
Upgrade dependencies
git: Add setup
git setup: Only configure if nothing is set
graphql: Implement service completion
Run gofmt
git setup: Fix error check
builds submit: Support ".yaml" manifests
git: CutSuffix -> TrimSuffix
lists patchset list: Trim prefix
Improve error handling
lists patchset list: Add status filtering
builds list: Add status filtering
todo ticket list: Show only open tickets by default
Update schemata
git: Add git webhook create
git: Add git webhook list
git: Add git webhook delete
Update schemata
builds: Add update
git update: Support updating repo name
todo update: Support updating name
builds: Update webhook events
Update schemata
pages list: Display site ID
pages: Add acl update
pages: Add acl delete
Update pages schema
pages: Add acl list
client: Add delay between consecutive API requests
Bump go version to 1.18
client: Include hut version in user-agent
pager: Support requesting a number of objects
builds: Implement "count" flag
git: Implement "count" flag
hg: Implement "count" flag
lists: Implement "count" flag
meta: Implement "count" flag
pages: Implement "count" flag
paste: Implement "count" flag
todo: Implement "count" flag
Tim Hårek Andreassen (1):
Add --web flag
наб (2):
git: detect "git remote" exiting 128 for "not in a git repository", return empty (=> "no sr.ht Git repository...") instead of exiting with an error
git: iterate over all remotes
hut v0.6.0
Highlights:
- Project config: To make using hut a more seamless experience and help
new contributors, a config file can be added to repositories.
- Lots of new "hg" commands.
- "update" commands for most resources.
- Pager no longer messes up terminal on an internal error.
- hut now checks whether "stdin" is an interactive terminal when it
decides whether input should be read from "$EDITOR" or "stdin".
- The deprecated not-found flag has been removed.
Jens Schmidt (1):
all: Streamline reading of input
Robert Munyer (1):
Implement "hut hg update <repo> --readme <file>"
Thorben Günther (50):
Update links
Update schemata
Upgrade dependencies
pager: Fix shutdown
pages unpublish: Fix missing nil check
Add missing newline
todo: Remove unnecessary nil checks
git create: Display URL when not cloning
hg create: Display URL
meta: Add oauth tokens
todo ticket show: Display ticket URL
hg: Implement repo completion
git: Rename repo completion query
Format graphql files with prettier
hg create: Add "clone" flag
hg update: Add "description", "visibility" flags
hg: Add automatic repo detection and "repo" flag
git: Rename some functions
pages publish: Remove deprecated "not-found" flag
hg update: Add "non-publishing" flag
hg: Add acl list
git acl list: Add missing argument
hg: Add acl update
git: getRepoID -> getGitRepoID
hg: Add acl delete
todo: Add label update
lists archive: Only increase timeout for download
todo: Implement ticket label completion
todo: Implement ticket unlabel completion
doc: Update current maintainer
Add "debug" flag
ci: Use alpine/edge image
meta: Add update
Remove some unused parameters
meta update: Support clearing values
meta update: Add biography editing
todo: Add update
meta update: Improve bio clearing
lists: Add update
todo delete/update: Support tracker detection
git/hg update: Clear description correctly
Search and load project config
todo: Get tracker from project config
lists: Get mailing list from project config
git: Add clone command
fixup! lists: Get mailing list from project config
project config: Support patch prefix
Add hut project config
doc: Explain the project config
git clone: Add some logging
hut v0.5.0
Simon Ser (11):
Upgrade dependencies
Update GraphQL schema
Upgrade hg schema
export/lists: add visibility
export/paste: ignore empty filenames
export/meta: write info.json file
export: fix writeExportStamp return value
client: remove unused Client.Hostname
import: accept multiple directories
config: use scfg decoder to read config file
todo ticket edit: new command
Thorben Günther (2):
todo ticket list: Add status filtering
pager/editor: Use shlex to parse command
delthas (5):
export/git: add readme and head
export/hg: add readme and nonPublishing
Add the import command
export: Support specifying services and resources
import: Fix wrong import path
hut v0.4.0
This release introduces a handful of new features and includes bug
fixes (in particular, for authentication errors when fetching logs).
- Pagination is now supported for all commands.
- todo trackers can now be exported.
- Comments are now displayed when showing a todo ticket.
- Sharing builds secrets is now supported.
- A new command to display lists subscriptions has been added.
- The graphql command can perform file uploads.
Full commit history below.
Benjamin Pollack (1):
pager: honor $PAGER
Jackson Chen (1):
hut init: early check if config already exists
Simon Ser (21):
Upgrade dependencies
Remove golang.org/x/oauth2
Upgrade dependencies
srht: re-generate
todo ticket show: display comments
ci: ignore generated GraphQL files in gofmt check
builds: skip empty job notes
builds: pass Client as argument
builds: use authenticated client to fetch logs
contrib: Add script to update schemas
lists: add support for e-mail address syntax for list names
doc: add paragraph about resource references
export: print service name outside of Export function
export: drop Exporter.Name
export: drop Exporter.BaseURL
export: return cobra.Command directly
export: fix info type typo in TodoExporter.exportTracker
export: add common writeJSON function
graphql: add support for file uploads
builds show: print job group status
Fix panic when access-token-cmd returns an empty string
Thorben Günther (65):
builds: Update schema
Write logs to stderr
builds submit: Support visibility
builds resubmit: Support visibility
doc: Fix builds (re)submit options
paste: Fix paste ID completion
builds secrets: Display type
git create: Correctly handle empty description
export/paste: Add pagination
builds secrets: Support pagination
meta audit-log: Support pagination
meta audit-log: Improve output
meta user-webhook list: Support pagination
export/git: Add pagination
export/builds: Use http client authentication for gettings logs
export/builds: Also export job visibility
export/builds: Add pagination
export/hg: Support pagination
export/lists: Support pagination
export/meta: Support pagination
paste list: Support pagination
paste user-webhook list: Support pagination
lists: Add subscriptions
builds list: Fix pagination
builds user-webhook list: Support pagination
hg user-webhok list: Support pagination
todo ticket list: Support pagination
todo label list: Support pagination
hg/builds user-webhook list: Actually print to pager
todo user-webhook list: Support pagination
lists: Rename variable
todo ticket webhook list: Support pagination
todo webhook list: Support pagination
todo acl list: Handle owner
todo acl list: Support pagination
lists user-webhook list: Support pagination
lists webhook list: Support pagination
git acl list: Handle owner
lists patchset apply: Support pagination
lists acl list: Handle owner
lists acl list: Support pagination
lists patchset show: Support pagination
lists patchset list: Support pagination
git user-webhook list: Support pagination
git acl list: Support pagination
pages list: Support pagination
pages user-webhook list: Support pagination
meta ssh-key list: Support pagination
meta pgp-key list: Support pagination
meta {ssh,pgp}-key list: Improve output
git/completeArtifacts: Handle owner
export/todo: Fix query
export: fix info type typo in TodoExporter.exportTracker
export/todo: Save tracker description, visibility
export/todo: Skip tracker if dump already exists
builds: Update schema
builds secrets: Indicate if a secret was shared
builds show: Remove SSH connection string
lists: Improve patchset completion
builds: Replace "secrets" with "secret list"
hut git update: Support clearing custom README
printMailingListSubscription: Remove unused parameter
builds secret: Add share
builds secret share: Implement secret completion
builds secret share: Implement user completion
delthas (3):
export: add support for todo
Use a common info.json metadata file
export/hg: don't use .git suffix for repository dir
hut v0.3.0
This release adds a bunch of new features and updates the API
schema to upstream's latest version.
- Pagination is now supported across the board.
- Improved support for Web hooks.
- builds: add --edit to adjust build manifests using an editor before
submitting, add artifacts sub-command, improve support for labels.
- todo: add sub-command to create a new ticket and show a ticket.
- git: add sub-command to update repository settings.
- pages: the publish sub-command can now take directories as input and
supports advanced site configuration.
- lists: add sub-command to fetch archives.
Full commit history below.
Dmitry Bogatov (1):
hut-git-update: add option to set repository description
Moritz Poldrack (1):
builds: fix error when complete-build is used
Simon Ser (15):
todo: drop unnecessary newline
Upgrade dependencies
go fmt
builds submit: add --edit
Use gqlclient.Time
todo ticket create: new command
Set User-Agent
pages publish: add support for directories
Split client logic into separate file
Move InstanceConfig method near the type definition
Lazily load config and cache it in context
builds submit: fix .builds/ glob
builds submit: allow missing input manifest with --edit
git: iterate over all remote URLs in guessGitRepoName
git: simplify getRepoName
Thorben Günther (39):
todo/tickets: Support neutral "closed" resolution
todo ticket update-status: Use CLOSED as default resolution
git: Add update
git update: Support setting custom README
builds list: Support other owners
readme: Use only master branch for CI status badge
Remove deprecated ioutil package
Run gofmt
todo: Add ticket show
lists: Conform with new schema
git: Conform with new schema
pages publish: Use longer timeout
export: Clarify usage
lists: Add archive
lists archive: Support last days
webhook list: Remove events and query
lists: Implement mailing list completion
pages publish: Add flag to read siteConfigFile
pages publish: Deprecate not-found flag
builds: Add artifacts
Switch from timeDelta to humanize.Time
git artifact upload: Increase timeout
builds: Update schema
lists: Add mailing list webhook create
lists: Add mailing list webhook list
lists: Add mailing list webhook delete
builds: Add user-webhook create
builds: Add user-webhook list
builds: Add user-webhook delete
webhooks: Remove unnecessary nil checks
todo: Update schema
meta: Update schema
hg: Update schema
todo label delete: Use label name instead of ID
todo label list: Remove ID
todo: Add ticket label
todo: Add ticket unlabel
todo label delete: Add label completion
doc: Clarify export usage
Vlad-Stefan Harbuz (2):
init: trim oauth2 token
Add pager
hut v0.2.0
Colin Arnott (1):
pages publish: accept archive from stdin
Drew DeVault (8):
export: new subcommand
export: add git.sr.ht support
export: skip already-exported services
export: add hg.sr.ht support
export: clone repos via SSH
export: add lists.sr.ht support
export: add builds.sr.ht support
export: add paste.sr.ht support
Gregory Anders (1):
paste: allow specifying name when reading from stdin
Habib Alamin (2):
Fix BSD install error when mixing `-d` and `-C` (via `-p`)
Fix BSD install error when using `-t` option
Sebastian LaVine (2):
config: Error-check AccessToken before service origin URL loop
Replace duplicated code with new stripProtocol() function
Simon Ser (12):
readme: link to IRC channel
git artifact upload: accept multiple filenames
readme: add link to sr.ht project
builds/{resubmit,show}: add completions
Disable date/time log prefix
paste list: don't crash on nameless file
man: fix missing arg name
lists patchset show: new subcommand
pages publish: use cmd.MarkFlagRequired
pages unpublish: use cmd.MarkFlagRequired
Use cobra.FixedCompletions
pages publish: unset filename for stdin, set MIME type
Thorben Günther (67):
man page: Add missing git show
todo: Improve ticket ID completion
git: Improve webhook event completion
builds: Update schema
builds: Fix tasks/tags handling
builds submit: Add tags flag
builds: Add missing completion and args directives
patchset list: Further improve output
git: Add missing completion directives
git: Expose error in getRepoName
todo: Expose error in getTrackerName
todo: Add create
lists: Add create
hg: Update schema
hg: Add create
hg/git/todo create: Set default visibility to public
todo: Conform with new schema
hg: Add delete
lists acl list: Improve output
git acl list: Improve output
todo acl list: Improve output
todo label create: Support a few colors in completion
todo: Update schema
todo: Add ticket delete
builds cancel, paste delete: Improve completion
paste delete: Accept URLs
Add first parsing tests
parsePatchID: Improve instance detection
lists: Expose error in getMailingListName
Use new function to read webhook queries
todo: Add ticket webhook create
todo: Add ticket webhook delete
git: Change webhook command handling
lists: Conform with new schema
lists list: Add visibility
lists: Add user-webhook create
lists: Add user-webhook list
lists: Add user-webhook delete
todo: Add user-webhook create
todo: Add user-webhook list
todo: Add user-webhook delete
meta: Add user-webhook create
meta: Add user-webhook list
meta: Add user-webhook delete
hg: Add user-webhook create
hg: Add user-webhook list
hg: Add user-webhook delete
meta: Implement user-webhook ID completion
git: Implement user-webhook ID completion
lists: Implement user-webhook ID completion
hg: Implement user-webhook ID completion
todo: Implement user-webhook ID completion
todo: Add ticket webhook list
webhooks: Read query after events are parsed
todo: Fix user webhook ID completion
paste: Conform with new schema
pages: Update schema
builds: Improve secret list output
paste: Add user-webhook create
paste: Add user-webhook list
paste: Add user-webhook delete
pages: Add user-webhook create
pages: Add user-webhook list
pages: Add user-webhook delete
todo: Add tracker webhook create
todo: Add tracker webhook list
todo: Add tracker webhook delete
hut v0.1.0
This is the first hut release.
Dhruvin Gandhi (3):
pages: Update the schema
pages publish: Add subdirectory flag
pages publish: Add --not-found
Hugo Machet (2):
doc: Add man page
Add Makefile
Humm (1):
bring Makefile closer to perfection
James Pearson (1):
Improve README.md
Maxwell G (1):
Makefile: Add completions and uninstall targets
Renato Torres (1):
git: add show
Sebastian LaVine (3):
Direct users without a config to use the man page example
builds submit, resubmit: Add -n note flag
Fix formatting with `go fmt`
Simon Ser (114):
Initial commit
Add support for multi-file pastes
Print paste URL
Add context timeout
Drop Entity hack
Drop replace directive from go.mod
Add build subcommand
Upgrade git.sr.ht/~emersion/gqlclient
Move generated code to pastesrht sub-package
Use code generation for pastesrht query
Use codegen for builds.sr.ht
Add --follow to build submission
Add README for srht package
readme: add a building section
srht: add fallback // +build comment
Split commands into per-service files
Fix typos in command usage
readme: add builds.sr.ht badge
readme: linkify heading
Auto-detect repo name
git artifact: turn revision flag into arg
pages publish: use cobra.ExactArgs
doc: expand "builds submit" description
Revert "git artifact: turn revision flag into arg"
git artifact: use cobra.ExactArgs
Add basic graphql command
doc: minor formatting touch-ups
builds show: set max number of args
builds: use circle as icon for pending jobs
Add "meta show" command
builds list: improve formatting a bit
builds show: improve formatting a bit
builds list: show status icon, add newline before note
builds: use black circle for running tasks and jobs
Simplify parseInt32
builds show: use separate GraphQL query for last job ID
builds list: show task statuses
builds cancel: fix usage string
doc: use underline style for $EDITOR
Hide "completions" command generated by cobra
Exit with non-zero status on invalid command
builds show: error out properly on invalid job ID
builds resubmit: clarify error message on invalid job ID
builds show: display job note
meta ssh-key create: new command
git: pass context to gitRemoteURL
paste: print hashes in yellow
termfmt: rename Color to Style
termfmt: add Bold and Dim
pages: print site name in bold
meta: print username in bold
Upgrade gqlclient
go generate
meta pgp-key create: new command
meta show: display current user by default
builds: improve status colors
git list: use bold for repo name
builds list: add more formatting
Introduce ownerPrefixes
git: remove repoName global
Reject invalid input in getConfirmation
Add lists.sr.ht schema
Move timeDelta to main.go
lists list: new command
readme: mention man page instead of -h
termfmt: add Style.{String,Sprint,Sprintf}
paste list: add colorful visibility
paste update: use completePasteID for completions
git: handle instance in --repo flag
config: add Client.HTTP
paste show: new command
Move parseInt32 to main.go
builds: introduce parseBuildID
git: rename RepositoryByName to RepositoryIDByName
git: introduce getRepoID
doc/hut.1: slightly improve formatting and arg names
graphql: use NoFileCompletions
lists: introduce parseMailingListName
lists: rename MailingListByName to MailingListIDByName
lists: add getMailingListID
lists: detect mailing list from Git config
lists: replace --owner flag with --mailing-list
go get -u
srht/generate: drop package names
ci: add BSD make build
graphql: add --var
git: add ParseVisibility to gitsrht package
lists: add ParsePatchsetStatus to listssrht package
pages: add ParseProtocol to pagessrht package
paste: add ParseVisibility to pastesrht package
git: add ParseAccessMode to gitsrht package
git artifact list: add terminal formatting
git list: hide repository ID
Fix typo in --instance help text
pages: unfold long line
hg list: drop repo ID from output
git: add owner arg to getRepoID
hut init: new command
readme: disambiguate license
config: introduce config struct
config: error out on duplicate instance names
Add parseOwnerName
meta show: parse instance from arg
git list: parse instance from arg
lists, todo: add TODO where we ignore owner
builds show: add formatting for job ID in --follow mode
termfmt: add ReplaceLine
Remove Client.Hostname
Only build service origin from instance name if it's a FQDN
graphql: prefill editor with help text
graphql: drop prefilled text, abort on empty query
Upgrade dependencies
Move GraphQL client timeout to http.Client
graphql: fix missing newline in error message
Thorben Günther (143):
ci: add build manifest
Add .gitignore
Add artifact upload
config: Add option to grab token from command output
CI: Check documentation in build step
Group commands by API service
pages: Add website publish
pages: Add unpublish
paste: Add option to set visibility
pages: Add list
readme: Fix license
builds: Add resubmit
builds: Allow editing of resubmitted manifest
builds: Add cancel
builds: Set note for resubmissions
paste: Add delete
builds: Move int64 -> int32 conversion to function
git: Try to autodetect revision for artifact upload
builds: Add show
builds: Add list
builds: Add secrets
git artifact: Improve error handling
artifacts: Move upload to subcommand
git: Add artifact list
git: Add artifact delete
git: Regenerate gql.go
git: Make --repo flag global
doc: Remove empty options for artifact list
git: Add create
git create: Add flag to clone repo after creation
paste: Add list
git: Use function to get repo name
Add coloured output, enable for job status
builds: Add ssh
builds: Add follow flag to show command
Update builds, git schemata and re-generate
git create: Retrieve SSH user from API
builds ssh: Retrieve SSH user from API
config: Add instance flag
config: Add config flag
Improve auto-completion
meta ssh-key: Add delete
meta pgp-key: Add delete
paste: Add update
git: Add list
meta ssh-key: Add list
git: Add delete
meta pgp-key: Add list
Implement function to receive user confirmation
git delete: Ask for confirmation
config: Improve instance detection
git delete: Use repo name instead of ID
getConfirmation: Change to lower-case n
config: Remove global variables
meta: Add audit-log
lists: Add delete
git: Implement repo completion
paste: Implement paste ID completions
Add hg.sr.ht schema
hg: Add list
git artifacts: Improve rev completion
Implement argument parsing
config: Modify client creation to accept instance string
git: Return instance when guessing repo repoName
timeDelta: Use time.Since in function itself
Fix timeDelta usage
meta ssh-key delete: Implement completion
meta pgp-key delete: Implement completion
git: Add acl list
lists: Add subscription add
lists: Add subscription remove
builds: Implement completion for running jobs
lists delete: Add nil check
lists: Add patchset list
lists: Remove obsolete owner flag
lists: Add patchset update
git: Add acl update
git: Add acl delete
pages: Implement domain completion
Makefile: Add dependencies to completion targets
lists: Add patchset apply
git: Parse owner in getRepoName and guessGitRepoName
git show: Handle owner
git show: Fix latest tag
lists patchset list: Improve output
git acl list: Switch date and mode
Add todo schema
todo: Add list
todo: Add delete
git artifact list: Handle owner
todo: Add ticket list
todo: Handle owner in getTrackerID
lists patchset: Implement patch ID completion
patchset list: Support listing by user
lists acl list: New command
lists: Add acl delete
git: Conform with new schema
git: Schema update
todo: Add ticket comment
todo ticket list: Color labels with their own color
todo: Move ticket parsing to function
todo: Add ticket update-status
todo comment: Write comment with EDITOR by default
getInputWithEditor: Support initial text
builds resubmit: Use getInputWithEditor
builds ssh: Add missing nil check
todo ticket comment: Support status and resolution
ticket comment: Implement smart status handling
ticket update-status: Implement smart status handling
todo: Add label list
todo: Add label delete
todo: Add label create
todo labels: Pad with space
git: Implement artifact completion
todo: Add acl list
todo: Add acl delete
config: Support setting service origin URL
git: Add webhook list
git: Add webhook delete
git: Add webhook create
todo: Add subscribe
todo: Add unsubscribe
lists subscribe: Fix args usage
todo: Add ticket subscribe
todo: Add ticket unsubscribe
todo: Add ticket assign
todo: Add ticket unassign
label create: Automatically pick foreground color if omitted
git create: Support cloneUrl as import-url flag
patchset list: Align output
termfmt: Export isTerminal
builds (re)submit: Offer SSH connection
Switch tabwriter package
man page: Sort alphabetically
todo: Return error in parseTicketResource
todo: Implement ticket unassign completion
todo: Implement ticket ID completion
patchset list: Slightly adjust output
graphql: Read query from $EDITOR by default
git webhook create: Support reading from stdin
todo: Implement ticket assign completion
todo: Implement tracker completion
ticket comment: Fix panic