2
0
Commit Graph

4947 Commits

Author SHA1 Message Date
Lunny Xiao
8f33691d2c Move updateref and removeref to gitrepo and remove unnecessary open repository (#35511)
Extracted from #35077
`UpdateRef` and `RemoveRef` will call git commands even for gogit
version.
2025-09-19 08:04:18 -07:00
ChristopherHX
4146a46ae0 Stream repo zip/tar.gz/bundle achives by default (#35487)
Initial implementation of linked proposal.

* Closes #29942
* Fix #34003
* Fix #30443

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-09-19 11:51:21 +08:00
Lunny Xiao
6dbb33ed06 Move git command to git/gitcmd (#35483)
The name cmd is already used in many places and may cause conflicts, so
I chose `gitcmd` instead to minimize potential naming conflicts.
2025-09-15 23:33:12 -07:00
Gnanakeethan Balasubramaniam
b77ceb6c97 Exposing TimeEstimate field in the API (#35475)
Time Estimate field is not included in the issue modification webhooks
or issue API endpoints.

This PR fixes the field for the API.

---------

Signed-off-by: Gnanakeethan Balasubramaniam <gnanakeethan@users.noreply.github.com>
Signed-off-by: Gnanakeethan Balasubramaniam <gnanakeethan@cloudparallax.com>
2025-09-16 04:32:03 +00:00
wxiaoguang
792804b180 Replace gobwas/glob package (#35478)
https://github.com/gobwas/glob is unmaintained and has bugs.
2025-09-13 18:01:00 +00:00
luzpaz
483db49b78 Fix various typos in codebase (#35480) 2025-09-13 10:34:43 -04:00
ChristopherHX
52e0a2622b Fix SSH signing key path will be displayed in the pull request UI (#35381)
Closes #35361

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-09-12 03:00:18 +00:00
Akhan Zhakiyanov
c4df369e10 fix: add author.name field to Swift Package Registry API response (#35410)
Fixes #35159

Swift Package Manager expects an 'author.name' field in package
metadata, but Gitea was only providing schema.org format fields
(givenName, middleName, familyName). This caused SPM to fail with
keyNotFound error when fetching package metadata.

Changes:
- Add 'name' field to Person struct (inherited from
https://schema.org/Thing)
- Populate 'name' field in API response using existing String() method
- Maintains backward compatibility with existing schema.org fields
- Provides both formats for maximum compatibility

The fix ensures Swift Package Manager can successfully resolve packages
while preserving full schema.org compliance.
2025-09-07 18:24:25 +00:00
Lunny Xiao
de0d896744 Upgrade golang to 1.25.1 and add descriptions for the swagger structs' fields (#35418) 2025-09-06 16:52:41 +00:00
Luke H-W
b6820316bd Disable Field count validation of CSV viewer (#35228)
Default behaviour rejected all rows (Records) with more or fewer columns
(Fields) than the first row, preventing them from parsing at all and
silently hiding them. While RFC4180 section 2.4 says each line _should_
contain the same number of fields, enforcing this on the viewer is
unhelpful.
This pull request disables that validation, allowing the viewer to
render lines with fewer columns than the maximum number within the file.
As it's a simple HTML table, this works without additional changes (i.e.
no need to manually determine the maximum number of columns), but the
default appearance of rows with fewer columns may be undesirable to some
people, especially when using CSS that has `td {border-right: none}`.
<img width="1408" height="156" alt="Screenshot without cell right
borders"
src="https://github.com/user-attachments/assets/d4c19bbc-3fd2-4fd1-83a6-1125e953e95b"
/>
<img width="1397" height="158" alt="Screenshot with cell right borders"
src="https://github.com/user-attachments/assets/86aaafcb-d7e8-4228-99a8-7527c823a07c"
/>

Fixes #16559, #30358.

Unfortunately, retaining empty lines is less trivial, so the line
numbers on the leftmost column will still not match the source file
whenever those are present, though a future PR could address that.
2025-09-04 09:54:58 -07:00
Lunny Xiao
3270e42892 Upgrade dependencies (#35384)
- ~Upgrade golang to 1.25~ blocked by the issue
https://github.com/go-swagger/go-swagger/issues/3220
- Upgrade minor versions of most dependencies
- Upgrade github.com/google/go-github version to v74
- Fix meilisearch because of sdk interface change
- Use github.com/Necoro/html2text which is a fork instead of html2text
because of https://github.com/jaytaylor/html2text/issues/67 which
resulted in complie failure.
- Fix some deprecated methods of gitlab go client.
2025-09-02 23:13:38 -04:00
junoberryferry
e238261ab5 Use github.com/mholt/archives replace github.com/mholt/archiver (#35390)
Fix #32620

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: junoberryferry <user@example.tld>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-09-01 19:40:12 +00:00
Lunny Xiao
3023274c28 Move some functions from package git to gitrepo (#33910)
Follow #33874
2025-09-01 19:13:18 +00:00
Lunny Xiao
a389a55318 Move git config/remote to gitrepo package and add global lock to resolve possible conflict when updating repository git config file (#35151)
Partially fix #32018 

`git config` and `git remote` write operations create a temporary file
named `config.lock`. Since these operations are not atomic, they must
not be run in parallel. If two requests attempt to modify the same
repository concurrently—such as during a compare operation—one may fail
due to the presence of an existing `config.lock` file.

In cases where `config.lock` is left behind due to an unexpected program
exit, a global lock mechanism could allow us to safely remove the stale
lock file when a related error is detected. While this behavior is not
yet implemented in this PR, it is planned for a future enhancement.

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-09-01 18:47:04 +00:00
Lunny Xiao
120049a399 Move HasWiki to repository service package (#33912)
Move HasWiki out of the models package to avoid referencing the absolute
wiki path directly.
2025-09-01 11:12:58 -07:00
Michal Suchánek
2d2170d2e8 Rename UpdateBranch API to RenameBranch API (#35374)
Discussed in #35368, originally implemented in #32433
2025-09-01 16:12:05 +00:00
Lunny Xiao
0451bcd31c Remove the duplicated function GetTags (#35375)
This PR removes the GetTags function from the git module and keeps only
GetTagInfos. All previous usages of GetTags have been replaced with
database-based tag functions.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-08-29 01:11:42 +00:00
Fabian Meyer
475889909e Allow foreachref parser to grow its buffer (#35365)
Fixes #35221, let the scanner's buffer grow up to 4x (256 kiB), and add an error check

---------

Signed-off-by: Fabian Meyer <fabian.meyer@lawo.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-08-28 10:18:54 +00:00
wxiaoguang
edab7c205e Remove incorrect "db.DefaultContext" usages (#35366) 2025-08-28 03:52:43 +00:00
cui
a55a2de395 Refactor to use reflect.TypeFor (#35370) 2025-08-27 20:13:31 -07:00
wxiaoguang
cc3bc44cc3 Remove wrong "git.DefaultContext" (#35364) 2025-08-27 16:31:21 +00:00
wxiaoguang
e353c34e18 Fix context usages (#35348) 2025-08-27 11:00:01 +00:00
Ilya Nurullin
f051f714a3 Use configurable remote name for git commands (#35172)
Closes #19403, and makes it possible to use any remote name in code
snippets for an empty repository and pull request.
This change is very helpful to me, because I always use different name
for my gitea remote.

Uses setting config module to store the value. Default is `origin` for
backward compatibility.

### Screenshots
<details>
<summary>Empty repo</summary>
<img width="791" height="398" alt="image"
src="https://github.com/user-attachments/assets/7214053d-a8dd-4e77-8c9d-78936d9859e0"
/>
</details>

<details>
<summary>Pull Request</summary>
<img width="591" height="452" alt="image"
src="https://github.com/user-attachments/assets/ebc3d25c-5d6d-481d-819d-9706af3c5594"
/>
</details>

<details>
<summary>Settings page</summary>
<img width="1438" height="839" alt="image"
src="https://github.com/user-attachments/assets/d92bfa2c-7adc-4efe-95fa-0c55ad13b3f5"
/>
</details>

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-08-21 10:14:35 -07:00
Lunny Xiao
d34d4076db Move organization's visibility change to danger zone. (#34814)
<img width="1185" alt="image"
src="https://github.com/user-attachments/assets/d48c4db2-df7c-43b3-986c-62e042190a51"
/>

<img width="829" alt="image"
src="https://github.com/user-attachments/assets/772b8a14-6837-41f2-9d78-9f0489ef1c7d"
/>

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-08-20 20:57:42 -07:00
Lunny Xiao
c69f7982d3 Fix some overflows in test (#35315)
Fix #35311
2025-08-20 15:20:22 +00:00
Lunny Xiao
7b004d2179 Add start time on perf trace because it seems some steps haven't been recorded. (#35282)
The new trace log looks like
```
http start=2025-08-14 15:03:04 duration=0.6978s http.route=/
  http.func start=2025-08-14 15:03:04 duration=0.6978s func=common.ForwardedHeadersHandler.ForwardedHeaders
    http.func start=2025-08-14 15:03:04 duration=0.6978s func=routing.(*requestRecordsManager).handler-fm
      http.func start=2025-08-14 15:03:04 duration=0.6978s func=gzhttp.NewWrapper
        http.func start=2025-08-14 15:03:04 duration=0.6975s func=session.Sessioner
          http.func start=2025-08-14 15:03:04 duration=0.6973s func=context.Contexter
```
2025-08-18 15:17:19 +00:00
Lunny Xiao
51bd312029 Fix a bug where lfs gc never worked. (#35198)
Fix #31113

After #22385 introduced LFS GC, it never worked due to a bug in the INI
library: fields in structs embedded more than one level deep are not
populated from the INI file.

This PR fixes the issue by replacing the multi-level embedded struct
with a single-level struct for parsing the cron.gc_lfs configuration.

Added a new test for retrieving cron settings to demonstrate the bug in
the INI package.
2025-08-12 05:38:17 +00:00
Tim Biermann
c065fd93de modules/setting/actions.go: fixed typo: ì->i (#35253) 2025-08-11 22:57:44 -04:00
Sebastian Ertz
d9024c32a6 Update chroma to v2.20.0 (#35220)
https://github.com/alecthomas/chroma/releases/tag/v2.20.0

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-08-11 13:00:20 +02:00
6543
71290893f7 Add has_code to repository REST API (#35214)
similar to how we can enable/disable repos or issues on a repo add the
code unit as option to it.

affects

```
PATCH /repos/{owner}/{repo}
```

---
*Sponsored by Kithara Software GmbH*
2025-08-08 18:18:30 +02:00
wxiaoguang
9934b6a635 Fix repo file list partial reloading for submodules (#35183)
Fix the TODO and add more tests
2025-07-31 09:34:51 +08:00
wxiaoguang
6caa0ff94e Fix various bugs (#35177)
* Fix #35144
* Fix #35117
* Fix https://github.com/go-gitea/gitea/issues/35054#issuecomment-3131793977
* Fix #35136
2025-07-30 07:08:59 +00:00
AlexMaryW
6192c93f0e Add owner and parent fields clarification to docs (#35023)
Issue: https://github.com/go-gitea/gitea/issues/9637

Changes introduced: I have clarified the problematic terms (owner and
parent) in all affected endpoints.

The changes were made to relevant:

- HTTP endpoint parameters' descriptions
- response/request models' fields

This MR is big, but most changes are the same. If you'd like me to break
this MR into several smaller ones, let me know :)

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-07-23 06:44:34 +00:00
wxiaoguang
2d6f5f12f1 Fix session gob (#35128)
Fix #35126
2025-07-20 01:49:36 +00:00
wxiaoguang
36569f77b0 Don't use full-file highlight when there is a git diff textconv (#35114)
Fix #35106
2025-07-18 19:16:27 +08:00
wxiaoguang
889d2e39b2 Fix submodule parsing when the gitmodules is missing (#35109)
Follow up #35096, fix #35095, fix #35115 and add more tests

The old code used some fragile behaviors which depend on the "nil"
receiver. This PR should be a complete fix for more edge cases.
2025-07-18 09:42:44 +00:00
Lunny Xiao
bc024a2add Fix some missed GitHeadRefName when renaming (#35102) 2025-07-17 14:01:11 +00:00
wxiaoguang
4d00d0c25c Fix error logs and improve some comments/messages (#35105) 2025-07-17 19:09:54 +08:00
Lunny Xiao
12a6a8b9d4 Rename pull request GetGitRefName to GetGitHeadRefName (#35093) 2025-07-16 21:33:33 +08:00
wxiaoguang
9585039950 Fix submodule nil check (#35096)
Fix  #35095
2025-07-16 12:07:38 +00:00
Risu
6669071502 Redirect to a presigned URL of HEAD for HEAD requests (#35088)
Resolves https://github.com/go-gitea/gitea/issues/35086.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-07-16 11:22:45 +00:00
wxiaoguang
294bc1b1b0 Improve submodule relative path handling (#35056)
Fix #35054

---------

Co-authored-by: Giteabot <teabot@gitea.io>
2025-07-14 23:28:34 +08:00
Lunny Xiao
806ce41d0b Fix incorrect comment diff hunk parsing, fix github asset ID nil panic (#35046)
* Fix missing the first char when parsing diff hunk header
* Fix #35040
* Fix #35049

----

Introduced in
https://github.com/go-gitea/gitea/pull/12047/files#diff-de48c2f70e24ff5603180acf8b5ce9d0356ede8a45bfbf2a485707282ace6d6aR268

Before:

<img width="487" height="167" alt="image"
src="https://github.com/user-attachments/assets/17524c76-a296-4b4b-a4f9-c5150c41bae5"
/>

After:

<img width="749" height="144" alt="image"
src="https://github.com/user-attachments/assets/bcb12c76-c1ae-40f1-81b7-183d15f891db"
/>

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-07-11 15:18:41 -07:00
Lunny Xiao
738e3ed759 Fix updating user visibility (#35036)
Fix #35030

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-07-10 16:17:28 -07:00
Lunny Xiao
ae0bc25e42 Fix git commit committer parsing and add some tests (#35007)
* Fix #34991
* Fix #34882

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-07-10 19:03:36 +00:00
wxiaoguang
ed60658bec Refactor OpenIDConnect to support SSH/FullName sync (#34978)
* Fix #26585
* Fix #28327
* Fix #34932
2025-07-10 18:35:59 +00:00
wxiaoguang
014114dd19 Make submodule link work with relative path (#35034)
Fix #35033
2025-07-10 16:38:42 +00:00
Scion
90fd047ceb Fix ListWorkflowRuns OpenAPI response model. (#35026)
Change the OpenAPI response of `ListWorkflowRuns` to `WorkflowRunsList`
like it is supposed to be.

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-07-10 05:58:07 +00:00
wxiaoguang
6460237f2c Fix various problems (#35012)
* Fix #35011
* Fix incorrect log message for "Protocol"
* Remove unnecessary styles, fix "comment-header" wrap, fix label height
2025-07-09 16:46:51 +00:00
wxiaoguang
b13b39d726 Refactor mail template and support preview (#34990) 2025-07-09 10:25:25 +08:00