| hut(1) | General Commands Manual | hut(1) |
نام (NAME)
hut - ابزار خط فرمانی برای sr.ht
خلاصه دستور (SYNOPSIS)
hut [commands...] [options...]
توضیحات (DESCRIPTION)
برنامه hut یک ابزار خط فرمانی کمکی برای تعامل با sr.ht است.
منابع (مانند وظایف ساخت، تیکتهای todo، مجموعهوصلههای lists، مخازن git و غیره) را میتوان در چندین قالب مشخص کرد: نام، مالک و نام، یا نشانی کامل (URL). برای نمونه، به مخزن hut متعلق به ~emersion روی git.sr.ht میتوان از راههای زیر ارجاع داد:
- "hut"
- "~emersion/hut"
- "https://git.sr.ht/~emersion/hut"
علاوه بر این، به فهرستهای پستی میتوان از طریق نشانی ایمیل آنها اشاره کرد.
دستورات hut که ورودی میخوانند، مانند hut graphql یا hut builds user-webhook create، بسته به اینکه ورودی استاندارد (stdin) آنها روی یک پایانه است یا خیر، به شکلهای زیر ورودی را میخوانند:
- •
- اگر stdin روی یک پایانه نباشد، برای نمونه به این دلیل که stdin از یک فایل یا از یک لوله (pipe) تغییر مسیر یافته است، hut ورودی را از stdin میخواند.
- •
- در غیر این صورت، چنانچه گزینه --stdin برای دستور مشخص شده باشد، hut ورودی را از stdin میخواند.
- •
- در غیر این صورت، hut فرض میکند که در یک پایانه اجرا میشود و دستوری که توسط متغیر محیطی $EDITOR تعیین شده است را برای دریافت ورودی اجرا میکند.
گزینهها (OPTIONS)
-h, --help
--config
--debug
--instance
دستورها (COMMANDS)
help <command>
graphql <service>
ابزاری مانند jq(1) میتواند برای زیباتر کردن خروجی و پردازش دادهها استفاده شود. مثال:
hut graphql meta <<EOF | jq '.me'
query {
me { canonicalName }
}
EOF
گزینهها عبارتند از:
--file <key>=<value>
--stdin
-v, --var <key>=<value>
hut graphql meta -v username=emersion <<'EOF'
query($username: String!) {
userByName(username: $username) {
bio
}
}
EOF
init
export <directory> [resource|service...]
بهطور پیشفرض، تمام دادههای کاربر جاری برونبری خواهد شد. همچنین میتوان فهرستی صریح از سرویسهای نمونه (مانند "todo.sr.ht") یا منابع (مانند "todo.sr.ht/~user/tracker") را مشخص کرد.
import <directory...>
version
artifacts <ID>
cancel <IDs...>
list [owner] [options...]
گزینهها عبارتند از:
--count <int>
-s, --status <string>
-t, --tags <string>
resubmit <ID>
گزینهها عبارتند از:
-e, --edit
-f, --follow
-n, --note <string>
-s, --no-secrets
-v, --visibility <string>
secret list [options...]
گزینهها عبارتند از:
--count <int>
secret share <secret>
گزینهها عبارتند از:
-u, --user
show [ID] [options...]
اگر هیچ شناسهای مشخص نشود، آخرین ساخت چاپ خواهد شد.
گزینهها عبارتند از:
-f, --follow
--web
ssh <ID>
submit [manifest...] [options...]
اگر هیچ مانیفست ساختی مشخص نشود، مانیفستهای ساخت در .build.yml، .build.yaml، .builds/*.yml و .builds/*.yaml شناسایی میشوند.
گزینهها عبارتند از:
-e, --edit
-f, --follow
-n, --note <string>
-s, --no-secrets
-t, --tags <string>
-v, --visibility <string>
update <ID> [options...]
گزینهها عبارتند از:
-v, --visibility <string>
-t, --tags <string>
user-webhook create [options...]
گزینهها عبارتند از:
-e, --events <strings...>
--stdin
-q, --query <string>
-u, --url <URL>
user-webhook delete <ID>
گزینهها:
--count <int>
git
گزینهها:
acl delete <ID>
acl list [repo] [options...]
گزینهها:
--count <int>
acl update <user> [options...]
گزینهها:
-m, --mode <string>
artifact delete <ID>
artifact list [options...]
artifact upload <filename...> [options...]
گزینهها:
--rev <string>
clone <repo>
create <name> [options...]
گزینهها:
-c, --clone
-d, --description <string>
--import-url <url>
-v, --visibility <string>
delete [repo] [options...]
گزینهها:
-y, --yes
list [owner] [options...]
گزینهها:
--count <int>
setup [options...]
گزینهها:
-f, --force
show [repo] [options...]
گزینهها:
--web
update [repo] [options...]
گزینهها:
-b, --default-branch <branch>
-d, --description <description>
-n, --name <string>
--readme <file>
-v, --visibility <string>
user-webhook create [options...]
گزینهها:.PP -e, --events <strings...>
--stdin
-q, --query <string>
-u, --url <URL>
user-webhook delete <ID>
user-webhook list [options...]
گزینهها عبارتند از:
--count <int>
webhook create [list] [options...]
گزینهها عبارتند از:
-e, --events <strings...>
--stdin
-q, --query <string>
-u, --url <URL>
webhook delete <ID>
webhook list [repo] [options...]
گزینهها عبارتند از:
--count <int>
hg
گزینهها عبارتند از:
acl delete <ID>
acl list [repo] [options...]
گزینهها عبارتند از:
--count <int>
acl update <user> [options...]
گزینهها عبارتند از:
-m, --mode <string>
create <name> [options...]
گزینهها عبارتند از:
-c, --clone
-d, --description <string>
-v, --visibility <string>
delete [repo] [options...]
گزینهها عبارتند از:
-y, --yes
list [owner] [options...]
گزینهها عبارتند از:
--count <int>
update [repo] [options...]
گزینهها عبارتند از:
-d, --description <description>
--non-publishing <boolean>
--readme <file>
-v, --visibility <string>
user-webhook create [options...]
-e, --events <strings...>
--stdin
-q, --query <string>
-u, --url <URL>
user-webhook delete <ID>
user-webhook list [options...]
گزینهها عبارتند از:
--count <int>
hub
list [owner] [options...]
گزینهها عبارتند از:
--count <int>
show [project]
lists
گزینهها عبارتند از:
بهطور پیشفرض، لیست پستی پیکربندیشده برای مخزن Git فعلی انتخاب خواهد شد.
acl delete <ID>
acl list [list] [options...]
گزینهها عبارتند از:
--count <int>
archive [list] [options...]
گزینهها عبارتند از:
-d, --days <int>
create <name> [options...]
گزینهها عبارتند از:
--stdin
-v, --visibility <string>
delete [list] [options...]
گزینهها عبارتند از:
-y, --yes
list [owner] [options...]
گزینهها عبارتند از:
--count <int>
patchset apply <ID>
patchset list [list] [options...]
گزینهها عبارتند از:
--count <int>
-s, --status <string>
-u, --user
patchset show <ID>
patchset update <ID>
گزینهها عبارتند از:
-s, --status <string>
preferences show
preferences update [options...]
گزینهها عبارتند از:.PP -c, --copy-self <boolean>
subscribe [list]
subscriptions [options...]
گزینهها عبارتند از:
--count <int>
unsubscribe [list]
update [list] [options...]
گزینهها عبارتند از:
--description
-v, --visibility <string>
user-webhook create [options...]
گزینهها عبارتند از:
-e, --events <strings...>
--stdin
-q, --query <string>
-u, --url <URL>
user-webhook delete <ID>
user-webhook list [options...]
گزینهها عبارتند از:
--count <int>
webhook create [list] [options...]
گزینهها عبارتند از:
-e, --events <strings...>
--stdin
-q, --query <string>
-u, --url <URL>
webhook delete <ID>
webhook list [list] [options...]
گزینهها عبارتند از:
--count <int>
audit-log [گزینهها...]
گزینهها عبارتند از:
--count <int>
oauth tokens
pgp-key create [path]
کلید عمومی باید در قالب armored باشد.
اگر path مشخص نشده باشد، از کلید عمومی پیشفرض موجود در دستهکلید GPG محلی استفاده میشود.
pgp-key delete <ID>
pgp-key list [username] [گزینهها...]
گزینهها عبارتند از:
--count <int>
-r, --raw
show [username]
اگر username مشخص نشده باشد، نمایه شما نمایش داده میشود.
ssh-key create [path]
اگر path مشخص نشده باشد، از کلید عمومی پیشفرض SSH استفاده میشود.
ssh-key delete <ID>
ssh-key list [username] [گزینهها...]
گزینهها عبارتند از:
--count <int>
-r, --raw
update [گزینهها...]
گزینهها عبارتند از:
--avatar
--bio
--email <string>
--location <string>
--pronouns <string>
--url <string>
user-webhook create [گزینهها...]
گزینهها عبارتند از:
-e, --events <strings...>
--stdin
-q, --query <string>
-u, --url <URL>
user-webhook delete <ID>
user-webhook list [گزینهها...]
گزینهها عبارتند از:
--count <int>
acl delete <ID>
acl list [options...]
گزینهها عبارتاند از:
--count <int>
-d, --domain <string>
-p, --protocol <string>
acl update <user> [options...]
گزینهها عبارتاند از:
--id <ID>
--publish
list [options...]
گزینهها عبارتاند از:
--count <int>
publish [file] [options...]
فایل ورودی file میتواند یک بایگانی tar فشردهشده با gzip یا یک دایرکتوری باشد. اگر file مشخص نشود، از ورودی استاندارد استفاده میشود.
گزینهها عبارتاند از:
-d, --domain <string>
-p, --protocol <string>
--site-config <string>
-s, --subdirectory <string>
unpublish [options...]
گزینهها عبارتاند از:
-d, --domain <string>
-p, --protocol <string>
user-webhook create [options...]
گزینهها عبارتاند از:
-e, --events <strings...>
--stdin
-q, --query <string>
-u, --url <URL>
user-webhook delete <ID>
user-webhook list [options...]
گزینهها عبارتاند از:
--count <int>
create <filenames...>
گزینهها عبارتند از:
-v, --visibility <string>
-n, --name <string>
delete <IDs...>
list [options...]
گزینهها عبارتند از:
--count <int>
show <ID>
update <ID> [options...]
گزینهها عبارتند از:
-v, --visibility <string>
user-webhook create [options...]
گزینهها عبارتند از:
-e, --events <strings...>
--stdin
-q, --query <string>
-u, --url <URL>
user-webhook delete <ID>
user-webhook list [options...]
گزینهها عبارتند از:
--count <int>
todo
گزینهها عبارتند از:
acl delete <ID>
acl list [tracker] [options...]
گزینهها عبارتند از:
--count <int>
create <name> [options...]
گزینهها عبارتند از:
--stdin
-v, --visibility <string>
delete [tracker] [options...]
گزینهها عبارتند از:
-y, --yes
label create <name> [options...]
گزینهها عبارتند از:
-b, --background
-f, --foreground
label delete <name>
label list [options...]
گزینهها عبارتند از:
--count <int>
label update <name> [options...]
گزینهها عبارتند از:
-b, --background
-f, --foreground
list [owner] [options...]
گزینهها عبارتند از:
--count <int>
preferences show
preferences update [options...]
گزینهها عبارتند از:
-n, --notify-self <boolean>
subscribe [tracker]
ticket assign <ID> [options...]
گزینهها عبارتند از:
-u, --user
ticket comment <ID> [options...]
گزینهها عبارتند از:
-r, --resolution
-s, --status
--stdin
ticket create [options...]
گزینهها عبارتند از:
--stdin
ticket delete <ID> [options...]
گزینهها عبارتند از:
-y, --yes
ticket edit <ID>
ticket label <ID> [options...]
گزینهها عبارتند از:
-l, --label <name>
ticket list [options...]
گزینهها عبارتند از:
--count <int>
-s, --status <string>
ticket show <ID> [options...]
گزینهها عبارتند از:
--web
ticket subscribe <ID>
ticket unassign <ID> [options...]
گزینهها عبارتند از:
-u, --user
ticket unlabel <ID> [options...]
گزینهها عبارتند از:
-l, --label <name>
ticket unsubscribe <ID>
ticket update-status <ID> [options...]
گزینهها عبارتند از:
-r, --resolution
-s, --status
ticket webhook create <ID> [options...]
-e, --events <strings...>
--stdin
-q, --query <string>
-u, --url <URL>
ticket webhook delete <ID>
ticket webhook list <ID> [options...]
گزینهها:
--count <int>
unsubscribe [tracker]
update [tracker] [options...]
گزینهها:
--description
-n, --name <string>
-v, --visibility <string>
user-webhook create [options...]
گزینهها:
-e, --events <strings...>
--stdin
-q, --query <string>
-u, --url <URL>
user-webhook delete <ID>
user-webhook list [options...]
گزینهها:
--count <int>
webhook create [tracker] [options...]
گزینهها:
-e, --events <strings...>
--stdin
-q, --query <string>
-u, --url <URL>
webhook delete <ID>
webhook list [tracker] [options...]
گزینهها:
--count <int>
یک توکن دسترسی OAuth2 جدید در meta.sr.ht ایجاد کنید.
در هنگام راهاندازی، hut به دنبال فایلی در مسیر $XDG_CONFIG_HOME/hut/config میگردد. در صورت عدم تنظیم، مقدار پیشفرض $XDG_CONFIG_HOME برابر با ~/.config/ خواهد بود.
instance "sourcehut" {
# Set the origin/common domain for the instance.
origin "sr.ht"
access-token "<token>"
# As an alternative you can specify a command whose first line of output
# will be parsed as the token
access-token-cmd pass token
meta {
# You can set the origin for each service. As fallback hut will
# construct the origin from the instance name and the service.
origin "https://meta.sr.ht"
}
}
فایل پیکربندی پروژه (PROJECT CONFIGURATION FILE)
فایل پیکربندی پروژه، فایلی در بالاترین سطح یک مخزن به نام .hut.scfg است که در آن میتوان ردیاب (tracker) و فهرست ایمیل توسعه مرتبط را مشخص کرد. این منابع هر زمان که دستوری فراخوانی شود که به ردیاب یا فهرست ایمیل نیاز دارد و هیچ موردی بهطور صریح تنظیم نشده باشد، استفاده خواهند شد. علاوه بر این، امکان پیکربندی این مورد وجود دارد که وصلهها حاوی نام مخزن در پیشوند خود باشند. دستور hut git clone مخزن تازه کلونشده را بهگونهای پیکربندی میکند که مشارکت آسانتر شود.
tracker https://todo.sr.ht/~xenrox/hut development-mailing-list ~xenrox/hut-dev@lists.sr.ht patch-prefix false
نویسندگان (AUTHORS)
در ابتدا توسط Simon Ser <contact@emersion.fr> نوشته شده است. در حال حاضر توسط Thorben Günther <admin@xenrox.net> نگهداری میشود که توسط سایر مشارکتکنندگان متنباز یاری میگردد. برای اطلاعات بیشتر درباره توسعه hut، به https://sr.ht/~xenrox/hut مراجعه کنید.
| 2026-03-28 |