Sunil Mohan Adapa 7a4fb9d9f6
gitweb: Use pathlib API more
Tests:

- Existing gitweb repos are listed properly. Newly created repos are reported
  properly.

  - Directories without .git extension or starting with . are not shown.

  - Private repos are shown as private and public ones as public.

- Cloning progress is shown properly in the list of repos.

  - Cloning starts with 0%.

  - Cloning file is removed after completion of cloning process.

  - Cloning is done into .temp directory.

  - After cloning repo can be checked out as expected.

- Getting/setting of default branch/description/owner/private works.

- Getting the list of branches work when selecting the default branch.

- Creating new blank repo works.

- Deleting a repo works

- Uninstalling the app works. All repos are removed.

- Retrieving non-existent repo shows error as expected

- Backup/restore of repos works as expected.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
2025-09-05 20:22:15 +05:30

40 lines
931 B
Python

# SPDX-License-Identifier: AGPL-3.0-or-later
import pathlib
from django.utils.translation import gettext_lazy as _
GIT_REPO_PATH = pathlib.Path('/var/lib/git')
REPO_DIR_OWNER = 'www-data'
clients = [
{
'name': _('Gitweb'),
'platforms': [{
'type': 'web',
'url': '/gitweb/'
}]
},
{
'name':
_('Git'),
'platforms': [{
'type': 'download',
'os': 'gnu-linux',
'url': 'https://git-scm.com/download/linux'
}, {
'type': 'download',
'os': 'macos',
'url': 'https://git-scm.com/download/mac'
}, {
'type': 'download',
'os': 'windows',
'url': 'https://git-scm.com/download/windows'
}]
},
]
backup = {'data': {'directories': [str(GIT_REPO_PATH)]}}
tags = [_('Git hosting'), _('Version control'), _('Developer tool')]