Archiwum kategorii: narzędzia - Strona 4

Beryl vs Vista

Ktoś widział pulpit Visty ? (ja sie nie skusiłem) To popatrzy niech teraz na Beryla:

Jabber google firefox itp

Ostatnio wpadł mi do Firefox’a ciekawie zapowiadający się plugin SamePlace. Używając sieci Jabber (więc także Google Talk) pozwala on oprócz komunikacji tekstowej (zwykły chat) na:

  • używanie wspólnej tablicy do rysowania (Whiteboard),
  • wspólnego widoku wskaźnika myszy (po otwarciu tej samej strony przez obie strony konwersacji można wskazywać rózne elementy na ekranie)
  • współdzielić oglądanie prezentacji,
  • zsynchronizowanych map Google,
  • wysłać link do aktualnie oglądanej strony przy pomocy funkcji ‘Send link to…’,
  • przeciągać obrazki z oglądanej strony bezpośrednio do okna rozmowy,
  • otwierać odnośniki na stronach w formacie xmpp:,
  • grać w szachy (wersja alfa ;) ),

Wersja stabilna to w tej chwili 0.6.0 ale już teraz pozwala na przyspieszenie współpracy z naszymi znajomymi/ współpracownikami.

Co do samego Google Talk to do swojej strony startowej http://www.google.pl/ig można dodać sobie odpowiedni Google Talk Gadget.

Picasa Web Albums puchnie

Dzień prezentów dziś się jeszcze nie skończył. Tym razem Google w Picasa Web Albums zwiekszyła pojemność konta (na fotki oczywiście) z 250MB do 1GB oraz dodana została wyszukiwarka by łatwiej odnajdywać albumy.

Picasa Web Albums – jeżeli jeszcze ktoś nie wiem – jest bezpłatną, internetową galerią zdjęć zintegrowaną z programem Picasa do katalogowania i obróbki zdjęć dostarczanym (tu niespodzianka: także bezpłatnie :) ) przez Google.

Picasa integruje się także z Bloggerem oraz Gmailem.

iPhone w akcji

Nawet nic nie będę pisał, zobaczcie sami jak działa.

automatyzacja pracy z svn – svnauto

Svnauto jest wrapperem konsolowej komendy ‘svn’, który automatyzuje i standaryzuje wykonywanie rozgałęzień (branches) i złączeń (merge).

SC jest skryptem napisanym w języku Ruby i jest dostępny poprzez RubyGems:

gem install svnauto --include-dependencies

Hmm, ale czemu to nie działa?

Skrypt sc bazuje na komunikatach zwracanych przez komendę svn w języku angielskim, więc nie będzie działać poprawnie w innych lokalizacjach. Można to rozwiązać np. tak:

mv /usr/bin/sc /usr/bin/sc.orig

stworzyć nowy plik /usr/bin/sc:

#!/bin/bash
LC_ALL=C
/usr/bin/sc.orig $*

i nadać mu prawa do wykonywania (w przypadku systemów Linux):

chmod 755 /usr/bin/sc

Podstawy na początek

Standardowa praca z SC wygląda mniej więcej tak:

Konfigurujemy dostęp do naszego repozytorium (SC obsługuje ich wiele)

  sc config --add

Tworzymy nowy projekt (zostaniemy zapytani o repozytorium, którego chcemy użyc)

  sc create my-new-project

W naszym repozytorium zostanie dodany katalog my-new-project wraz ze strukturą:

 myproject:
  |
  +--trunk
  |   |
  |   +--project-files
  |
  +--branches
  |   |
  |   +--rel
  |   +--bug
  |   +--exp
  |
  +--tags
      |
      +--rel
      +--bug
      +--exp

Do katalogu ze zródłami lokalnymi (domyślnie ~/src, ale możemy to zmienić podczas konfigurowania repozytorium w SC) zostanie wyciągnięty trunk naszego nowego projektu do katalogu ~/src/nazwa_repozytorium/my-new-project-trunk.

W przypadku kolejnych pobrań projektu (np, na inną maszynę, dla innego użytkownika) wywołujemy komendę:

 sc checkout my-new-project

i dostaniemy domyślnie źródła trunk’a do lokalnej kopii. Używając opcji w linii komend (-r, -b, -e) możemy pobrać odpowiednio wybrany release, bug lub eksperymentalną gałąź.

Tu sobie pracujemy normalnie jak to z SVN’em bywa, add, commit, update.

Kolejne wydania

Aby wydać kolejną wersję naszego projektu wydajemy komendę:

 sc release 1.0.0

Nasz trunk zostanie skopiowany do branches/rel/1.0 i tags/rel/1.0 oraz do ~src/nazwarepozytorium/my-new-project-rel-1.0 zostanie wyciągnięty ten release.

Praca z błędami

Jeżeli znajdziemy błąd, wydajemy komendę:

 sc bug 1

gdzie 1 to numer błędu (przydzielony np przez trac‘a). W naszym repozytorium zostanie założony katalog branches/bug/1 i oczywiście trafi do nas jego lokalna kopia ~/src/nazwarepozytorium/my-new-project-bug-1.

Po naprawieniu błędu zamykamy go (i zatwierdzeniu zmian przez ‘commit’ oczywiście):

 sc bug --close 1

Zostaniemy zapytani czy zrobić merge naszej poprawki do release 1.0, a następnie czy chcemy też tą poprawkę zmergować do trunk’u, gdzie najczęściej na wszystko się potulnie zgadzamy.

Wersje eksperymentalne

Tworząc nowy eksperymentane rozgałęzienie kodu wydajemy komendę:

 sc exp new_feature

Podczas pracy z taką gałęzią przyda nam się możliwość złączenia zmian z trunk’a do nas:

 sc expt --up new_feature

oraz na zakończenie prac (lub w miarę potrzeb) złączenie gałęzi eksperymentalnej z trunkiem:

 sc exp --down new_feature

Co ja z tego mam

Dzięki svnauto możemy zapomnieć o podawaniu pełnej ścieżki do repozytorium (jest skonfigurowana na początku pracu), więc przeglądanie projektu umożliwia nam prosta komenda

 sc list my-new-project

Dodatkowo mamy porządek w naszym repozytorium. Nawet jeżeli będziemy potrzebowali złączyć kilka rozgałęzień w jeden niestandardowy projekt z różnymi poprawkami, łatwo nam jest odnaleźć wszystkie potrzebne nam gałęzie i pojedynczo połączyć.

Praca nad poprawkami i nowymi wersjami jest prosta dzięki automatycznemu łączeniu odpowiednich gałęzi. Oczywiście nie uwolni nas to od rozwiązywania konfliktów, ale operacje, które wykonujemy już prawie automatycznie (prawie robi różnicę, np literówki, błąd w nazwie gałęzi) są robione naprawdę automatycznie.

Dzięki temu możemy się skupić na pracy nad projektem, zamiast nad prowadzeniem repozytorium do projektu.

aardvark 2.0

Może jestem spóźniony ale znalazłem nowego aardvark’a na http://addons.mozilla.org/ w wersji 2.0 działający z firefox’em 2, więc mój fix na wersję 1.1 dla firefox’a 2 przestał być potrzebny.