commit 03dc1f08ec6008ea7e429a3470827d04bc451f67 Author: kozyax Date: Mon Jun 8 17:22:57 2026 +0800 🎉 初始提交 - 2026/6/8 diff --git a/custom/conf/app.ini b/custom/conf/app.ini new file mode 100644 index 0000000..90b994d --- /dev/null +++ b/custom/conf/app.ini @@ -0,0 +1,59 @@ +WORK_PATH = C:\Users\47353\Downloads\Git + +; Gitea Configuration - Initial Setup +; مۇلازىمېتىر تەڭشىكى +[database] +DB_TYPE = sqlite3 +PATH = data/gitea.db + +[repository] +ROOT = data/repositories + +[server] +DOMAIN = git.kozyax.vip +ROOT_URL = https://git.kozyax.vip/ +HTTP_PORT = 3000 +SSH_PORT = 22 +SSH_DOMAIN = git.kozyax.vip +LOCAL_ROOT_URL = http://localhost:3000/ +OFFLINE_MODE = false +DISABLE_SSH = false +START_SSH_SERVER = true +LFS_START_SERVER = true +LFS_JWT_SECRET = oR_zopTG614b6HRap3QZbkIGkrXGEI74DoNTDLv_6pk + +[lfs] +PATH = data/lfs + +[security] +INSTALL_LOCK = true +INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE3ODA4OTc4NDl9.5UIy8hrw6CHNuqzI-vzEnvdiPzkFYqPEL3GJ5VzsZ7o + +[service] +REGISTER_EMAIL_CONFIRM = false +ENABLE_NOTIFY_MAIL = false +DISABLE_REGISTRATION = false +ENABLE_CAPTCHA = false +REQUIRE_SIGNIN_VIEW = false + +[log] +MODE = file +LEVEL = Info +ROOT_PATH = log + +[i18n] +LANGS = zh-CN,en-US,zh-TW +NAMES = 简体中文,English,繁體中文 + +[ui] +DEFAULT_THEME = gitea +THEMES = gitea,arc-green +DEFAULT_LANGUAGE = zh-CN + +[other] +SHOW_FOOTER_BRANDING = false +SHOW_FOOTER_VERSION = true +SHOW_FOOTER_TEMPLATE_LOAD_TIME = true + +[oauth2] +JWT_SECRET = _HWZGBS4B1yZ74tNTNkcsOx8Vz5ZYETie1ekBwP4beg diff --git a/data/avatars/3c4c941990c3da451702be28ee30b547 b/data/avatars/3c4c941990c3da451702be28ee30b547 new file mode 100644 index 0000000..8b65d5b Binary files /dev/null and b/data/avatars/3c4c941990c3da451702be28ee30b547 differ diff --git a/data/gitea.db b/data/gitea.db new file mode 100644 index 0000000..037e0cf Binary files /dev/null and b/data/gitea.db differ diff --git a/data/home/.gitconfig b/data/home/.gitconfig new file mode 100644 index 0000000..f49b4d6 --- /dev/null +++ b/data/home/.gitconfig @@ -0,0 +1,23 @@ +[diff] + algorithm = histogram +[core] + logallrefupdates = true + quotePath = false + commitGraph = true + longpaths = true +[gc] + reflogexpire = 90 + writeCommitGraph = true +[user] + email = gitea@fake.local + name = Gitea +[receive] + advertisePushOptions = true + procReceiveRefs = refs/for +[fetch] + writeCommitGraph = true +[safe] + directory = * +[uploadpack] + allowfilter = true + allowAnySHA1InWant = true diff --git a/data/indexers/issues.bleve/index_meta.json b/data/indexers/issues.bleve/index_meta.json new file mode 100644 index 0000000..5dc3405 --- /dev/null +++ b/data/indexers/issues.bleve/index_meta.json @@ -0,0 +1 @@ +{"storage":"boltdb","index_type":"scorch"} \ No newline at end of file diff --git a/data/indexers/issues.bleve/rupture_meta.json b/data/indexers/issues.bleve/rupture_meta.json new file mode 100644 index 0000000..978d526 --- /dev/null +++ b/data/indexers/issues.bleve/rupture_meta.json @@ -0,0 +1 @@ +{"version":5} \ No newline at end of file diff --git a/data/indexers/issues.bleve/store/root.bolt b/data/indexers/issues.bleve/store/root.bolt new file mode 100644 index 0000000..f5cc29a Binary files /dev/null and b/data/indexers/issues.bleve/store/root.bolt differ diff --git a/data/jwt/private.pem b/data/jwt/private.pem new file mode 100644 index 0000000..f637814 --- /dev/null +++ b/data/jwt/private.pem @@ -0,0 +1,52 @@ +-----BEGIN PRIVATE KEY----- +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 +lzRHwhtWzejsaizE1D6KMeiTaWo0KTbV +-----END PRIVATE KEY----- diff --git a/data/queues/common/000002.ldb b/data/queues/common/000002.ldb new file mode 100644 index 0000000..2945ce5 Binary files /dev/null and b/data/queues/common/000002.ldb differ diff --git a/data/queues/common/000005.log b/data/queues/common/000005.log new file mode 100644 index 0000000..e69de29 diff --git a/data/queues/common/CURRENT b/data/queues/common/CURRENT new file mode 100644 index 0000000..f7753e2 --- /dev/null +++ b/data/queues/common/CURRENT @@ -0,0 +1 @@ +MANIFEST-000006 diff --git a/data/queues/common/CURRENT.bak b/data/queues/common/CURRENT.bak new file mode 100644 index 0000000..cacca75 --- /dev/null +++ b/data/queues/common/CURRENT.bak @@ -0,0 +1 @@ +MANIFEST-000004 diff --git a/data/queues/common/LOCK b/data/queues/common/LOCK new file mode 100644 index 0000000..e69de29 diff --git a/data/queues/common/LOG b/data/queues/common/LOG new file mode 100644 index 0000000..874fb1a --- /dev/null +++ b/data/queues/common/LOG @@ -0,0 +1,25 @@ +=============== Jun 8, 2026 (CST) =============== +13:50:50.870474 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed +13:50:50.876488 db@open opening +13:50:50.877013 version@stat F·[] S·0B[] Sc·[] +13:50:50.881272 db@janitor F·2 G·0 +13:50:50.881272 db@open done T·4.784ms +=============== Jun 8, 2026 (CST) =============== +13:53:53.739813 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed +13:53:53.739813 version@stat F·[] S·0B[] Sc·[] +13:53:53.739813 db@open opening +13:53:53.739813 journal@recovery F·1 +13:53:53.739813 journal@recovery recovering @1 +13:53:53.746589 memdb@flush created L0@2 N·28 S·574B "act..igh,v28":"web..low,v19" +13:53:53.747664 version@stat F·[1] S·574B[574B] Sc·[0.25] +13:53:53.758231 db@janitor F·3 G·0 +13:53:53.758231 db@open done T·18.4185ms +=============== Jun 8, 2026 (CST) =============== +13:56:15.736815 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed +13:56:15.737818 version@stat F·[1] S·574B[574B] Sc·[0.25] +13:56:15.737818 db@open opening +13:56:15.737818 journal@recovery F·1 +13:56:15.737818 journal@recovery recovering @3 +13:56:15.739816 version@stat F·[1] S·574B[574B] Sc·[0.25] +13:56:15.753860 db@janitor F·3 G·0 +13:56:15.753860 db@open done T·16.0425ms diff --git a/data/queues/common/MANIFEST-000006 b/data/queues/common/MANIFEST-000006 new file mode 100644 index 0000000..5c29f71 Binary files /dev/null and b/data/queues/common/MANIFEST-000006 differ diff --git a/data/repositories/kozyax/sinak.git/HEAD b/data/repositories/kozyax/sinak.git/HEAD new file mode 100644 index 0000000..b870d82 --- /dev/null +++ b/data/repositories/kozyax/sinak.git/HEAD @@ -0,0 +1 @@ +ref: refs/heads/main diff --git a/data/repositories/kozyax/sinak.git/config b/data/repositories/kozyax/sinak.git/config new file mode 100644 index 0000000..64280b8 --- /dev/null +++ b/data/repositories/kozyax/sinak.git/config @@ -0,0 +1,6 @@ +[core] + repositoryformatversion = 0 + filemode = false + bare = true + symlinks = false + ignorecase = true diff --git a/data/repositories/kozyax/sinak.git/description b/data/repositories/kozyax/sinak.git/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/data/repositories/kozyax/sinak.git/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/data/repositories/kozyax/sinak.git/git-daemon-export-ok b/data/repositories/kozyax/sinak.git/git-daemon-export-ok new file mode 100644 index 0000000..e69de29 diff --git a/data/repositories/kozyax/sinak.git/hooks/applypatch-msg.sample b/data/repositories/kozyax/sinak.git/hooks/applypatch-msg.sample new file mode 100644 index 0000000..a5d7b84 --- /dev/null +++ b/data/repositories/kozyax/sinak.git/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/data/repositories/kozyax/sinak.git/hooks/commit-msg.sample b/data/repositories/kozyax/sinak.git/hooks/commit-msg.sample new file mode 100644 index 0000000..f7458ef --- /dev/null +++ b/data/repositories/kozyax/sinak.git/hooks/commit-msg.sample @@ -0,0 +1,74 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines and messages that +# would confuse 'git am'. + +ret=0 + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + ret=1 +} + +comment_re="$( + { + git config --get-regexp "^core\.comment(char|string)\$" || + echo '#' + } | sed -n -e ' + ${ + s/^[^ ]* // + s|[][*./\]|\\&|g + s/^auto$/[#;@!$%^&|:]/ + p + }' +)" +scissors_line="^${comment_re} -\{8,\} >8 -\{8,\}\$" +comment_line="^${comment_re}.*" +blank_line='^[ ]*$' +# Disallow lines starting with "diff -" or "Index: " in the body of the +# message. Stop looking if we see a scissors line. +line="$(sed -n -e " + # Skip comments and blank lines at the start of the file. + /${scissors_line}/q + /${comment_line}/d + /${blank_line}/d + # The first paragraph will become the subject header so + # does not need to be checked. + : subject + n + /${scissors_line}/q + /${blank_line}/!b subject + # Check the body of the message for problematic + # prefixes. + : body + n + /${scissors_line}/q + /${comment_line}/b body + /^diff -/{p;q;} + /^Index: /{p;q;} + b body + " "$1")" +if test -n "$line" +then + echo >&2 "Message contains a diff that will confuse 'git am'." + echo >&2 "To fix this indent the diff." + ret=1 +fi + +exit $ret diff --git a/data/repositories/kozyax/sinak.git/hooks/fsmonitor-watchman.sample b/data/repositories/kozyax/sinak.git/hooks/fsmonitor-watchman.sample new file mode 100644 index 0000000..429e0a5 --- /dev/null +++ b/data/repositories/kozyax/sinak.git/hooks/fsmonitor-watchman.sample @@ -0,0 +1,168 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + my $last_update_line = ""; + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + $last_update_line = qq[\n"since": $last_update_token,]; + } + my $query = <<" END"; + ["query", "$git_work_tree", {$last_update_line + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $o->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/data/repositories/kozyax/sinak.git/hooks/post-receive b/data/repositories/kozyax/sinak.git/hooks/post-receive new file mode 100644 index 0000000..80ae570 --- /dev/null +++ b/data/repositories/kozyax/sinak.git/hooks/post-receive @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +# AUTO GENERATED BY GITEA, DO NOT MODIFY +data=$(cat) +exitcodes="" +hookname=$(basename $0) +GIT_DIR=${GIT_DIR:-$(dirname $0)/..} + +for hook in ${GIT_DIR}/hooks/${hookname}.d/*; do + test -x "${hook}" && test -f "${hook}" || continue + echo "${data}" | "${hook}" + exitcodes="${exitcodes} $?" +done + +for i in ${exitcodes}; do + [ ${i} -eq 0 ] || exit ${i} +done diff --git a/data/repositories/kozyax/sinak.git/hooks/post-receive.d/gitea b/data/repositories/kozyax/sinak.git/hooks/post-receive.d/gitea new file mode 100644 index 0000000..481bdd2 --- /dev/null +++ b/data/repositories/kozyax/sinak.git/hooks/post-receive.d/gitea @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +# AUTO GENERATED BY GITEA, DO NOT MODIFY +C:/Users/47353/Downloads/Git/gitea.exe hook --config="C:\\Users\\47353\\Downloads\\Git\\custom\\conf\\app.ini" post-receive diff --git a/data/repositories/kozyax/sinak.git/hooks/post-update.sample b/data/repositories/kozyax/sinak.git/hooks/post-update.sample new file mode 100644 index 0000000..ec17ec1 --- /dev/null +++ b/data/repositories/kozyax/sinak.git/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/data/repositories/kozyax/sinak.git/hooks/pre-applypatch.sample b/data/repositories/kozyax/sinak.git/hooks/pre-applypatch.sample new file mode 100644 index 0000000..4142082 --- /dev/null +++ b/data/repositories/kozyax/sinak.git/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/data/repositories/kozyax/sinak.git/hooks/pre-commit.sample b/data/repositories/kozyax/sinak.git/hooks/pre-commit.sample new file mode 100644 index 0000000..29ed5ee --- /dev/null +++ b/data/repositories/kozyax/sinak.git/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff-index --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/data/repositories/kozyax/sinak.git/hooks/pre-merge-commit.sample b/data/repositories/kozyax/sinak.git/hooks/pre-merge-commit.sample new file mode 100644 index 0000000..399eab1 --- /dev/null +++ b/data/repositories/kozyax/sinak.git/hooks/pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/data/repositories/kozyax/sinak.git/hooks/pre-push.sample b/data/repositories/kozyax/sinak.git/hooks/pre-push.sample new file mode 100644 index 0000000..4ce688d --- /dev/null +++ b/data/repositories/kozyax/sinak.git/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/data/repositories/kozyax/sinak.git/hooks/pre-rebase.sample b/data/repositories/kozyax/sinak.git/hooks/pre-rebase.sample new file mode 100644 index 0000000..6cbef5c --- /dev/null +++ b/data/repositories/kozyax/sinak.git/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/data/repositories/kozyax/sinak.git/hooks/pre-receive b/data/repositories/kozyax/sinak.git/hooks/pre-receive new file mode 100644 index 0000000..80ae570 --- /dev/null +++ b/data/repositories/kozyax/sinak.git/hooks/pre-receive @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +# AUTO GENERATED BY GITEA, DO NOT MODIFY +data=$(cat) +exitcodes="" +hookname=$(basename $0) +GIT_DIR=${GIT_DIR:-$(dirname $0)/..} + +for hook in ${GIT_DIR}/hooks/${hookname}.d/*; do + test -x "${hook}" && test -f "${hook}" || continue + echo "${data}" | "${hook}" + exitcodes="${exitcodes} $?" +done + +for i in ${exitcodes}; do + [ ${i} -eq 0 ] || exit ${i} +done diff --git a/data/repositories/kozyax/sinak.git/hooks/pre-receive.d/gitea b/data/repositories/kozyax/sinak.git/hooks/pre-receive.d/gitea new file mode 100644 index 0000000..21226e9 --- /dev/null +++ b/data/repositories/kozyax/sinak.git/hooks/pre-receive.d/gitea @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +# AUTO GENERATED BY GITEA, DO NOT MODIFY +C:/Users/47353/Downloads/Git/gitea.exe hook --config="C:\\Users\\47353\\Downloads\\Git\\custom\\conf\\app.ini" pre-receive diff --git a/data/repositories/kozyax/sinak.git/hooks/pre-receive.sample b/data/repositories/kozyax/sinak.git/hooks/pre-receive.sample new file mode 100644 index 0000000..a1fd29e --- /dev/null +++ b/data/repositories/kozyax/sinak.git/hooks/pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/data/repositories/kozyax/sinak.git/hooks/prepare-commit-msg.sample b/data/repositories/kozyax/sinak.git/hooks/prepare-commit-msg.sample new file mode 100644 index 0000000..10fa14c --- /dev/null +++ b/data/repositories/kozyax/sinak.git/hooks/prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/data/repositories/kozyax/sinak.git/hooks/proc-receive b/data/repositories/kozyax/sinak.git/hooks/proc-receive new file mode 100644 index 0000000..a70ca85 --- /dev/null +++ b/data/repositories/kozyax/sinak.git/hooks/proc-receive @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +# AUTO GENERATED BY GITEA, DO NOT MODIFY +C:/Users/47353/Downloads/Git/gitea.exe hook --config="C:\\Users\\47353\\Downloads\\Git\\custom\\conf\\app.ini" proc-receive diff --git a/data/repositories/kozyax/sinak.git/hooks/proc-receive.d/gitea b/data/repositories/kozyax/sinak.git/hooks/proc-receive.d/gitea new file mode 100644 index 0000000..e69de29 diff --git a/data/repositories/kozyax/sinak.git/hooks/push-to-checkout.sample b/data/repositories/kozyax/sinak.git/hooks/push-to-checkout.sample new file mode 100644 index 0000000..af5a0c0 --- /dev/null +++ b/data/repositories/kozyax/sinak.git/hooks/push-to-checkout.sample @@ -0,0 +1,78 @@ +#!/bin/sh + +# An example hook script to update a checked-out tree on a git push. +# +# This hook is invoked by git-receive-pack(1) when it reacts to git +# push and updates reference(s) in its repository, and when the push +# tries to update the branch that is currently checked out and the +# receive.denyCurrentBranch configuration variable is set to +# updateInstead. +# +# By default, such a push is refused if the working tree and the index +# of the remote repository has any difference from the currently +# checked out commit; when both the working tree and the index match +# the current commit, they are updated to match the newly pushed tip +# of the branch. This hook is to be used to override the default +# behaviour; however the code below reimplements the default behaviour +# as a starting point for convenient modification. +# +# The hook receives the commit with which the tip of the current +# branch is going to be updated: +commit=$1 + +# It can exit with a non-zero status to refuse the push (when it does +# so, it must not modify the index or the working tree). +die () { + echo >&2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 + exit 1 +} + +unset GIT_DIR GIT_WORK_TREE +cd "$worktree" && + +if grep -q "^diff --git " "$1" +then + validate_patch "$1" +else + validate_cover_letter "$1" +fi && + +if test "$GIT_SENDEMAIL_FILE_COUNTER" = "$GIT_SENDEMAIL_FILE_TOTAL" +then + git config --unset-all sendemail.validateWorktree && + trap 'git worktree remove -ff "$worktree"' EXIT && + validate_series +fi diff --git a/data/repositories/kozyax/sinak.git/hooks/update b/data/repositories/kozyax/sinak.git/hooks/update new file mode 100644 index 0000000..b3570b0 --- /dev/null +++ b/data/repositories/kozyax/sinak.git/hooks/update @@ -0,0 +1,15 @@ +#!/usr/bin/env bash +# AUTO GENERATED BY GITEA, DO NOT MODIFY +exitcodes="" +hookname=$(basename $0) +GIT_DIR=${GIT_DIR:-$(dirname $0/..)} + +for hook in ${GIT_DIR}/hooks/${hookname}.d/*; do + test -x "${hook}" && test -f "${hook}" || continue + "${hook}" $1 $2 $3 + exitcodes="${exitcodes} $?" +done + +for i in ${exitcodes}; do + [ ${i} -eq 0 ] || exit ${i} +done diff --git a/data/repositories/kozyax/sinak.git/hooks/update.d/gitea b/data/repositories/kozyax/sinak.git/hooks/update.d/gitea new file mode 100644 index 0000000..dcf10e3 --- /dev/null +++ b/data/repositories/kozyax/sinak.git/hooks/update.d/gitea @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +# AUTO GENERATED BY GITEA, DO NOT MODIFY +C:/Users/47353/Downloads/Git/gitea.exe hook --config="C:\\Users\\47353\\Downloads\\Git\\custom\\conf\\app.ini" update $1 $2 $3 diff --git a/data/repositories/kozyax/sinak.git/hooks/update.sample b/data/repositories/kozyax/sinak.git/hooks/update.sample new file mode 100644 index 0000000..c4d426b --- /dev/null +++ b/data/repositories/kozyax/sinak.git/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to block unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/data/repositories/kozyax/sinak.git/info/exclude b/data/repositories/kozyax/sinak.git/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/data/repositories/kozyax/sinak.git/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/data/repositories/kozyax/sinak.git/info/refs b/data/repositories/kozyax/sinak.git/info/refs new file mode 100644 index 0000000..e69de29 diff --git a/data/repositories/kozyax/sinak.git/objects/info/packs b/data/repositories/kozyax/sinak.git/objects/info/packs new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/data/repositories/kozyax/sinak.git/objects/info/packs @@ -0,0 +1 @@ + diff --git a/data/ssh/gitea.rsa b/data/ssh/gitea.rsa new file mode 100644 index 0000000..9dfaa8a --- /dev/null +++ b/data/ssh/gitea.rsa @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +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 +-----END RSA PRIVATE KEY----- diff --git a/data/ssh/gitea.rsa.pub b/data/ssh/gitea.rsa.pub new file mode 100644 index 0000000..9a2663f --- /dev/null +++ b/data/ssh/gitea.rsa.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCn81WrX5SLlg48SnP94pBS6cFkwKCptH7TQLwR9yngmnL2Zxs3b7KcGBCMoTT8nHe0wcxhQ+drA2srB2JQYvC8f/1LHBcSV/S+GcHwzAYaF5lol18y9kNi4e5SAffCgDPdxYdllw+pLIpeWG58hQLIAipILN4zQTgeuDDPPGqWMSlQ9fG6ockjGwuJXzvjiF0Ro0DL/s/RR/iHQFelWDMNzbmbD2d4x8iKPxUzIaItH4lLP0WdQvb6teIwRuAIs0ZUMg2jwrNAOUpSUr7qebDsYX/KS6aOrqenyrgNhUIDhkc50fFX+W46gn+VhGx13q8kv/pgYvS29gu1tsaWXtO8CBQ5T6TiaU1X+XfuTwW01llkO5BXjXLuRPVpjh+zoFVurYa06f+TcwJbwLZRV5TDy25NPr6cKIMwr390bdtsNe57auMkSNGA0mOK7hRcOtKaGMyu0vnlvQZwL0TjU7UPt7V/jyjlvVLw4T3hUT8xMD81G9lpZ9AK+uZTJhOk7M11utDwYjGGrPcqAuK8bRscrvj1fKtjUKvfnRVJLMLHMAseAejLX7Q0b/PpQgggRFYHQwLi2OyJaodLMCSeSse1+gPJCmNYBGUJpq3I4Z6YQGaw0uQ31xnjQEdLXyRu/5TDKimvYnPUkaMlk5Hy8owptl8SmfohdjthOA/BAs8tQw== diff --git a/gitea.exe b/gitea.exe new file mode 100644 index 0000000..ffd23aa Binary files /dev/null and b/gitea.exe differ diff --git a/log/gitea.log b/log/gitea.log new file mode 100644 index 0000000..0028392 --- /dev/null +++ b/log/gitea.log @@ -0,0 +1,229 @@ +2026/06/08 13:50:50 ...s/storage/storage.go:176:initAttachments() [I] Initialising Attachment storage with type: local +2026/06/08 13:50:50 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\attachments +2026/06/08 13:50:50 ...s/storage/storage.go:166:initAvatars() [I] Initialising Avatar storage with type: local +2026/06/08 13:50:50 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\avatars +2026/06/08 13:50:50 ...s/storage/storage.go:192:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local +2026/06/08 13:50:50 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\repo-avatars +2026/06/08 13:50:50 ...s/storage/storage.go:186:initLFS() [I] Initialising LFS storage with type: local +2026/06/08 13:50:50 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\data\lfs +2026/06/08 13:50:50 ...s/storage/storage.go:198:initRepoArchives() [I] Initialising Repository Archive storage with type: local +2026/06/08 13:50:50 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\repo-archive +2026/06/08 13:50:50 ...s/storage/storage.go:208:initPackages() [I] Initialising Packages storage with type: local +2026/06/08 13:50:50 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\packages +2026/06/08 13:50:50 ...s/storage/storage.go:219:initActions() [I] Initialising Actions storage with type: local +2026/06/08 13:50:50 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\actions_log +2026/06/08 13:50:50 ...s/storage/storage.go:223:initActions() [I] Initialising ActionsArtifacts storage with type: local +2026/06/08 13:50:50 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\actions_artifacts +2026/06/08 13:50:50 routers/init.go:139:InitWebInstalled() [I] SQLite3 support is enabled +2026/06/08 13:50:50 routers/common/db.go:23:InitDBEngine() [I] Beginning ORM engine initialization. +2026/06/08 13:50:50 routers/common/db.go:30:InitDBEngine() [I] ORM engine initialization attempt #1/10... +2026/06/08 13:50:50 cmd/web.go:205:serveInstalled() [I] PING DATABASE sqlite3 +2026/06/08 13:50:54 routers/init.go:145:InitWebInstalled() [I] ORM engine initialization successful! +2026/06/08 13:50:54 ...er/issues/indexer.go:76:func1() [I] PID 18396: Initializing Issue Indexer: bleve +2026/06/08 13:50:54 ...xer/stats/indexer.go:41:populateRepoIndexer() [I] Populating the repo stats indexer with existing repositories +2026/06/08 13:50:54 routers/init.go:86:syncAppConfForGit() [I] AppPath changed from '' to 'C:/Users/47353/Downloads/Git/gitea.exe' +2026/06/08 13:50:54 routers/init.go:91:syncAppConfForGit() [I] CustomConf changed from '' to 'C:\Users\47353\Downloads\Git\custom\conf\app.ini' +2026/06/08 13:50:54 routers/init.go:97:syncAppConfForGit() [I] re-sync repository hooks ... +2026/06/08 13:50:54 routers/init.go:100:syncAppConfForGit() [I] re-write ssh public keys ... +2026/06/08 13:50:54 ...er/issues/indexer.go:153:func2() [I] Issue Indexer Initialization took 14.903ms +2026/06/08 13:50:55 modules/ssh/ssh.go:385:Listen() [I] Adding SSH host key: C:\Users\47353\Downloads\Git\data\ssh\gitea.rsa +2026/06/08 13:50:55 modules/ssh/init.go:26:Init() [I] SSH server started on :22. Cipher list ([chacha20-poly1305@openssh.com aes128-ctr aes192-ctr aes256-ctr aes128-gcm@openssh.com aes256-gcm@openssh.com]), key exchange algorithms ([curve25519-sha256 ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 diffie-hellman-group14-sha256 diffie-hellman-group14-sha1]), MACs ([hmac-sha2-256-etm@openssh.com hmac-sha2-256 hmac-sha1]) +2026/06/08 13:50:55 ...s/graceful/server.go:50:NewServer() [I] Starting new SSH server: tcp::22 on PID: 18396 +2026/06/08 13:50:56 cmd/web.go:315:listen() [I] Listen: http://0.0.0.0:3000 +2026/06/08 13:50:56 cmd/web.go:319:listen() [I] AppURL(ROOT_URL): http://localhost:3000/ +2026/06/08 13:50:56 cmd/web.go:322:listen() [I] LFS server enabled +2026/06/08 13:50:56 ...s/graceful/server.go:50:NewServer() [I] Starting new Web server: tcp:0.0.0.0:3000 on PID: 18396 +2026/06/08 13:51:08 ...eb/routing/logger.go:102:func1() [I] router: completed GET / for [::1]:51681, 200 OK in 4.2ms @ web/home.go:32(web.Home) +2026/06/08 13:51:14 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/sign_up for [::1]:51683, 200 OK in 1.6ms @ auth/auth.go:412(auth.SignUp) +2026/06/08 13:51:15 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/sign_up for [::1]:51683, 200 OK in 1.8ms @ auth/auth.go:412(auth.SignUp) +2026/06/08 13:51:15 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/sign_up for [::1]:51683, 200 OK in 1.1ms @ auth/auth.go:412(auth.SignUp) +2026/06/08 13:51:47 ...eb/routing/logger.go:102:func1() [I] router: completed POST /user/sign_up for [::1]:51683, 303 See Other in 44.0ms @ auth/auth.go:440(auth.SignUpPost) +2026/06/08 13:51:47 ...eb/routing/logger.go:102:func1() [I] router: completed GET / for [::1]:51683, 200 OK in 27.5ms @ web/home.go:32(web.Home) +2026/06/08 13:51:47 ...eb/routing/logger.go:102:func1() [I] router: completed GET /repo/search?count_only=1&uid=1&team_id=undefined&q=&page=1&mode= for [::1]:51683, 200 OK in 1.1ms @ repo/repo.go:573(repo.SearchRepo) +2026/06/08 13:51:47 ...eb/routing/logger.go:102:func1() [I] router: completed GET /repo/search?sort=updated&order=desc&uid=1&team_id=undefined&q=&page=1&limit=15&mode=&archived=false for [::1]:51681, 200 OK in 3.2ms @ repo/repo.go:573(repo.SearchRepo) +2026/06/08 13:51:47 ...eb/routing/logger.go:102:func1() [I] router: completed GET /avatars/3c4c941990c3da451702be28ee30b547?size=48 for [::1]:51683, 200 OK in 33.5ms @ web/base.go:22(avatars) +2026/06/08 13:51:51 ...eb/routing/logger.go:68:func1() [I] router: polling GET /user/events for [::1]:51682, elapsed 3930.0ms @ events/events.go:18(events.Events) +2026/06/08 13:52:28 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:51682, 200 OK in 40687.5ms @ events/events.go:18(events.Events) +2026/06/08 13:52:28 ...eb/routing/logger.go:102:func1() [I] router: completed GET /kozyax for [::1]:51683, 200 OK in 9.7ms @ user/home.go:716(user.UsernameSubRoute) +2026/06/08 13:52:28 ...eb/routing/logger.go:102:func1() [I] router: completed GET /avatars/3c4c941990c3da451702be28ee30b547?size=512 for [::1]:51683, 200 OK in 0.0ms @ web/base.go:22(avatars) +2026/06/08 13:52:29 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:51683, 200 OK in 1342.8ms @ events/events.go:18(events.Events) +2026/06/08 13:52:29 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings for [::1]:51681, 200 OK in 3.9ms @ setting/profile.go:45(setting.Profile) +2026/06/08 13:52:33 ...eb/routing/logger.go:68:func1() [I] router: polling GET /user/events for [::1]:51681, elapsed 3787.7ms @ events/events.go:18(events.Events) +2026/06/08 13:52:43 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:51681, 200 OK in 13197.3ms @ events/events.go:18(events.Events) +2026/06/08 13:52:43 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings/account for [::1]:51937, 200 OK in 3.4ms @ setting/account.go:36(setting.Account) +2026/06/08 13:52:45 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:51937, 200 OK in 1952.3ms @ events/events.go:18(events.Events) +2026/06/08 13:52:45 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings/appearance for [::1]:51940, 200 OK in 4.0ms @ setting/profile.go:338(setting.Appearance) +2026/06/08 13:52:45 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:51940, 200 OK in 868.9ms @ events/events.go:18(events.Events) +2026/06/08 13:52:45 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings/security for [::1]:51943, 200 OK in 3.4ms @ security/security.go:27(security.Security) +2026/06/08 13:52:46 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:51943, 200 OK in 978.3ms @ events/events.go:18(events.Events) +2026/06/08 13:52:46 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings/blocked_users for [::1]:51946, 200 OK in 3.1ms @ setting/block.go:20(setting.BlockedUsers) +2026/06/08 13:52:47 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:51946, 200 OK in 810.1ms @ events/events.go:18(events.Events) +2026/06/08 13:52:47 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings/keys for [::1]:51949, 200 OK in 4.6ms @ setting/keys.go:27(setting.Keys) +2026/06/08 13:52:48 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:51949, 200 OK in 567.3ms @ events/events.go:18(events.Events) +2026/06/08 13:52:48 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings/applications for [::1]:51951, 200 OK in 5.0ms @ setting/applications.go:25(setting.Applications) +2026/06/08 13:52:51 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:51951, 200 OK in 2801.3ms @ events/events.go:18(events.Events) +2026/06/08 13:52:51 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings/packages for [::1]:51958, 200 OK in 2.6ms @ setting/packages.go:25(setting.Packages) +2026/06/08 13:52:51 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:51958, 200 OK in 705.9ms @ events/events.go:18(events.Events) +2026/06/08 13:52:52 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings/hooks for [::1]:51961, 200 OK in 5.1ms @ setting/webhooks.go:22(setting.Webhooks) +2026/06/08 13:52:52 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:51965, 200 OK in 692.4ms @ events/events.go:18(events.Events) +2026/06/08 13:52:52 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings/organization for [::1]:51963, 200 OK in 3.3ms @ setting/profile.go:199(setting.Organization) +2026/06/08 13:52:54 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:51963, 200 OK in 1303.7ms @ events/events.go:18(events.Events) +2026/06/08 13:52:54 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings/repos for [::1]:51964, 200 OK in 3.3ms @ setting/profile.go:231(setting.Repos) +2026/06/08 13:52:57 ...eb/routing/logger.go:68:func1() [I] router: polling GET /user/events for [::1]:51964, elapsed 3491.8ms @ events/events.go:18(events.Events) +2026/06/08 13:53:53 ...s/storage/storage.go:176:initAttachments() [I] Initialising Attachment storage with type: local +2026/06/08 13:53:53 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\attachments +2026/06/08 13:53:53 ...s/storage/storage.go:166:initAvatars() [I] Initialising Avatar storage with type: local +2026/06/08 13:53:53 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\avatars +2026/06/08 13:53:53 ...s/storage/storage.go:192:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local +2026/06/08 13:53:53 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\repo-avatars +2026/06/08 13:53:53 ...s/storage/storage.go:186:initLFS() [I] Initialising LFS storage with type: local +2026/06/08 13:53:53 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\data\lfs +2026/06/08 13:53:53 ...s/storage/storage.go:198:initRepoArchives() [I] Initialising Repository Archive storage with type: local +2026/06/08 13:53:53 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\repo-archive +2026/06/08 13:53:53 ...s/storage/storage.go:208:initPackages() [I] Initialising Packages storage with type: local +2026/06/08 13:53:53 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\packages +2026/06/08 13:53:53 ...s/storage/storage.go:219:initActions() [I] Initialising Actions storage with type: local +2026/06/08 13:53:53 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\actions_log +2026/06/08 13:53:53 ...s/storage/storage.go:223:initActions() [I] Initialising ActionsArtifacts storage with type: local +2026/06/08 13:53:53 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\actions_artifacts +2026/06/08 13:53:53 routers/init.go:139:InitWebInstalled() [I] SQLite3 support is enabled +2026/06/08 13:53:53 routers/common/db.go:23:InitDBEngine() [I] Beginning ORM engine initialization. +2026/06/08 13:53:53 routers/common/db.go:30:InitDBEngine() [I] ORM engine initialization attempt #1/10... +2026/06/08 13:53:53 cmd/web.go:205:serveInstalled() [I] PING DATABASE sqlite3 +2026/06/08 13:53:53 cmd/web.go:205:serveInstalled() [W] Table system_setting Column version db default is , struct default is 1 +2026/06/08 13:53:53 routers/init.go:145:InitWebInstalled() [I] ORM engine initialization successful! +2026/06/08 13:53:53 ...xer/stats/indexer.go:41:populateRepoIndexer() [I] Populating the repo stats indexer with existing repositories +2026/06/08 13:53:53 ...er/issues/indexer.go:76:func1() [I] PID 18064: Initializing Issue Indexer: bleve +2026/06/08 13:53:53 modules/ssh/ssh.go:385:Listen() [I] Adding SSH host key: C:\Users\47353\Downloads\Git\data\ssh\gitea.rsa +2026/06/08 13:53:53 modules/ssh/init.go:26:Init() [I] SSH server started on :22. Cipher list ([chacha20-poly1305@openssh.com aes128-ctr aes192-ctr aes256-ctr aes128-gcm@openssh.com aes256-gcm@openssh.com]), key exchange algorithms ([curve25519-sha256 ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 diffie-hellman-group14-sha256 diffie-hellman-group14-sha1]), MACs ([hmac-sha2-256-etm@openssh.com hmac-sha2-256 hmac-sha1]) +2026/06/08 13:53:53 ...s/graceful/server.go:50:NewServer() [I] Starting new SSH server: tcp::22 on PID: 18064 +2026/06/08 13:53:53 ...er/issues/indexer.go:153:func2() [I] Issue Indexer Initialization took 2.3724ms +2026/06/08 13:53:54 cmd/web.go:315:listen() [I] Listen: http://0.0.0.0:3000 +2026/06/08 13:53:54 cmd/web.go:319:listen() [I] AppURL(ROOT_URL): http://localhost:3000/ +2026/06/08 13:53:54 cmd/web.go:322:listen() [I] LFS server enabled +2026/06/08 13:53:54 ...s/graceful/server.go:50:NewServer() [I] Starting new Web server: tcp:0.0.0.0:3000 on PID: 18064 +2026/06/08 13:53:58 ...eb/routing/logger.go:102:func1() [I] router: completed GET / for [::1]:56738, 200 OK in 3.5ms @ web/home.go:32(web.Home) +2026/06/08 13:54:02 ...eb/routing/logger.go:102:func1() [I] router: completed GET / for [::1]:60336, 200 OK in 1.1ms @ web/home.go:32(web.Home) +2026/06/08 13:54:03 ...eb/routing/logger.go:102:func1() [I] router: completed GET /explore/repos for [::1]:60336, 200 OK in 4.0ms @ explore/repo.go:167(explore.Repos) +2026/06/08 13:54:06 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/login?redirect_to=%2fexplore%2frepos for [::1]:60336, 200 OK in 2.2ms @ auth/auth.go:180(auth.SignIn) +2026/06/08 13:54:23 ...eb/routing/logger.go:102:func1() [I] router: completed POST /user/login for [::1]:60336, 303 See Other in 24.6ms @ auth/auth.go:193(auth.SignInPost) +2026/06/08 13:54:23 .../go/src/sync/once.go:76:doSlow() [E] No theme candidate in asset files, but Gitea requires there should be at least one usable theme +2026/06/08 13:54:23 ...eb/routing/logger.go:102:func1() [I] router: completed GET /explore/repos for [::1]:60336, 200 OK in 3.8ms @ explore/repo.go:167(explore.Repos) +2026/06/08 13:54:23 ...eb/routing/logger.go:102:func1() [I] router: completed GET /avatars/3c4c941990c3da451702be28ee30b547?size=48 for [::1]:60336, 200 OK in 56.8ms @ web/base.go:22(avatars) +2026/06/08 13:54:26 ...eb/routing/logger.go:68:func1() [I] router: polling GET /user/events for [::1]:60336, elapsed 3390.9ms @ events/events.go:18(events.Events) +2026/06/08 13:54:27 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:60336, 200 OK in 4787.0ms @ events/events.go:18(events.Events) +2026/06/08 13:54:28 ...eb/routing/logger.go:102:func1() [I] router: completed GET /explore/repos for [::1]:56738, 200 OK in 4.2ms @ explore/repo.go:167(explore.Repos) +2026/06/08 13:54:29 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:56738, 200 OK in 953.5ms @ events/events.go:18(events.Events) +2026/06/08 13:54:29 ...eb/routing/logger.go:102:func1() [I] router: completed GET /explore/repos for [::1]:56162, 200 OK in 5.0ms @ explore/repo.go:167(explore.Repos) +2026/06/08 13:54:32 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:56162, 200 OK in 3236.9ms @ events/events.go:18(events.Events) +2026/06/08 13:54:32 ...eb/routing/logger.go:102:func1() [I] router: completed GET /kozyax?tab=stars for [::1]:54697, 200 OK in 10.7ms @ user/home.go:716(user.UsernameSubRoute) +2026/06/08 13:54:32 ...eb/routing/logger.go:102:func1() [I] router: completed GET /avatars/3c4c941990c3da451702be28ee30b547?size=512 for [::1]:54697, 200 OK in 0.0ms @ web/base.go:22(avatars) +2026/06/08 13:54:34 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:54697, 200 OK in 1643.8ms @ events/events.go:18(events.Events) +2026/06/08 13:54:34 ...eb/routing/logger.go:102:func1() [I] router: completed GET /kozyax?tab=repositories for [::1]:62995, 200 OK in 6.6ms @ user/home.go:716(user.UsernameSubRoute) +2026/06/08 13:54:37 ...eb/routing/logger.go:68:func1() [I] router: polling GET /user/events for [::1]:62995, elapsed 3541.7ms @ events/events.go:18(events.Events) +2026/06/08 13:54:37 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:62995, 200 OK in 3898.9ms @ events/events.go:18(events.Events) +2026/06/08 13:54:37 ...eb/routing/logger.go:102:func1() [I] router: completed GET /kozyax for [::1]:55604, 200 OK in 6.5ms @ user/home.go:716(user.UsernameSubRoute) +2026/06/08 13:54:41 ...eb/routing/logger.go:68:func1() [I] router: polling GET /user/events for [::1]:55604, elapsed 3589.5ms @ events/events.go:18(events.Events) +2026/06/08 13:54:42 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:55604, 200 OK in 4010.1ms @ events/events.go:18(events.Events) +2026/06/08 13:54:42 ...eb/routing/logger.go:102:func1() [I] router: completed GET /kozyax for [::1]:59247, 200 OK in 6.9ms @ user/home.go:716(user.UsernameSubRoute) +2026/06/08 13:54:45 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:59247, 200 OK in 3283.3ms @ events/events.go:18(events.Events) +2026/06/08 13:54:45 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings for [::1]:64367, 200 OK in 2.7ms @ setting/profile.go:45(setting.Profile) +2026/06/08 13:54:48 ...eb/routing/logger.go:68:func1() [I] router: polling GET /user/events for [::1]:64367, elapsed 3189.1ms @ events/events.go:18(events.Events) +2026/06/08 13:54:55 ...eb/routing/logger.go:102:func1() [I] router: completed POST /user/settings/avatar/delete for [::1]:64758, 200 OK in 10.9ms @ setting/profile.go:190(setting.DeleteAvatar) +2026/06/08 13:54:55 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:64367, 200 OK in 10029.7ms @ events/events.go:18(events.Events) +2026/06/08 13:54:58 ...eb/routing/logger.go:102:func1() [I] router: completed POST /-/fetch-redirect for [::1]:64758, 303 See Other in 0.0ms @ common/redirect.go:13(common.FetchRedirectDelegate) +2026/06/08 13:54:58 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings for [::1]:64758, 200 OK in 27.2ms @ setting/profile.go:45(setting.Profile) +2026/06/08 13:55:01 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:64758, 200 OK in 3050.2ms @ events/events.go:18(events.Events) +2026/06/08 13:55:01 ...eb/routing/logger.go:102:func1() [I] router: completed POST /user/settings/avatar for [::1]:64629, 303 See Other in 9.2ms @ setting/profile.go:178(setting.AvatarPost) +2026/06/08 13:55:01 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings for [::1]:64629, 200 OK in 7.4ms @ setting/profile.go:45(setting.Profile) +2026/06/08 13:55:02 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:64629, 200 OK in 1199.9ms @ events/events.go:18(events.Events) +2026/06/08 13:55:02 ...eb/routing/logger.go:102:func1() [I] router: completed POST /user/settings/avatar for [::1]:51228, 303 See Other in 11.7ms @ setting/profile.go:178(setting.AvatarPost) +2026/06/08 13:55:02 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings for [::1]:51228, 200 OK in 3.3ms @ setting/profile.go:45(setting.Profile) +2026/06/08 13:55:03 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:51228, 200 OK in 312.9ms @ events/events.go:18(events.Events) +2026/06/08 13:55:03 ...eb/routing/logger.go:102:func1() [I] router: completed POST /user/settings/avatar for [::1]:52348, 303 See Other in 9.4ms @ setting/profile.go:178(setting.AvatarPost) +2026/06/08 13:55:03 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings for [::1]:52348, 200 OK in 2.7ms @ setting/profile.go:45(setting.Profile) +2026/06/08 13:55:06 ...eb/routing/logger.go:68:func1() [I] router: polling GET /user/events for [::1]:52348, elapsed 3388.1ms @ events/events.go:18(events.Events) +2026/06/08 13:56:00 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:52348, 200 OK in 57030.3ms @ events/events.go:18(events.Events) +2026/06/08 13:56:01 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings for [::1]:56527, 200 OK in 4.6ms @ setting/profile.go:45(setting.Profile) +2026/06/08 13:56:15 ...s/storage/storage.go:176:initAttachments() [I] Initialising Attachment storage with type: local +2026/06/08 13:56:15 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\attachments +2026/06/08 13:56:15 ...s/storage/storage.go:166:initAvatars() [I] Initialising Avatar storage with type: local +2026/06/08 13:56:15 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\avatars +2026/06/08 13:56:15 ...s/storage/storage.go:192:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local +2026/06/08 13:56:15 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\repo-avatars +2026/06/08 13:56:15 ...s/storage/storage.go:186:initLFS() [I] Initialising LFS storage with type: local +2026/06/08 13:56:15 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\data\lfs +2026/06/08 13:56:15 ...s/storage/storage.go:198:initRepoArchives() [I] Initialising Repository Archive storage with type: local +2026/06/08 13:56:15 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\repo-archive +2026/06/08 13:56:15 ...s/storage/storage.go:208:initPackages() [I] Initialising Packages storage with type: local +2026/06/08 13:56:15 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\packages +2026/06/08 13:56:15 ...s/storage/storage.go:219:initActions() [I] Initialising Actions storage with type: local +2026/06/08 13:56:15 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\actions_log +2026/06/08 13:56:15 ...s/storage/storage.go:223:initActions() [I] Initialising ActionsArtifacts storage with type: local +2026/06/08 13:56:15 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at C:\Users\47353\Downloads\Git\data\actions_artifacts +2026/06/08 13:56:15 routers/init.go:139:InitWebInstalled() [I] SQLite3 support is enabled +2026/06/08 13:56:15 routers/common/db.go:23:InitDBEngine() [I] Beginning ORM engine initialization. +2026/06/08 13:56:15 routers/common/db.go:30:InitDBEngine() [I] ORM engine initialization attempt #1/10... +2026/06/08 13:56:15 cmd/web.go:205:serveInstalled() [I] PING DATABASE sqlite3 +2026/06/08 13:56:15 cmd/web.go:205:serveInstalled() [W] Table system_setting Column version db default is , struct default is 1 +2026/06/08 13:56:15 routers/init.go:145:InitWebInstalled() [I] ORM engine initialization successful! +2026/06/08 13:56:15 ...er/issues/indexer.go:76:func1() [I] PID 8964: Initializing Issue Indexer: bleve +2026/06/08 13:56:15 ...xer/stats/indexer.go:41:populateRepoIndexer() [I] Populating the repo stats indexer with existing repositories +2026/06/08 13:56:15 modules/ssh/ssh.go:385:Listen() [I] Adding SSH host key: C:\Users\47353\Downloads\Git\data\ssh\gitea.rsa +2026/06/08 13:56:15 modules/ssh/init.go:26:Init() [I] SSH server started on :22. Cipher list ([chacha20-poly1305@openssh.com aes128-ctr aes192-ctr aes256-ctr aes128-gcm@openssh.com aes256-gcm@openssh.com]), key exchange algorithms ([curve25519-sha256 ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 diffie-hellman-group14-sha256 diffie-hellman-group14-sha1]), MACs ([hmac-sha2-256-etm@openssh.com hmac-sha2-256 hmac-sha1]) +2026/06/08 13:56:15 ...er/issues/indexer.go:153:func2() [I] Issue Indexer Initialization took 997.9µs +2026/06/08 13:56:15 ...s/graceful/server.go:50:NewServer() [I] Starting new SSH server: tcp::22 on PID: 8964 +2026/06/08 13:56:16 cmd/web.go:315:listen() [I] Listen: http://0.0.0.0:3000 +2026/06/08 13:56:16 cmd/web.go:319:listen() [I] AppURL(ROOT_URL): http://localhost:3000/ +2026/06/08 13:56:16 cmd/web.go:322:listen() [I] LFS server enabled +2026/06/08 13:56:16 ...s/graceful/server.go:50:NewServer() [I] Starting new Web server: tcp:0.0.0.0:3000 on PID: 8964 +2026/06/08 13:56:17 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:63664, 200 OK in 0.5ms @ events/events.go:18(events.Events) +2026/06/08 13:56:23 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings for [::1]:63664, 303 See Other in 0.5ms @ web/web.go:139(web.registerWebRoutes.verifyAuthWithOptions) +2026/06/08 13:56:23 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/login for [::1]:63664, 200 OK in 2.8ms @ auth/auth.go:180(auth.SignIn) +2026/06/08 13:56:25 ...eb/routing/logger.go:102:func1() [I] router: completed POST /user/login for [::1]:63664, 303 See Other in 34.5ms @ auth/auth.go:193(auth.SignInPost) +2026/06/08 13:56:25 .../go/src/sync/once.go:76:doSlow() [E] No theme candidate in asset files, but Gitea requires there should be at least one usable theme +2026/06/08 13:56:25 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings for [::1]:63664, 200 OK in 6.4ms @ setting/profile.go:45(setting.Profile) +2026/06/08 13:56:26 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:63664, 200 OK in 1455.6ms @ events/events.go:18(events.Events) +2026/06/08 13:56:26 ...eb/routing/logger.go:102:func1() [I] router: completed GET /issues for [::1]:61308, 200 OK in 7.5ms @ user/home.go:355(user.Issues) +2026/06/08 13:56:28 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:61308, 200 OK in 1807.4ms @ events/events.go:18(events.Events) +2026/06/08 13:56:28 ...eb/routing/logger.go:102:func1() [I] router: completed GET / for [::1]:51320, 200 OK in 8.2ms @ web/home.go:32(web.Home) +2026/06/08 13:56:28 ...eb/routing/logger.go:102:func1() [I] router: completed GET /repo/search?count_only=1&uid=1&team_id=undefined&q=&page=1&mode= for [::1]:51320, 200 OK in 2.8ms @ repo/repo.go:573(repo.SearchRepo) +2026/06/08 13:56:28 ...eb/routing/logger.go:102:func1() [I] router: completed GET /repo/search?sort=updated&order=desc&uid=1&team_id=undefined&q=&page=1&limit=15&mode=&archived=false for [::1]:51320, 200 OK in 6.5ms @ repo/repo.go:573(repo.SearchRepo) +2026/06/08 13:56:28 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:51320, 200 OK in 59.8ms @ events/events.go:18(events.Events) +2026/06/08 13:56:28 ...eb/routing/logger.go:102:func1() [I] router: completed GET / for [::1]:51788, 200 OK in 5.9ms @ web/home.go:32(web.Home) +2026/06/08 13:56:28 ...eb/routing/logger.go:102:func1() [I] router: completed GET /repo/search?count_only=1&uid=1&team_id=undefined&q=&page=1&mode= for [::1]:51788, 200 OK in 2.7ms @ repo/repo.go:573(repo.SearchRepo) +2026/06/08 13:56:28 ...eb/routing/logger.go:102:func1() [I] router: completed GET /repo/search?sort=updated&order=desc&uid=1&team_id=undefined&q=&page=1&limit=15&mode=&archived=false for [::1]:51788, 200 OK in 3.7ms @ repo/repo.go:573(repo.SearchRepo) +2026/06/08 13:56:32 ...eb/routing/logger.go:68:func1() [I] router: polling GET /user/events for [::1]:51788, elapsed 3616.1ms @ events/events.go:18(events.Events) +2026/06/08 13:56:33 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [::1]:51788, 200 OK in 4494.6ms @ events/events.go:18(events.Events) +2026/06/08 13:56:33 ...eb/routing/logger.go:102:func1() [I] router: completed GET / for [::1]:58213, 200 OK in 3.8ms @ web/home.go:32(web.Home) +2026/06/08 13:56:33 ...eb/routing/logger.go:102:func1() [I] router: completed GET /repo/search?count_only=1&uid=1&team_id=undefined&q=&page=1&mode= for [::1]:58213, 200 OK in 1.0ms @ repo/repo.go:573(repo.SearchRepo) +2026/06/08 13:56:33 ...eb/routing/logger.go:102:func1() [I] router: completed GET /repo/search?sort=updated&order=desc&uid=1&team_id=undefined&q=&page=1&limit=15&mode=&archived=false for [::1]:58213, 200 OK in 3.6ms @ repo/repo.go:573(repo.SearchRepo) +2026/06/08 13:56:36 ...eb/routing/logger.go:68:func1() [I] router: polling GET /user/events for [::1]:54613, elapsed 3075.6ms @ events/events.go:18(events.Events) +2026/06/08 13:56:51 ...eb/routing/logger.go:102:func1() [I] router: completed GET / for [::1]:58213, 200 OK in 6.6ms @ web/home.go:32(web.Home) +2026/06/08 13:56:51 ...eb/routing/logger.go:102:func1() [I] router: completed GET /repo/search?count_only=1&uid=1&team_id=undefined&q=&page=1&mode= for [::1]:58213, 200 OK in 1.6ms @ repo/repo.go:573(repo.SearchRepo) +2026/06/08 13:56:51 ...eb/routing/logger.go:102:func1() [I] router: completed GET /repo/search?sort=updated&order=desc&uid=1&team_id=undefined&q=&page=1&limit=15&mode=&archived=false for [::1]:58213, 200 OK in 3.0ms @ repo/repo.go:573(repo.SearchRepo) +2026/06/08 13:56:52 ...eb/routing/logger.go:102:func1() [I] router: completed GET / for [::1]:54416, 200 OK in 1.6ms @ web/home.go:32(web.Home) +2026/06/08 13:56:54 ...eb/routing/logger.go:102:func1() [I] router: completed GET / for [::1]:54416, 200 OK in 1.0ms @ web/home.go:32(web.Home) +2026/06/08 13:56:54 ...eb/routing/logger.go:102:func1() [I] router: completed GET / for [::1]:54416, 200 OK in 0.5ms @ web/home.go:32(web.Home) +2026/06/08 13:56:54 ...eb/routing/logger.go:102:func1() [I] router: completed GET / for [::1]:54416, 200 OK in 0.5ms @ web/home.go:32(web.Home) +2026/06/08 13:56:54 ...eb/routing/logger.go:102:func1() [I] router: completed GET / for [::1]:54416, 200 OK in 0.5ms @ web/home.go:32(web.Home) +2026/06/08 13:57:20 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings for [::1]:58213, 200 OK in 2.9ms @ setting/profile.go:45(setting.Profile) +2026/06/08 13:57:31 ...eb/routing/logger.go:102:func1() [I] router: completed GET /?lang=zh-CN for [::1]:58213, 200 OK in 5.8ms @ web/home.go:32(web.Home) +2026/06/08 13:57:31 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings for [::1]:58213, 200 OK in 3.8ms @ setting/profile.go:45(setting.Profile) +2026/06/08 13:57:44 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings/appearance for [::1]:58213, 200 OK in 7.9ms @ setting/profile.go:338(setting.Appearance) +2026/06/08 13:58:24 ...eb/routing/logger.go:102:func1() [I] router: completed POST /user/settings/appearance/language for [::1]:58213, 303 See Other in 9.4ms @ setting/profile.go:396(setting.UpdateUserLang) +2026/06/08 13:58:24 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/settings/appearance for [::1]:58213, 200 OK in 11.2ms @ setting/profile.go:338(setting.Appearance) +2026/06/08 13:58:41 ...eb/routing/logger.go:102:func1() [I] router: completed GET / for [::1]:58213, 200 OK in 8.6ms @ web/home.go:32(web.Home) +2026/06/08 13:58:41 ...eb/routing/logger.go:102:func1() [I] router: completed GET /repo/search?count_only=1&uid=1&team_id=undefined&q=&page=1&mode= for [::1]:58213, 200 OK in 1.6ms @ repo/repo.go:573(repo.SearchRepo) +2026/06/08 13:58:41 ...eb/routing/logger.go:102:func1() [I] router: completed GET /repo/search?sort=updated&order=desc&uid=1&team_id=undefined&q=&page=1&limit=15&mode=&archived=false for [::1]:58213, 200 OK in 4.9ms @ repo/repo.go:573(repo.SearchRepo) +2026/06/08 13:59:22 ...eb/routing/logger.go:102:func1() [I] router: completed GET /repo/create for [::1]:58213, 200 OK in 15.5ms @ repo/repo.go:152(repo.Create) +2026/06/08 13:59:22 ...eb/routing/logger.go:102:func1() [I] router: completed GET /avatars/3c4c941990c3da451702be28ee30b547?size=56 for [::1]:58213, 200 OK in 128.6ms @ web/base.go:22(avatars) +2026/06/08 13:59:36 ...eb/routing/logger.go:102:func1() [I] router: completed GET /repo/search?q=&template=true&priority_owner_id=1&_=1780898362592 for [::1]:58213, 200 OK in 6.2ms @ repo/repo.go:573(repo.SearchRepo) +2026/06/08 13:59:36 ...eb/routing/logger.go:102:func1() [I] router: completed GET /repo/search?q=&template=true&priority_owner_id=1&_=1780898362593 for [::1]:58213, 200 OK in 9.8ms @ repo/repo.go:573(repo.SearchRepo) +2026/06/08 13:59:37 ...eb/routing/logger.go:102:func1() [I] router: completed GET /repo/search?q=&template=true&priority_owner_id=1&_=1780898362594 for [::1]:58213, 200 OK in 3.8ms @ repo/repo.go:573(repo.SearchRepo) +2026/06/08 13:59:38 ...eb/routing/logger.go:102:func1() [I] router: completed GET /repo/search?q=&template=true&priority_owner_id=1&_=1780898362595 for [::1]:58213, 200 OK in 3.5ms @ repo/repo.go:573(repo.SearchRepo) +2026/06/08 13:59:43 ...eb/routing/logger.go:102:func1() [I] router: completed POST /repo/create for [::1]:58213, 200 OK in 6.9ms @ repo/repo.go:222(repo.CreatePost) +2026/06/08 13:59:51 ...eb/routing/logger.go:102:func1() [I] router: completed POST /repo/create for [::1]:58213, 303 See Other in 503.2ms @ repo/repo.go:222(repo.CreatePost) +2026/06/08 13:59:51 ...eb/routing/logger.go:102:func1() [I] router: completed GET /kozyax/sinak for [::1]:58213, 200 OK in 70.9ms @ repo/view_home.go:332(repo.Home) +2026/06/08 14:00:01 ...eb/routing/logger.go:102:func1() [I] router: completed GET /kozyax/sinak/packages for [::1]:58213, 200 OK in 10.6ms @ repo/packages.go:23(repo.Packages) +2026/06/08 14:00:02 ...eb/routing/logger.go:102:func1() [I] router: completed GET /kozyax/sinak for [::1]:58213, 200 OK in 38.1ms @ repo/view_home.go:332(repo.Home) diff --git a/vscode-auto-git b/vscode-auto-git new file mode 160000 index 0000000..c05e688 --- /dev/null +++ b/vscode-auto-git @@ -0,0 +1 @@ +Subproject commit c05e688a04ebe0dce1f7c720feed9a165b79db27