girocco/testingthisout.git
13 years agoGirocco::Util: make more characters valid in homepage URLsmaster
Jan Krüger [Sun, 9 Jan 2011 17:53:10 +0000 (9 18:53 +0100)]
Girocco::Util: make more characters valid in homepage URLs

Signed-off-by: Jan Krüger <jk@jk.gs>
13 years agoGirocco::Project: copy refs directory, instead of creating packed-refs file
Daniel Knittl-Frank [Sat, 8 Jan 2011 21:03:37 +0000 (8 22:03 +0100)]
Girocco::Project: copy refs directory, instead of creating packed-refs file

when changing packed-refs through push, a new version is first written
to a temporary file, which will then be copied over the old one.
repository owners are not able to create or delete files in the root of
their bare repositories.

the ownership information of /refs is automatically updated, so copy
/refs from the forkee, instead of writing all refs into the packed-refs
file.

13 years agoGirocco::Util: accept HTTPS URLs and typical query strings for homepage
Jan Krüger [Sun, 9 Jan 2011 14:37:22 +0000 (9 15:37 +0100)]
Girocco::Util: accept HTTPS URLs and typical query strings for homepage

Signed-off-by: Jan Krüger <jk@jk.gs>
13 years agojobd: take a short break after each queue run
Jan Krüger [Sun, 21 Nov 2010 14:08:05 +0000 (21 15:08 +0100)]
jobd: take a short break after each queue run

If all repositories are free of errors, jobd will finish each run of the
queue extremely quickly. In anticipation of this (admittedly quite
unlikely) event, make it rest a bit every time it completes all jobs.

Signed-off-by: Jan Krüger <jk@jk.gs>
13 years agojobd: be more verbose about the passage of time
Jan Krüger [Sun, 21 Nov 2010 14:07:14 +0000 (21 15:07 +0100)]
jobd: be more verbose about the passage of time

Make jobd include a timestamp in major status messages so that it's
easier to see for observers whether anything is broken.

Signed-off-by: Jan Krüger <jk@jk.gs>
13 years agojobd: outsource limit for resource-hungry jobs to switch
Jan Krüger [Fri, 19 Nov 2010 16:03:18 +0000 (19 17:03 +0100)]
jobd: outsource limit for resource-hungry jobs to switch

Make the limit for maximum simultaneous resource-hungry jobs (gc jobs) a
command line switch and reduce the default value to a more reasonable 1,
since some repositories can eat quite a bit of CPU and I/O indeed.

Signed-off-by: Jan Krüger <jk@jk.gs>
13 years agoGirocco::Project: more robust method to detect errors when changing HEAD
Jan Krüger [Mon, 15 Nov 2010 21:19:49 +0000 (15 22:19 +0100)]
Girocco::Project: more robust method to detect errors when changing HEAD

Apparently, Perl does interesting things with the return code of
system(), so instead check $? afterwards... and bypass the shell by
passing system() a list, for added efficiency and security.

Signed-off-by: Jan Krüger <jk@jk.gs>
13 years agoGirocco::Project: fix bogus regexp in get_heads
Jan Krüger [Mon, 15 Nov 2010 21:10:31 +0000 (15 22:10 +0100)]
Girocco::Project: fix bogus regexp in get_heads

Signed-off-by: Jan Krüger <jk@jk.gs>
13 years agoeditproj.cgi: allow changing the default branch (HEAD)
Jan Krüger [Mon, 15 Nov 2010 21:01:19 +0000 (15 22:01 +0100)]
editproj.cgi: allow changing the default branch (HEAD)

Signed-off-by: Jan Krüger <jk@jk.gs>
13 years agoGirocco::Project: add infrastructure for getting/setting HEAD
Jan Krüger [Mon, 15 Nov 2010 20:54:32 +0000 (15 21:54 +0100)]
Girocco::Project: add infrastructure for getting/setting HEAD

Provide the underlying functionality for adding an outstanding feature
to Girocco, namely allowing admins to change the default branch of their
repositories.

Signed-off-by: Jan Krüger <jk@jk.gs>
13 years agoGirocco::Project: when editing user list, filter non-existent users
Jan Krüger [Mon, 15 Nov 2010 20:52:15 +0000 (15 21:52 +0100)]
Girocco::Project: when editing user list, filter non-existent users

We used to accept usernames into the list even if no corresponding user
account existed. For now, silently filter those, which is probably an
improvement.

Signed-off-by: Jan Krüger <jk@jk.gs>
13 years agoGirocco::Project: reuse HEAD from forkee
Jan Krüger [Mon, 15 Nov 2010 20:49:32 +0000 (15 21:49 +0100)]
Girocco::Project: reuse HEAD from forkee

When we fork a repository, use the same HEAD as the forkee (especially
important if the forkee doesn't have the standard refs/heads/master).

Signed-off-by: Jan Krüger <jk@jk.gs>
13 years agoGirocco::Project: fix copying refs from source repository
Jan Krüger [Mon, 15 Nov 2010 20:04:19 +0000 (15 21:04 +0100)]
Girocco::Project: fix copying refs from source repository

The previous code for copying refs from a forkee did not work at all.
Use a version that does work.

Signed-off-by: Jan Krüger <jk@jk.gs>
13 years agoMerge branch 'wip/new-jobd'
Jan Krüger [Mon, 15 Nov 2010 20:03:46 +0000 (15 21:03 +0100)]
Merge branch 'wip/new-jobd'

14 years agoregproj.cgi: be more lax in the CAPTCHA check
Jan Krüger [Sat, 6 Nov 2010 18:55:22 +0000 (6 19:55 +0100)]
regproj.cgi: be more lax in the CAPTCHA check

Until now, we only accepted exactly the word 'sun' (case-insensitive) as
the CAPTCHA value. At least 'the sun' should be valid, too, however, to
avoid undue confusion... so allow it.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: defer gc for newly created mirror repositories
Jan Krüger [Sat, 6 Nov 2010 18:29:08 +0000 (6 19:29 +0100)]
jobd: defer gc for newly created mirror repositories

Just like we don't want to update repositories before they are first
mirrored, we don't want to gc them before the initial mirroring has
finished. After all, otherwise we will probably be left with many
unpacked objects which will stick around for quite some time until the
next gc is run on that repository.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: don't update new projects that are not fully mirrored yet
Jan Krüger [Fri, 5 Nov 2010 21:53:08 +0000 (5 22:53 +0100)]
jobd: don't update new projects that are not fully mirrored yet

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: check update/gc timestamps before ever running update.sh/gc.sh
Jan Krüger [Fri, 5 Nov 2010 17:41:48 +0000 (5 18:41 +0100)]
jobd: check update/gc timestamps before ever running update.sh/gc.sh

This should make for another nice speedup since we don't need to wait
for the update.sh/gc.sh processes any longer.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd/jobd.sh: outdated; make it run jobd.pl
Jan Krüger [Fri, 5 Nov 2010 17:31:41 +0000 (5 18:31 +0100)]
jobd/jobd.sh: outdated; make it run jobd.pl

Since jobd.pl is already more stable (and quite a bit faster) than the
old jobd.sh, it now replaces that.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: give each job its own process group
Jan Krüger [Fri, 5 Nov 2010 17:26:03 +0000 (5 18:26 +0100)]
jobd: give each job its own process group

This allows us to kill the entire group, i.e. the job and all of its
child processes, in one fell swoop.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: increase number of intensive jobs run simultaneously
Jan Krüger [Fri, 5 Nov 2010 06:23:12 +0000 (5 07:23 +0100)]
jobd: increase number of intensive jobs run simultaneously

Most of the time these jobs will finish so quickly that they don't
effectively run simultaneously anyway.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: spawn new jobs more quickly after reaping old ones
Jan Krüger [Fri, 5 Nov 2010 06:08:21 +0000 (5 07:08 +0100)]
jobd: spawn new jobs more quickly after reaping old ones

Especially intensive processes are a bit slow now because they are
effectively limited to one per second. Eliminate this delay whenever we
know that we have just made room for running more processes.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: when running job callbacks, properly pass the job info structure
Jan Krüger [Fri, 5 Nov 2010 05:52:05 +0000 (5 06:52 +0100)]
jobd: when running job callbacks, properly pass the job info structure

Stopped working due to sloppy reworking of handler code in 0fdf2b89.
This fixes it.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: remember to mark finished jobs as finished
Jan Krüger [Fri, 5 Nov 2010 05:40:56 +0000 (5 06:40 +0100)]
jobd: remember to mark finished jobs as finished

Hurrrrr. Gurrrrrk.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: yet another typo fix
Jan Krüger [Fri, 5 Nov 2010 05:22:47 +0000 (5 06:22 +0100)]
jobd: yet another typo fix

Perhaps I should call it a day...

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: shotgun fixes for new job handling
Jan Krüger [Fri, 5 Nov 2010 05:17:54 +0000 (5 06:17 +0100)]
jobd: shotgun fixes for new job handling

- Disconnect child processes from our STDIN to prevent confusing them
- Shorten delay in children to prevent annoying slowdowns
- Don't consider processes for hang checks if they are not running in
  the first place
- Simplify and correctify code for running success/error handlers

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: fix a few typos that prevent it from running
Jan Krüger [Fri, 5 Nov 2010 05:01:18 +0000 (5 06:01 +0100)]
jobd: fix a few typos that prevent it from running

Go me.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: increase default parallelization limit to 20
Jan Krüger [Fri, 5 Nov 2010 04:58:20 +0000 (5 05:58 +0100)]
jobd: increase default parallelization limit to 20

Since we can now limit load-intensive processes separately, we can
easily run even more of the less intensive processes at the same time.
Let's do it.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: check for finished jobs in main loop
Jan Krüger [Fri, 5 Nov 2010 04:55:21 +0000 (5 05:55 +0100)]
jobd: check for finished jobs in main loop

The current approach using a signal handler seems slightly more prone to
weird things happening, such as the signal handler triggering just once
for several finished child processes or whatever. I dunno. Instead, just
check for terminated processes from within the main loop. Make the main
loop delay less so we don't get slowed down too much.

Also make spawned child processes wait for just a little moment before
running them so ultra-fast quitters don't race us.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: distinguish load-intensive jobs
Jan Krüger [Fri, 5 Nov 2010 04:15:21 +0000 (5 05:15 +0100)]
jobd: distinguish load-intensive jobs

Add a new class of jobs that prevents other jobs from running at the
same time, mostly designed for GC jobs.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: keep processing queue properly near the end
Jan Krüger [Fri, 5 Nov 2010 04:10:41 +0000 (5 05:10 +0100)]
jobd: keep processing queue properly near the end

Previously, jobd forgot to check periodically for status updates when
only a few running jobs and no queued jobs were left, instead checking
in a tight loop. Instead, make it sleep even then.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: simplify progress code
Jan Krüger [Fri, 5 Nov 2010 03:11:45 +0000 (5 04:11 +0100)]
jobd: simplify progress code

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: properly skip unnecessary jobs
Jan Krüger [Fri, 5 Nov 2010 03:10:40 +0000 (5 04:10 +0100)]
jobd: properly skip unnecessary jobs

Previously, jobs were skipped by having them execute /bin/false. That is
not only a waste of resources but can also cause annoying race
conditions if false exits more quickly than we can associate it with its
PID. Therefore, add a proper system for skipping jobs altogether and
include skipped jobs in progress output.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: properly handle SIGINT and SIGTERM
Jan Krüger [Fri, 5 Nov 2010 02:58:20 +0000 (5 03:58 +0100)]
jobd: properly handle SIGINT and SIGTERM

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: Queue GC operations even for projects that shouldn't run update
Jan Krüger [Fri, 5 Nov 2010 02:57:28 +0000 (5 03:57 +0100)]
jobd: Queue GC operations even for projects that shouldn't run update

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: when handling finished processes, ignore unstarted ones
Jan Krüger [Fri, 5 Nov 2010 02:26:49 +0000 (5 03:26 +0100)]
jobd: when handling finished processes, ignore unstarted ones

When processes start and exit very quickly, the SIGCHLD handler can
trigger warnings caused by 'running' jobs that haven't actually had
their processes started yet. Make it ignore those.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: make progress output time-dependent
Jan Krüger [Fri, 5 Nov 2010 02:24:03 +0000 (5 03:24 +0100)]
jobd: make progress output time-dependent

Up until now, jobd displayed progress approximately every ten jobs. That
is sometimes a lot and sometimes not very much. Instead, make it display
roughly once per minute.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: new progress output: fix typo
Jan Krüger [Fri, 5 Nov 2010 02:19:43 +0000 (5 03:19 +0100)]
jobd: new progress output: fix typo

Called a non-existent function. Doesn't now.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: in progress output, show list of running jobs
Jan Krüger [Fri, 5 Nov 2010 02:13:45 +0000 (5 03:13 +0100)]
jobd: in progress output, show list of running jobs

Currently, progress will simply show the same thing over and over again
if all running processes are busy for a long time. Instead, show which
ones they are and for how long we've been running them.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: fix Perl gotchas in SIGCHLD handler
Jan Krüger [Fri, 5 Nov 2010 02:03:43 +0000 (5 03:03 +0100)]
jobd: fix Perl gotchas in SIGCHLD handler

This time, Perl decided to turn an array into a scalar when I *didn't*
want it to. Balance is restored now.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: handle finished child processes
Jan Krüger [Fri, 5 Nov 2010 02:00:11 +0000 (5 03:00 +0100)]
jobd: handle finished child processes

Durrr. The code was all there, but the handler for finished processes
was not actually getting used. Now it is.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: keep looping the queue even if running queue is full
Jan Krüger [Fri, 5 Nov 2010 01:53:58 +0000 (5 02:53 +0100)]
jobd: keep looping the queue even if running queue is full

Due to a leftover from a previous version of the code, the queue loop
was prematurely aborted once three processes were running in parallel.
This changes one word into another, eliminating the problem.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: properly display queue sizes
Jan Krüger [Fri, 5 Nov 2010 01:48:27 +0000 (5 02:48 +0100)]
jobd: properly display queue sizes

Small Perl gotcha: @foo as a %d arg to printf will not magically be run
in scalar context, thus outputting a numeric value for something. Fix by
explicitly making it scalar.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: fix flipped boolean logic in nofetch check
Jan Krüger [Fri, 5 Nov 2010 01:46:51 +0000 (5 02:46 +0100)]
jobd: fix flipped boolean logic in nofetch check

Apparently you have to use the right boolean operator or jobd will
update precisely those projects that don't want to be updated. Hum.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd.sh: keep using old version for now
Jan Krüger [Fri, 5 Nov 2010 01:28:10 +0000 (5 02:28 +0100)]
jobd.sh: keep using old version for now

The new jobd is still work in progress, so let's keep the old one around
for now.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: make --help give more details
Jan Krüger [Fri, 5 Nov 2010 01:24:15 +0000 (5 02:24 +0100)]
jobd: make --help give more details

Turns out auto_help prints only the synopsis, when for full help we
actually want more than that.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: add --progress to display updates even if --quiet is on
Jan Krüger [Fri, 5 Nov 2010 01:20:03 +0000 (5 02:20 +0100)]
jobd: add --progress to display updates even if --quiet is on

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agojobd: increase timeout to 15 minutes
Jan Krüger [Fri, 5 Nov 2010 01:19:22 +0000 (5 02:19 +0100)]
jobd: increase timeout to 15 minutes

... in case some of the updates/gcs take very long (which is entirely
possible).

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agoIntroduce new jobd written in Perl
Jan Krüger [Fri, 5 Nov 2010 00:54:41 +0000 (5 01:54 +0100)]
Introduce new jobd written in Perl

New jobd, instead of calling the jobs one after another, can launch
several of them in parallel. It can also kill long-running jobs on the
assumption that they are hanging.

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agoGirocco/Project.pm: add static method to get list of all projects
Jan Krüger [Thu, 4 Nov 2010 21:15:18 +0000 (4 22:15 +0100)]
Girocco/Project.pm: add static method to get list of all projects

Signed-off-by: Jan Krüger <jk@jk.gs>
14 years agocopy refs when creating a new fork
Daniel Knittl-Frank [Wed, 15 Sep 2010 18:12:36 +0000 (15 20:12 +0200)]
copy refs when creating a new fork

this also pre-populates a fork with all commits from the parent -- which
makes a lot of sense. they were there before, but the refs pointing to
the commits were missing.

pushes to forks now only push new revs, which are not already present in
the parent project.

14 years agoRevert "Finalized fix, we can't git fetch any longer."
Kirill Smelkov [Sat, 18 Sep 2010 09:58:54 +0000 (18 13:58 +0400)]
Revert "Finalized fix, we can't git fetch any longer."

This reverts commit 1b442bd3713465e05e7e1a2c46d2439508dd2d4e.

Andrew forgot to revert this when he was reverting his experiments
in 1cb526 (Readded the trick.) .

Andrew, please be careful not to introduce regressions - without this
fetch, svn mirrors won't update their git refs, and so would become
stale.

Cc: Andrew Steinborn <g33kdyoo@gmail.com>
14 years agotaskd/clone: ask git-svn to store branches under svn-origin/heads/* instead of svn...
Kirill Smelkov [Sat, 18 Sep 2010 09:58:53 +0000 (18 13:58 +0400)]
taskd/clone: ask git-svn to store branches under svn-origin/heads/* instead of svn-origin/*

The trick originally suggested by Mikls Vajna does the following:

    refs/remotes/svn-origin/heads/*     ->  refs/heads/*
    refs/remotes/svn-origin/trunk       ->  refs/heads/master
    refs/remotes/svn-origin/tags/*      ->  refs/tags/*

The problem is git-svn now stores svn branches under
refs/remotes/svn-origin/* (not refs/remotes/svn-origin/heads/* as we
used to expect), and so the first mapping does nothing, and we end up
without svn branches in refs/heads/ namespace.

So, to avoid the problem let's ask git-svn to put svn branches under
svn-origin/heads/* -- then our mapping will work as expected, and it
will fix girocco problem of not propagating svn branches (except trunk)
to git refs/heads/ namespace.

Note: we can't write ``+refs/remotes/svn-origin/*:refs/heads/*'' in the
mapping instead, because then it will recursively put everything from
under svn-origin/ into refs/heads/ , at least including tags/ .

( Eric, at least it seems a bit unflexible for storing svn branches right under
  $prefix/ -- as you can see for automated git mirroring of svn repos, I
  had to tweak git config by hand... )

Cc: Andrew Steinborn <g33kdyoo@gmail.com>
Cc: Miklos Vajna <vmiklos@frugalware.org>
Cc: Eric Wong <normalperson@yhbt.net>
14 years agotaskd/clone: Store git-svn refs under svn-origin remote
Kirill Smelkov [Sat, 18 Sep 2010 09:58:52 +0000 (18 13:58 +0400)]
taskd/clone: Store git-svn refs under svn-origin remote

Previously git-svn stored everything right under refs/remotes/ , and now
I'm putting svn-mirrored refs under refs/remotes/svn-origin/ .

This makes sense, since it helps debugging svn-mirroring problems - e.g.
at present we don't forward to visible git namespace svn branches at
all.

Cc: Andrew Steinborn <g33kdyoo@gmail.com>
Cc: Miklos Vajna <vmiklos@frugalware.org>
14 years agoAdded dead man's switch to jobd.sh
Richard Hartmann [Sat, 18 Sep 2010 21:02:15 +0000 (18 23:02 +0200)]
Added dead man's switch to jobd.sh

14 years agoFixed a typo in taskd/clone.sh
Andrew Steinborn [Sun, 12 Sep 2010 19:22:24 +0000 (12 15:22 -0400)]
Fixed a typo in taskd/clone.sh

14 years agoReadded the trick.
Andrew Steinborn [Sun, 12 Sep 2010 19:15:40 +0000 (12 15:15 -0400)]
Readded the trick.

I was a git noob and after talk with Petr I need to revert.

14 years agoMerge branch 'master' of ssh://repo.or.cz/srv/git/girocco
Andrew Steinborn [Sun, 12 Sep 2010 18:10:32 +0000 (12 14:10 -0400)]
Merge branch 'master' of ssh://repo.or.cz/srv/git/girocco

14 years agoFixed git svn init with -s
Andrew Steinborn [Sun, 12 Sep 2010 18:08:52 +0000 (12 14:08 -0400)]
Fixed git svn init with -s

14 years agoUpdate TODO.
Peter Zotov [Sun, 12 Sep 2010 10:19:53 +0000 (12 14:19 +0400)]
Update TODO.

14 years agoMade it impossible for the mob user to delete the mob branch.
Andrew Steinborn [Sun, 12 Sep 2010 06:01:44 +0000 (12 02:01 -0400)]
Made it impossible for the mob user to delete the mob branch.

This will ease the repository pushers (not the mob! ;P)

14 years agoFinalized fix, we can't git fetch any longer.mob
Andrew Steinborn [Sun, 12 Sep 2010 04:49:41 +0000 (12 00:49 -0400)]
Finalized fix, we can't git fetch any longer.

14 years agoNow fixed.
Andrew Steinborn [Sun, 12 Sep 2010 04:39:01 +0000 (12 00:39 -0400)]
Now fixed.

14 years agoFound the problem, now fully fixed (removed a trick).
Andrew Steinborn [Sun, 12 Sep 2010 04:34:30 +0000 (12 00:34 -0400)]
Found the problem, now fully fixed (removed a trick).

14 years agoAttempt to fix mirroring (3).
Andrew Steinborn [Sun, 12 Sep 2010 04:29:22 +0000 (12 00:29 -0400)]
Attempt to fix mirroring (3).

14 years agoAttempt to fix mirroring (2).
Andrew Steinborn [Sun, 12 Sep 2010 04:25:23 +0000 (12 00:25 -0400)]
Attempt to fix mirroring (2).

14 years agoAttempt to fix mirroring.
Andrew Steinborn [Sun, 12 Sep 2010 04:19:03 +0000 (12 00:19 -0400)]
Attempt to fix mirroring.

14 years agoFinal svn+https:// fix -- defined in Util.pm
Andrew Steinborn [Sun, 12 Sep 2010 03:54:53 +0000 (11 23:54 -0400)]
Final svn+https:// fix -- defined in Util.pm

14 years agoSimplifed the code to do svn+https:// in taskd
Andrew Steinborn [Sun, 12 Sep 2010 03:40:41 +0000 (11 23:40 -0400)]
Simplifed the code to do svn+https:// in taskd

14 years agoTought girocco how to handle svn+https
Andrew Steinborn [Sun, 12 Sep 2010 03:33:23 +0000 (11 23:33 -0400)]
Tought girocco how to handle svn+https

14 years agoAdd support for mirroring svn+https: URLs.
Robert Ransom [Fri, 3 Sep 2010 17:28:48 +0000 (3 10:28 -0700)]
Add support for mirroring svn+https: URLs.

SourceForge SVN can only be checked out over HTTPS.

14 years agoMake sure our cronjobs never run twice in parallel
Petr Baudis [Thu, 10 Jun 2010 18:16:50 +0000 (10 20:16 +0200)]
Make sure our cronjobs never run twice in parallel

14 years agojailsetup.sh: chown etc/sshkeys to CGI user
Petr Baudis [Thu, 6 May 2010 18:37:37 +0000 (6 20:37 +0200)]
jailsetup.sh: chown etc/sshkeys to CGI user

14 years agojailsetup.sh: Support for installing on 32-bit system
Petr Baudis [Thu, 6 May 2010 16:00:15 +0000 (6 18:00 +0200)]
jailsetup.sh: Support for installing on 32-bit system

Based on a patch by tychoish.

14 years agotaskd/clone: quote shell metacharacters where appropriate
Kirill Smelkov [Mon, 22 Mar 2010 11:08:00 +0000 (22 14:08 +0300)]
taskd/clone: quote shell metacharacters where appropriate

At present this involves svn mirror setup -- refspec mappings contain
shell wildcards. Quote them just in case.

14 years agotaskd/clone: Don't forget to use 'git config --add' for multivars setup
Kirill Smelkov [Mon, 22 Mar 2010 11:07:59 +0000 (22 14:07 +0300)]
taskd/clone: Don't forget to use 'git config --add' for multivars setup

Neat Trick suggested by Miklos Vajna setups origin remote as '.' and
also setups 3 refspecs for remotes.origin.fetch.

The trick is nice indeed, but in order to setup config multivar, one
have to use explicit --add option for `git config' (*) or else old var
value is just replaced.

The problem showed in svn-mirror repositories with stale master (was not
updating from trunk) and also as lack of branches -- that's
understandable -- we had '+refs/remotes/tags/*:refs/tags/*' config last,
and tags were working OK.

Fix it.

(*) explicit --add was needed since 89c4afe0 (Add --add option to
    git-repo-config) in git.git, which dates to git v1.4.4.2-225-g89c4afe

14 years agoTeach Girocco to mirror http:// style SVN repos
Kirill Smelkov [Mon, 22 Mar 2010 11:08:01 +0000 (22 14:08 +0300)]
Teach Girocco to mirror http:// style SVN repos

Currently we can mirror svn:// repos, but http:// is assumed to be used
for Git. Teach the tool to use svn+http:// style urls for http:// svn
repositories.

This is very needed, because most SVN hosting services only provide
http:// style access to their services. e.g. google code, python.org,
etc...

This has not been tested on full Girocco installation - just partly. But
if it works, let's also add svn+https later.

14 years agojobd: Fix other check_all_projects invocations
Petr Baudis [Thu, 11 Feb 2010 12:30:23 +0000 (11 13:30 +0100)]
jobd: Fix other check_all_projects invocations

14 years agoGirocco::Util::valid_repo_url() allow ':' after protocol://
Miklos Vajna [Wed, 10 Feb 2010 23:05:44 +0000 (11 00:05 +0100)]
Girocco::Util::valid_repo_url() allow ':' after protocol://

It's needed for the "bzr://lp:foo"-style urls.

14 years agotaskd/clone.sh: Syntax error fix
Petr Baudis [Thu, 11 Feb 2010 12:28:12 +0000 (11 13:28 +0100)]
taskd/clone.sh: Syntax error fix

14 years agoAdd support for mirroring bzr repos
Miklos Vajna [Thu, 28 Jan 2010 01:17:04 +0000 (28 02:17 +0100)]
Add support for mirroring bzr repos

14 years agoMerge branch 'master' of git+ssh://repo.or.cz/srv/git/girocco
Petr Baudis [Wed, 10 Feb 2010 15:19:44 +0000 (10 16:19 +0100)]
Merge branch 'master' of git+ssh://repo.or.cz/srv/git/girocco

14 years agojobd: Start first update round at a random point instead of always the beginning
Petr Baudis [Wed, 10 Feb 2010 15:19:39 +0000 (10 16:19 +0100)]
jobd: Start first update round at a random point instead of always the beginning

14 years agoregproj: Escape $ in command line example.
Brian Hetro [Sun, 7 Feb 2010 16:27:02 +0000 (7 11:27 -0500)]
regproj: Escape $ in command line example.

14 years agoAdd instructions on how to import your project
Arnout Engelen [Sun, 7 Feb 2010 15:05:16 +0000 (7 16:05 +0100)]
Add instructions on how to import your project

14 years agoGirocco::Util:valid_web_url(): Allow ":"
Brian Hetro [Tue, 26 Jan 2010 03:12:01 +0000 (25 22:12 -0500)]
Girocco::Util:valid_web_url(): Allow ":"

This allows URLs such as "http://repo.or.cz/w/foo.git/blob_plain/master:/bar"

Acked-by: Petr Baudis <pasky@suse.cz>
14 years agogitweb_config.perl: Add charset info of utf-8 if blob_plain output of a text/plain...
Brian Hetro [Tue, 26 Jan 2010 03:04:12 +0000 (25 22:04 -0500)]
gitweb_config.perl: Add charset info of utf-8 if blob_plain output of a text/plain blob

Acked-by: Petr Baudis <pasky@suse.cz>
14 years agojobd/update.sh: darcs-specific typo fixes
Miklos Vajna [Sun, 24 Jan 2010 23:31:54 +0000 (25 00:31 +0100)]
jobd/update.sh: darcs-specific typo fixes

The same darcs-specific problems we already fixed for cloning.

14 years agoINSTALL: document two external dependencies used by darcs-fast-export
Miklos Vajna [Sun, 24 Jan 2010 22:51:57 +0000 (24 23:51 +0100)]
INSTALL: document two external dependencies used by darcs-fast-export

14 years agotaskd/clone.sh: fix typo in darcs error checking
Miklos Vajna [Sun, 24 Jan 2010 22:47:58 +0000 (24 23:47 +0100)]
taskd/clone.sh: fix typo in darcs error checking

14 years agogit.git: Revert spurious revision change
Petr Baudis [Fri, 22 Jan 2010 17:38:01 +0000 (22 18:38 +0100)]
git.git: Revert spurious revision change

14 years agoUpdate bzr-fastimport.git
Miklos Vajna [Fri, 22 Jan 2010 03:00:20 +0000 (22 04:00 +0100)]
Update bzr-fastimport.git

The new tip has a fix for Python-2.5 compatibility.

14 years agotaskd/clone.sh: check for darcs-fast-export exit code
Miklos Vajna [Fri, 22 Jan 2010 01:45:23 +0000 (22 02:45 +0100)]
taskd/clone.sh: check for darcs-fast-export exit code

14 years agotaskd/clone.sh: avoid unnecessary escape in darcs:// -> http:// mapping
Miklos Vajna [Fri, 22 Jan 2010 01:19:07 +0000 (22 02:19 +0100)]
taskd/clone.sh: avoid unnecessary escape in darcs:// ->  mapping

Actually the extra escape is not just unnecessary but is a bug.

14 years agovalid_repo_url(): Allow darcs urls
Petr Baudis [Fri, 22 Jan 2010 00:55:43 +0000 (22 01:55 +0100)]
valid_repo_url(): Allow darcs urls

14 years agodarcs-fast-export: Put in basedir/bin/ during installation, call it from there
Petr Baudis [Fri, 22 Jan 2010 00:09:13 +0000 (22 01:09 +0100)]
darcs-fast-export: Put in basedir/bin/ during installation, call it from there

14 years agogit_darcs_fetch(): Move from shlib to jobd/update.sh
Petr Baudis [Thu, 21 Jan 2010 23:57:34 +0000 (22 00:57 +0100)]
git_darcs_fetch(): Move from shlib to jobd/update.sh

14 years agoinstall.sh: fix for bash-4.0
Miklos Vajna [Sat, 28 Nov 2009 00:03:45 +0000 (28 01:03 +0100)]
install.sh: fix for bash-4.0

See http://lists.gnu.org/archive/html/bug-bash/2009-07/msg00069.html

14 years agoAdd support for mirroring darcs repos
Miklos Vajna [Sat, 28 Nov 2009 00:03:44 +0000 (28 01:03 +0100)]
Add support for mirroring darcs repos

14 years agoAdd bzr-fastimport.git as a submodule
Miklos Vajna [Sat, 28 Nov 2009 00:03:43 +0000 (28 01:03 +0100)]
Add bzr-fastimport.git as a submodule

We need darcs-fast-export from there.