Antonello Tartamo
cbf98966b7
feat(gitea): Add support for SSH agent authentication
...
This change introduces support for authenticating against the Gitea API using an SSH agent. This provides a more secure and convenient alternative to storing private keys or API tokens directly in the configuration file.
Key changes include:
- A new HttpSigner class that can sign HTTP requests using either a local private key or a key from an SSH agent.
- The osc git-obs login add and login update commands now accept --ssh-agent and --ssh-key-agent-pub arguments to configure SSH agent-based authentication.
- The paramiko library is now used for SSH agent communication. It is an optional dependency and only required when using the SSH agent feature.
- The Gitea API connection logic is updated to use the HttpSigner when SSH authentication is configured.
This improves user experience by allowing them to leverage their existing SSH agent setup for Gitea authentication, avoiding the need to handle sensitive credentials manually.
2026-02-08 09:49:54 +01:00
e1e046853f
Merge pull request #2013 from dmach/fix-git-obs-pr-create-no-fork
...
Fix 'git-obs pr create' when the source repo is not a fork
2025-12-18 10:17:36 +01:00
78b85d3a27
Properly error out on invalid 'PR:' references in 'git-obs pr dump'
2025-12-15 19:13:13 +01:00
14a359a255
Make PullReqest.parse_id() more permissive by accepting trailing whitespaces
2025-12-12 14:10:28 +01:00
0bd635fcd6
Add '--target-owner' option to 'git-obs pr create' to specify the target owner explicitly
2025-12-09 13:46:51 +01:00
a85fc2832f
Merge pull request #1996 from danigm/fix-gitea-branch
...
Add return to gitea_api.Branch.list
2025-12-08 14:29:33 +01:00
9860413e19
Fix gitea_api.PullRequest ordering methods
2025-12-02 12:28:11 +01:00
Antonello Tartamo
e9e8dcff70
- Moved get_label_ids to Repo class
...
- Added staging search command to find project PRs with referenced package PRs that have all been approved
2025-12-02 12:28:10 +01:00
Danish Prakash
ba0f9c1a99
gitea/git: handle local branch when fetching remote
...
If the current branch tracks a local branch that in turn is tracking a
remote branch, recurse to find out the remote, instead of simply
returning the local branch.
Signed-off-by: Danish Prakash <contact@danishpraka.sh >
2025-11-14 14:27:40 +05:30
f7e9f657a5
Add return to gitea_api.Branch.list
2025-11-13 11:22:02 +01:00
3fcc00cf1b
Merge pull request #1992 from dmach/git-obs-api-returning-null
...
Fix 'git-obs api' command when server returns 'null'
2025-11-11 14:52:42 +01:00
4c4ee1f368
Fix working with meta during git rebase by determining the current branch from rebase head
2025-11-11 14:26:57 +01:00
2be8fbf0c8
Fix 'git-obs api' command when server returns 'null'
2025-11-11 08:42:35 +01:00
48fc21911e
Use GitDiffGenerator in 'git-obs staging group' to speed it up
2025-11-10 15:10:21 +01:00
2029b4933f
Add 'depth' argument to gitea_api.Repo.clone() and clone_or_update()
2025-11-10 15:10:21 +01:00
84ee65271d
Add gitea_api.GitDiffGenerator class for creating submodule diffs without a git checkout
2025-11-10 15:10:21 +01:00
44af44e8d3
Fix 'git-obs staging' commands to be case insensitive as Gitea
2025-11-10 15:06:02 +01:00
7ae7731963
Change gitea_api.Repo.clone() to stop borrowing objects when 'reference' or 'reference_if_able' is used
2025-11-10 15:06:02 +01:00
99d2633b09
Add '--cache-dir' option to 'git-obs staging group' command
2025-11-10 15:06:02 +01:00
Antonello Tartamo
e15c0c0f49
Add 'git-obs staging' command for staging multiple package pull requests into a single project pull request
2025-11-10 15:06:02 +01:00
d74457dc66
Support setting labels in gitea_api.PullRequest.create()
2025-11-10 15:06:02 +01:00
7b74682254
Fix the resulting dictionary in gitea_api.PullRequest._get_label_ids()
2025-11-10 15:06:02 +01:00
a3738f664f
Change gitea_api.Repo.clone_or_update() to take 'ssh_private_key_path' argument
2025-11-10 15:06:02 +01:00
c926865ec9
Add gitea_api.StagingPullRequestWrapper class for handling staging
2025-11-10 15:06:02 +01:00
7c97922db1
Add gitea_api.common.TemporaryDirectory class that supports 'delete' argument on python 3.6+
2025-11-10 15:06:02 +01:00
ad96f3926d
Extend gitea_api.PullRequest with methods that work with 'PR:' references
2025-11-10 15:06:02 +01:00
66e98819b2
Add 'status' to the output of gitea_api.Git.get_submodules()
2025-11-10 14:45:37 +01:00
e860043815
Add 'remote' argument to gitea_api.Repo.clone_or_update()
2025-11-10 14:45:37 +01:00
089ad90fae
Move clone_or_update() from 'git-obs pr dump' command to gitea_api.Repo
2025-11-10 14:45:37 +01:00
9b7c3889d4
Make gitea_api.RepoExists exception more helpful by giving a hint to fork under a different name.
2025-11-03 15:26:14 +01:00
02b342a0e4
Merge pull request #1968 from dcermak/add-get_host_repo_owner_number
...
feat: add new function PullRequest.get_host_owner_repo_number
2025-11-03 09:56:49 +01:00
ece036a6a0
Fix gitea_api.SSHKey.list() to use pagination instead of limit -1
2025-11-03 09:21:58 +01:00
775d0c2512
Fix gitea_api.IssueTimelineEntry.list() to use pagination instead of limit -1
2025-11-03 09:21:58 +01:00
82bf9eb010
Remove duplicate, unused PullRequestReview class from gitea_api.pr
2025-11-03 09:21:58 +01:00
8c5fbf0745
Fix gitea_api.PullRequestReview.list() to use pagination instead of limit -1
2025-11-03 09:21:58 +01:00
d60ce46c58
Fix gitea_api.Fork.list() to use pagination instead of limit -1
2025-11-03 09:21:58 +01:00
98526c460f
Fix gitea_api.Branch.list() to use pagination instead of limit -1
2025-11-03 09:21:58 +01:00
Antonello Tartamo
dac11885f7
Fix gitea_api.PullRequest.list() to use pagination instead of limit -1
2025-11-03 09:21:58 +01:00
fb8d1f4c72
Fix 'git-obs pr dump' to skip the dump if the target has the same updated_at timestamp as the pull request in Gitea
2025-10-29 14:33:45 +01:00
4170a3c251
Improve performance of gitea_api.IssueTimelineEntry by listing and caching requests instead of fetching them one by one
2025-10-29 13:46:02 +01:00
aa3cb2c71f
feat: add new function PullRequest.get_host_owner_repo_number
...
The existing `get_owner_repo_number` throws away the parsed host, which is
occasionally useful. Therefore we add a new method `get_host_owner_repo_number`
that also returns the full host (scheme + hostname + port) and keep the old
method for compatibility.
Also add tests.
2025-10-20 17:15:34 +02:00
e91c904284
Add 'DELETE' to 'git-obs api' allowed methods
2025-10-15 12:19:06 +02:00
Antonello Tartamo
7954b9d11a
Add filtering by label to 'git-obs pr list'
2025-10-15 12:19:06 +02:00
07acc067f0
Fix gitea_api.Git.get_branch_head() to raise a proper exception if the HEAD cannot be retrieved
2025-10-10 14:19:14 +02:00
87de410542
Move code from 'git-obs meta pull' command to GitStore.pull()
2025-10-10 14:03:29 +02:00
1488f3b873
Introduce GitObsRuntimeError exception and use it where appropriate
2025-10-09 09:54:18 +02:00
7aa9734143
Fix tardiff by removing directories with shutil.rmtree() and files by os.unlink()
2025-10-08 16:20:09 +02:00
5e0ab3ecb0
Mute stderr in git_obs.Git.lfs_cat_file()
2025-10-08 16:20:09 +02:00
0b242dc553
Change obs_api.TarDiff to spawn a process extracting archives as a context manager
2025-10-08 16:20:09 +02:00
ce99ac5e83
Add 'quiet' option to gitea_api.Git.switch()
2025-10-08 16:19:52 +02:00