SVN pre-commit hook checking Lua syntax

A little script that might be useful for Lua developers on SVN. Disallows committing any Lua files to the repo, unless they have a --BAD-- (dash, dash, BAD, dash, dash) inside somewhere. Gotta have perl and lua installed.

pre-commit:

#!/bin/sh

REPOS="$1"
TXN="$2"

if /home/wowzygor/usr/svn/hooks/check_lua_precommit.pl "$REPOS" "$TXN"; then
  echo q
  # OK
else
  exit 1
fi

exit 0

check_lua_precommit.pl:

#!/usr/bin/perl

my $repos = shift;
my $txn = shift;

if ($txn) { $ttxn = "-t $txn"; }

print STDERR "\n========================\n\n";
my $errcode = 0;
foreach my $line (`svnlook changed $ttxn "$repos"`)
{
  chomp($line);
  if ($line !~ /^([AUD]).\s\s(.+)$/)
  {
    print STDERR "Can't parse [$line].\n";
    exit(1);
  }
  else
  {
    my $action = $1;
    my $file = $2;
    chomp($file);

    #If path has trailing slash, then it is a folder and we want to skip folders
    if($file =~ /\/$/)
    {
      next;
    }

    if ($action =~ /[AU]/)
    {
      if ($file =~ /\.lua$/) {
        $err = `svnlook cat $ttxn "$repos" "$file" | luac -p - 2>&1`;
		if ($?) {
			$badtag = `svnlook cat $ttxn "$repos" "$file" | grep "\\--BAD--"`;
			if (!$badtag) {
				print STDERR ("*** ERROR PARSING $file:\n$err");
				$errcode += 1;
			} else {
				print STDERR ("*** KNOWN --BAD-- $file:\n$err");
			}
		}
      }
    }
  }
}

print STDERR "\n------------------------\n\n";

if ($errcode) {
	print STDERR "Committing bad Lua files is NOT allowed. If you really, really, really need to commit them, add \"--BAD--\" to them anywhere.\n"
}

print STDERR "\n========================\n\n";

exit $errcode;

Na Woodstock!

Dziś wieczorem, wcześniej niż zwykle, ruszam na Woodstock. Tym razem nie “rzeźnią”, czyli specjalnym tanim pociągiem pełnym pijanej młodzieży młodszej, starszej i jeszcze starszej, tylko kulturalnym pośpiechem – niestety za kilkadziesiąt złociszy drożej, ale przynajmniej (może) się wyśpię.
Z “zabawek” tym razem wiozę węża ogrodowego z przyłączem do kranu (zamiast zeszłorocznego prysznica – teraz zrobię konkurencję “grzybkowi” ;P) oraz ciśnieniowy ręczny spryskiwacz ogrodowy o zasięgu poprawionym do jakichś 3 m. Oj, będzie wszechmokro. :]

Szlakiem automatów nadmorskich – edycja 2

No i się stało – pojechałem znowu, popedałowałem trochę, i wróciłem. Przejechałem, zgodnie z planem, wybrzeże (tym razem) od zachodu – Międzyzdroje – po wschód – Hel. Wszelkie napotkane automaty do gier muzycznych zostały skrupulatnie spisane, wedle założeń wycieczki, i zostaną równolegle na Krokmanię oraz DDR Poland wywieszone, wraz z mapką rozmieszczenia maszyn.

Uwaga: długie, szczegółowe i pełne anegdotek z podróży. Tak, żebym więcej nie zapomniał, komu o czym opowiadałem… ;P
Continue reading “Szlakiem automatów nadmorskich – edycja 2”

Remanęt… Remananęt… Renamęt… Inwentaryzacja!

Kryj się kto może, robię porządki we wszelkich badziewiach elektronicznych, które gdzieś mi w domu zalegają.

Ta lista będzie się w real-time poszerzać o kolejne znaleziska.

Monitory

  • Daewoo 712B (CRT, 17″)
  • Daytek DT-1531D (CRT, 15″)

Kompy kompletne

  • Proc: Intel P75
    Płyta: cholera wie
    RAM: 16 MB (4×4 MB SIMM)
    Grafa: S3 Trio32
    Muza: ESS AudioDrive
    Obudowa: AT beż
    Zasilacz: Highscreen SSH-150G
    CD-ROM Matsushita jakiś, FDD 3.5″
    … dysk można jakiś wsadzić
  • Proc: AMD 1 GHz jakiś
    Płyta: Gigabyte GA-7VT600
    RAM: brak DDR2
    Grafa: Radeon 9600
    Muza: on-board
    Obudowa: Magic szara midi-tower
    Zasilacz: MODECOM ATX-350GTF(PF)
    CD-RW DVD-R jakiś, FDD 3.5″
    … dysk można wsadzić, RAM by się przydał
  • Proc: AMD K5-166
    Płyta: czort wie
    RAM: 128 MB (2×64 DIMM)
    Grafa: Trident TVGA9000i-1
    Muza: ESS
    Obudowa: srebrna midi-tower
    Zasilacz: EC 200XA1
    HDD: Samsung WA32162A (Slack :))
    … coś z zasilaniem nie tak, problemy z włączaniem?
  • Proc: AMD K6 400
    Płyta: PA-2013
    RAM: 32 MB
    Grafa: Diamond Viper V770 ATX AGP 32MB
    CD-ROM: 32x
    Obudowa: beż mini-tower
    Zasilacz: ATX-250
    … dysk można jakiś wsadzić

Płyty główne

  • 6ABX2V (Slot1) (“unknown flash type”?) + proc Intel P3 500
  • PC100 BXcel + proc Celeron 300
  • MX coś + proc AMD 386 DX-40
  • A-Trend ATC-6240 (Slot1) (trup?)

Pamięci

  • 32 MB PC100 (B6483B)
  • 64 MB PC100 x2

Obudowy

  • ATX beżowoszara jakaś

Zasilacze

  • Emiter 200W (masakra)
  • MODECOM ATX-250GTF
  • ATX jakiś

Karty graficzne

  • NVidia jakaś, 8872 ver 200 cośtam… z byczym radiatorem Accelero S2
  • NVidia GeForce 2 MX
  • Diamond S3 Trio 3D/2X (ISA)
  • Trident 3DImage9750 4MB AGP

CD/DVD

  • CD RICOH MP7120A
  • CD CyberDrive 240D 24x
  • CD-RW LiteOn LTR-32123S

Dyski

  • WD200 20 GB
  • ST33221A 3 GB
  • ST32110A 2 GB

Laptopy sieroty

  • Fujitsu Siemens Lifebook S Series (P3 750) (brak zasilacza: 16V)
  • Compaq Presario 1246 CM2070 (AMD 475, 10 GB HDD) (brak zasilacza: 19V)

Rozmaite

  • Filtr antyradiacyjny 15″
  • Modem DeskPorte 56k PCI
  • Modem Conexant RS56/SP-PCI
  • Modem Pentagram jakiś na Conexancie
  • Modem Motorola SM56 PCI
  • Skaner Primax Colorado 600p
  • Skaner Lexmark X1180
  • Firewire adapter Firestorm PCI
  • USB OPTi FireLink PCI
  • Karta Asus WiFi@Home
  • Karta dźwiękowa Creative Labs Sound Blaster jakiś CT4810
  • 3 napędy flopek 3.5″

Kinematografia analna

Tyle czasu już zabawa widniejąca w tytule tego wpisu krąży wśród niewinnych umysłów rozmaitych znajomych, a jeszcze nikt – po googlu patrząc – nie opisał zasad owej cudownej rozrywki dla światłych amatorów ruchomych obrazów…

Czytajcie zatem, i miejcie zlitowanie dla tego, kto Was tak urządzi, gdy zaczniecie podświadomie w zabawie tej uczestniczyć w najmniej odpowiednich momentach.

Oto zabawa w “kinematografię analną”, w “filmy w dupie”, czy też po prostu w “filmy”.

Continue reading “Kinematografia analna”

Relacja – dzień 7: niedziela, 6.07.08

Pobudki w Pomiocie okazały się dość typowo wczesne – szósta i już jestem na nogach. Zwinąłem Pomiot po raz ostatni, pożegnałem szefostwo pola namiotowego, i ruszyłem w ostatni etap. Cel – Świnoujście, po drodze zahaczając o kilka miejscowości: nieduży Rewal, nieźle zatłoczone Pobierowo, mały Dziwnówek na skrzyżowaniu trasy dziwnowskiej i szczecińskiej, spory i nieludzko zapchany automatami Dziwnów (dwie “Krokmanie”, PIU EXCEED i dwa nowiutkie PIU NX2), aż wreszcie Międzyzdroje, spore, lecz nieurodzajne.

Continue reading “Relacja – dzień 7: niedziela, 6.07.08”