1
0
mirror of https://github.com/openSUSE/osc.git synced 2026-02-20 10:45:31 +01:00
Commit Graph

110 Commits

Author SHA1 Message Date
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
Antonello Tartamo
492c19f307 added --self parameter to fix 'no matching parent repo' error message 2026-01-29 15:34:24 +01:00
Marco Strigl
c7e2920fbc fix string formatting for id in obs-request.xml 2025-12-23 11:41:28 +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
0bd635fcd6 Add '--target-owner' option to 'git-obs pr create' to specify the target owner explicitly 2025-12-09 13:46:51 +01:00
77f0d94817 Merge pull request #1998 from dmach/git-obs-pr-dump-status
Change 'git-obs pr dump' to write STATUS file
2025-12-08 09:27:57 +01:00
411b1c5a8f Fix 'git-obs pr create' when the source repo is not a fork 2025-12-08 09:24:31 +01:00
611f1a3b96 Change 'git-obs pr dump' to write STATUS file
The dump now contains info whether it's complete and safe to use
2025-12-08 09:13:37 +01:00
69a4411588 Add '--target-branch' option to 'git-obs staging search' command 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
414bcccbbb Change 'git-obs pr dump' to produce directories that match the specified pull request IDs 2025-11-10 17:12:04 +01:00
2b908e04fb Add '--close-removed' option to 'git-obs staging remove' command 2025-11-10 15:10:21 +01:00
650a1849c9 Fix 'git-obs staging remove' to check if the specified pull requests are part of the project pull request 2025-11-10 15:10:21 +01:00
48fc21911e Use GitDiffGenerator in 'git-obs staging group' to speed it up 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
a151711c03 Add '--remove-pr-references' to 'git-obs staging group' command 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
089ad90fae Move clone_or_update() from 'git-obs pr dump' command to gitea_api.Repo 2025-11-10 14:45:37 +01:00
08ad0319c6 Fix after PullRequestReview cleanup - submitted_at property wasn't renamed to created_at 2025-11-04 18:14:45 +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
4d4bdc1f71 Fix 'git-obs pr dump' to do case insensitive check on owner and repo 2025-10-27 07:57:43 +01: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
67a711c577 Add commit messages as commented lines to the template in 'git-obs pr create' 2025-10-13 13:24:00 +02:00
fc83822d79 Automatially pull meta after 'git-obs repo clone' 2025-10-10 14:19:14 +02:00
da592aac93 Add 'git-obs meta info' command for printing resolved metadata about the current checkout 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
a5afc88561 Add -b/--branch option to 'git-obs repo clone' command 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
2ead4cb313 Mute stderr when creating a worktree in 'git-obs pr review interactive 2025-10-08 16:20:09 +02:00
6672d1a88c Change 'git-obs pr review interactive' to run pager process as a context manager
This avoids problems with broken terminal if an exception occurs in git-obs while the pager is active
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
1c8d5383f2 Fix 'git-obs pr dump' by calling 'git reset' prior fetching the pull request 2025-10-03 09:55:22 +02:00
a139c8d581 Fix checking if a directory contains a git repo in 'git-obs pr dump' 2025-10-02 13:46:08 +02:00
6bad43ad7e Fix traceback in 'git-obs pr dump' while printing a warning about invalid submodule path 2025-10-02 13:10:58 +02:00
ef3c488d79 Update 'git-obs pr dump' to remove 'metadata' directory with old data before an update 2025-10-02 10:28:44 +02:00
5926857a1d Change 'git-obs pr review interactive' to write 'merge ok' comment instead of scheduling a merge 2025-10-02 08:48:42 +02:00
fa1832e081 Change 'git-obs pr dump' to skip requests that are not open and then exit with 11 2025-10-02 08:48:42 +02:00
6d88e807bf Fix 'git-obs pr dump' to support adding more keys to the submodule metadata 2025-10-02 08:48:42 +02:00
e786a634dd Change 'git-obs pr dump' to show empty timeline entries instead just printing warnings to stderr 2025-10-02 08:48:42 +02:00
fe9c535596 Another take on parsing pull request references
Parse only references that start with 'PR:'.
Parse both owner/repo#number and gitea_url/owner/repo/pulls/number
2025-10-02 08:48:42 +02:00
Andrii Nikitin
999c1a716f Work around submodules without commit
Apparently there is some discrepancy between .submodules and git submodules status

> ./git-obs.py repo clone products/SLFO -G ibs
❯ cd SLFO
❯ git submodule status | grep '\bxli\b'
❯ grep -A 1 '\bxli\b' .gitmodules
[submodule "xli"]
	path = xli
	url = ../../SLFO-pool/xli
[submodule "xmessage"]
2025-10-02 08:48:42 +02:00
Andrii Nikitin
0108e8e70f pr_dump: Show warning on incorrect submodule url 2025-10-02 08:48:42 +02:00
Andrii Nikitin
85e00ec85e pr dump: support for short pr references
Also work around empty IssueTimelineEntries
2025-10-02 08:48:42 +02:00
Andrii Nikitin
a208031331 Dump referenced PRs to metadata/referenced-pull-requests.json 2025-10-02 08:48:42 +02:00
7ff0cdc6b4 Extend 'git-obs pr dump' to create metadata about submodules and their diff 2025-10-02 08:48:42 +02:00
a1b05a739b Include timeline in 'git-obs pr dump' results 2025-10-02 08:48:42 +02:00
0e4a7df482 Add '--subdir-fmt' to 'git-obs pr dump' for tweaking the output subdir 2025-10-02 08:48:42 +02:00