~xenrox/hut

v0.7.0 7 months ago .tar.gz browse log

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

v0.6.0 1 year, 7 months ago .tar.gz browse log

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

v0.5.0 1 year, 8 months ago .tar.gz browse log

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

v0.4.0 2 years ago .tar.gz browse log

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

v0.3.0 2 years ago .tar.gz browse log

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

v0.2.0 3 years ago .tar.gz browse log

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

v0.1.0 3 years ago .tar.gz browse log

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