Age | Commit message (Collapse) | Author | Files | Lines |
|
Move the main program logic of git-server to a main() method such that
it can be used as a module and easily be invoked by setuptools wrapper
scripts.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Add support for changing co-maintainers from the SSH interface. The
syntax is `set-comaintainers <pkgbase> <user1> <user2>...`.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Add support for disowning packages from the SSH interface. The syntax is
`disown <pkgbase>`.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Add support for adopting packages from the SSH interface. The syntax is
`adopt <pkgbase>`.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Remove the formatting of the usage text and add code to columnize it
automatically instead.
Also, add more strict tests for the usage output. These new tests ensure
that the usage header is printed, commands are indented properly and no
overly long lines are produced.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Since 0c1187c (git-serve: Deprecate setup-repo, 2016-07-24), it is no
longer recommended to use setup-repo. Mark the command as deprecated in
the usage/help text.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Create new package bases just before saving package metadata. This
protects from stray package bases left behind when new packages are
rejected, e.g. when the user tries to push a package that is available
from the official repositories already.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Avoid using UNIX_TIMESTAMP which is not part of the SQL standard.
Retrieve the current UNIX time in Python and substitute it into the SQL
queries instead.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Add a new module that automatically locates the configuration file and
provides methods to obtain the values of configuration options.
Use the new module instead of ConfigParser everywhere.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Add a new class that connects to the database specified in the
configuration file and provides an interface to execute SQL queries.
Prepared statements with qmark ("?") placeholders are supported.
Replace all direct database accesses with calls to the new abstraction
layer.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Since 02dd9c5 (git-serve.py: Automatically create repositories,
2015-01-06), one can create new package bases by running `git push`. It
is no longer necessary to run setup-repo manually.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Read all environment variables at the beginning of the script and
immediately pre-process their values.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Instead of `config <pkgbase> keywords <keyword1> <keyword2>...`, the new
syntax is `set-keywords <pkgbase> <keyword1> <keyword2>...`.
The `config` keyword was rather general and it was not obvious that it
could be used to change package base settings. Instead of replacing it
with an even more verbose expression, remove that unnecessary level of
indirection. Since we do not (and probably never will) support keywords
anywhere else, the chance of name conflicts is small.
Suggested-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
As a preparatory step to adding support for package notifications on
events other than comments, rename the database table accordingly.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Fix several style issues and remove unneeded imports/assignments.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Fixes a regression introduced in 8c87b1d (git-serve: Add support for
setting keywords, 2015-10-22).
Signed-off-by: Mark Weiman <mark.weiman@markzz.com>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
This allows for setting keywords using the SSH interface. The syntax is
`config <pkgbase> keywords <keyword1> <keyword2>...`.
Implements FS#45627.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Implement a new command that can be used to restore deleted package
bases without having to push a new commit.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Also add an utility function for formatting the ForceCommand, using
shlex.quote to quote the value.
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
% formatting is deprecated, and .format should be used instead.
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
This commit adds support for cloning repositories over SSH without a
leading slash or with a trailing .git
Fixes FS#45260
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Allow for excluding certain IP addresses from the maintenance mode. This
allows administrators to view the web page while the site is still under
maintenance for the rest of the world.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Add support for a maintenance mode that disables both the website and
the SSH interface and can be enabled easily using a configuration
option.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
When creating the refs for the package base branch and the HEAD ref
workaround, directly use commit IDs instead of symrefs. It looks like
Git cannot pack symrefs, so this is expected to improve space
efficiency. Also, since the refs are now only created (or updated) when
new objects are actually received, this fixes a problem with dangling
refs that were created when a user initialized a repository but did not
push anything.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
`repo` is not defined at the point it's used, so you would get errors
like
> Traceback (most recent call last):
> File "/srv/http/vhosts/aur-dev.archlinux.org/public/git-interface/git-serve.py", line 138, in <module>
> die('%s: invalid repository name: %s' % (action, repo))
> NameError: name 'repo' is not defined
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Remove the template-path and git-update-hook options which are no longer
used. Update the git_clone_uri_anon default value.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Sometimes, we need to initialize the Git repository even if the package
base already exists (e.g. when using a non-empty package database with
empty repositories during the AUR 4.0.0 migration period). Make sure
that the package branch and the namespaced HEAD ref is always created.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
* Move scripts/git-integration/ to git-interface/.
* Move scripts/aurblup/aurblup.py to scripts/aurblup.py.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|