How can I remove a repository?
While testing ciritc I added some repositories which I want to have removed now.
Any hints about how to do that?
Yeah, that's sort of not supported. :-/
What you'll have to do is delete stuff from the database manually, using the "psql" command-line utility (or some other way of accessing the database.) Unfortunately, the database schema has a bunch of foreign key constraints without "on delete cascade" making this a bit difficult.
$ sudo -u critic psql
# let X be the repository's id
critic=> select id from repositories where path='/var/git/therepo.git';
# then
critic=> update repositories set branch=null where id=X;
critic=> delete from trackedbranches where repository=X;
critic=> delete from branches where repository=X;
critic=> delete from repositories where id=X;
If you have created reviews in the repository, it'll be even more difficult.
I'm sorry that I can't give a more satisfying answer. Making the system easy to maintain hasn't traditionally been a priority, since I've traditionally been the only person maintaining a Critic system.
Hey! I already thought that it goes into that direction. I think I can restart from scratch easily.
But I ran into another problem: I do not get any changesets. The site times our and I got
ChangesetBackgroundServiceError: Changeset background service failed: returned an invalid response: '' in the logs.
Maybe I do something suboptimal :)
Situation is:
Server is hosting the "real" origins for all our repositories. They are in "/home/git/xxxx.git". We all access over SSH (VPN) like this: repo:/home/git/xxxx.git (which is SSH with user git onto a VPN IP).
Same Server runs "redmine" and uses these repositories for the ticket system. We usually have only "master" in each of those repos.
We can all access each others git repos over VPN. So I can just track a branch on a coworkers computer.
Currently I we use "Review Board" for code-reviews (just for some weeks) and it is getting confusion. Especially because I usually want to merge with fast-forward into master. So I let people usually rebase onto master before I merge their stuff. Most of the time even let them combine all commits into "logical" groups (reformatting / bug solving / feature)
Anyway: I am unsure on how to set up critic?
I would like that people can push their branches to critic and that I can pull them from there and merge them into master. None of the other developers should ever push to master (pushing to master also updates servers).