darcs - Aula Polska
Transkrypt
darcs - Aula Polska
łatki darcs w praktyce darcs system kontroli wersji dla wybrednych Paweł Kołodziej <[email protected]> 16 grudnia 2008 Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce teoria łatek Teoria Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce teoria łatek łatka zmiany w plikach zależności od innych łatek nazwa, data, autor repozytorium zbiór łatek porządek łatek wyznaczony przez ich wzajemne zależności Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce teoria łatek łatka zmiany w plikach zależności od innych łatek nazwa, data, autor repozytorium zbiór łatek porządek łatek wyznaczony przez ich wzajemne zależności Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce teoria łatek teoria łatek teoria łatek inspirowana operatorami z mechaniki kwantowej łatki komutują lub nie łatki i łatki odwrotne teoria określa, czy można wziąć jedną łatkę, nie biorąc innej, oraz jak to zrobić camp http://projects.haskell.org/camp/ We are working towards a specification of the theory, a formal proof that it is correct, and an open source (BSD license) implementation. Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce teoria łatek teoria łatek teoria łatek inspirowana operatorami z mechaniki kwantowej łatki komutują lub nie łatki i łatki odwrotne teoria określa, czy można wziąć jedną łatkę, nie biorąc innej, oraz jak to zrobić camp http://projects.haskell.org/camp/ We are working towards a specification of the theory, a formal proof that it is correct, and an open source (BSD license) implementation. Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność Praktyka Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność tworzenie repozytorium darcs init --darcs-2 darcs get http://darcs.net/ cache łatek Każde repozytorium jest niezależną gałęzią (branchem). Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność tworzenie repozytorium darcs init --darcs-2 darcs get http://darcs.net/ cache łatek Każde repozytorium jest niezależną gałęzią (branchem). Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność rejestrowanie lokalnych zmian darcs add plik2.txt darcs remove plik2.txt darcs mv staryPlik.txt nowyPlik.txt Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność rejestrowanie lokalnych zmian darcs add plik2.txt darcs remove plik2.txt darcs mv staryPlik.txt nowyPlik.txt Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność rejestrowanie lokalnych zmian darcs add plik2.txt darcs remove plik2.txt darcs mv staryPlik.txt nowyPlik.txt Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność darcs record hunk ./plik.txt 1 +tekst dodany na poczatku pliku Shall I record this change? (1/3) hunk ./plik.txt 4 +tekst dodany w srodku Shall I record this change? (2/3) [ynWsfvpxdaqjk], or ? for help: y [ynWsfvpxdaqjk], or ? for help: y hunk ./plik.txt 7 +tekst na koncu Shall I record this change? (3/3) [ynWsfvpxdaqjk], or ? for help: What is the patch name? kilka nowych linii Do you want to add a long comment? [yn] n Finished recording patch ’kilka nowych linii’ Paweł Kołodziej <[email protected]> darcs y łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność darcs record hunk ./plik.txt 1 +tekst dodany na poczatku pliku Shall I record this change? (1/3) hunk ./plik.txt 4 +tekst dodany w srodku Shall I record this change? (2/3) [ynWsfvpxdaqjk], or ? for help: y [ynWsfvpxdaqjk], or ? for help: y hunk ./plik.txt 7 +tekst na koncu Shall I record this change? (3/3) [ynWsfvpxdaqjk], or ? for help: What is the patch name? kilka nowych linii Do you want to add a long comment? [yn] n Finished recording patch ’kilka nowych linii’ Paweł Kołodziej <[email protected]> darcs y łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność darcs record hunk ./plik.txt 1 +tekst dodany na poczatku pliku Shall I record this change? (1/3) hunk ./plik.txt 4 +tekst dodany w srodku Shall I record this change? (2/3) [ynWsfvpxdaqjk], or ? for help: y [ynWsfvpxdaqjk], or ? for help: y hunk ./plik.txt 7 +tekst na koncu Shall I record this change? (3/3) [ynWsfvpxdaqjk], or ? for help: What is the patch name? kilka nowych linii Do you want to add a long comment? [yn] n Finished recording patch ’kilka nowych linii’ Paweł Kołodziej <[email protected]> darcs y łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność darcs record hunk ./plik.txt 1 +tekst dodany na poczatku pliku Shall I record this change? (1/3) hunk ./plik.txt 4 +tekst dodany w srodku Shall I record this change? (2/3) [ynWsfvpxdaqjk], or ? for help: y [ynWsfvpxdaqjk], or ? for help: y hunk ./plik.txt 7 +tekst na koncu Shall I record this change? (3/3) [ynWsfvpxdaqjk], or ? for help: What is the patch name? kilka nowych linii Do you want to add a long comment? [yn] n Finished recording patch ’kilka nowych linii’ Paweł Kołodziej <[email protected]> darcs y łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność darcs record hunk ./plik.txt 1 +tekst dodany na poczatku pliku Shall I record this change? (1/3) hunk ./plik.txt 4 +tekst dodany w srodku Shall I record this change? (2/3) [ynWsfvpxdaqjk], or ? for help: y [ynWsfvpxdaqjk], or ? for help: y hunk ./plik.txt 7 +tekst na koncu Shall I record this change? (3/3) [ynWsfvpxdaqjk], or ? for help: What is the patch name? kilka nowych linii Do you want to add a long comment? [yn] n Finished recording patch ’kilka nowych linii’ Paweł Kołodziej <[email protected]> darcs y łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność darcs record hunk ./plik.txt 1 +tekst dodany na poczatku pliku Shall I record this change? (1/3) hunk ./plik.txt 4 +tekst dodany w srodku Shall I record this change? (2/3) [ynWsfvpxdaqjk], or ? for help: y [ynWsfvpxdaqjk], or ? for help: y hunk ./plik.txt 7 +tekst na koncu Shall I record this change? (3/3) [ynWsfvpxdaqjk], or ? for help: What is the patch name? kilka nowych linii Do you want to add a long comment? [yn] n Finished recording patch ’kilka nowych linii’ Paweł Kołodziej <[email protected]> darcs y łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność darcs pull ../test1/ Pulling from "../test1"... Sun Dec 14 17:31:03 CET 2008 [email protected] * important bugfix (#2168) Shall I pull this patch? (1/3) [ynWsfvpxdaqjk], or ? for help: y Sun Dec 14 17:31:57 CET 2008 [email protected] * new feature - not finished yet Shall I pull this patch? (2/3) [ynWsfvpxdaqjk], or ? for help: n Sun Dec 14 17:32:10 CET 2008 [email protected] * typo Shall I pull this patch? (3/3) [ynWsfvpxdaqjk], or ? for help: y Finished pulling and applying. Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność darcs pull ../test1/ Pulling from "../test1"... Sun Dec 14 17:31:03 CET 2008 [email protected] * important bugfix (#2168) Shall I pull this patch? (1/3) [ynWsfvpxdaqjk], or ? for help: y Sun Dec 14 17:31:57 CET 2008 [email protected] * new feature - not finished yet Shall I pull this patch? (2/3) [ynWsfvpxdaqjk], or ? for help: n Sun Dec 14 17:32:10 CET 2008 [email protected] * typo Shall I pull this patch? (3/3) [ynWsfvpxdaqjk], or ? for help: y Finished pulling and applying. Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność darcs pull ../test1/ Pulling from "../test1"... Sun Dec 14 17:31:03 CET 2008 [email protected] * important bugfix (#2168) Shall I pull this patch? (1/3) [ynWsfvpxdaqjk], or ? for help: y Sun Dec 14 17:31:57 CET 2008 [email protected] * new feature - not finished yet Shall I pull this patch? (2/3) [ynWsfvpxdaqjk], or ? for help: n Sun Dec 14 17:32:10 CET 2008 [email protected] * typo Shall I pull this patch? (3/3) [ynWsfvpxdaqjk], or ? for help: y Finished pulling and applying. Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność darcs pull ../test1/ Pulling from "../test1"... Sun Dec 14 17:31:03 CET 2008 [email protected] * important bugfix (#2168) Shall I pull this patch? (1/3) [ynWsfvpxdaqjk], or ? for help: y Sun Dec 14 17:31:57 CET 2008 [email protected] * new feature - not finished yet Shall I pull this patch? (2/3) [ynWsfvpxdaqjk], or ? for help: n Sun Dec 14 17:32:10 CET 2008 [email protected] * typo Shall I pull this patch? (3/3) [ynWsfvpxdaqjk], or ? for help: y Finished pulling and applying. Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność przesyłanie łatek pull (lokalnie, http, ssh) push (lokalnie, ssh) apply (email) send (email) Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność przesyłanie łatek pull (lokalnie, http, ssh) push (lokalnie, ssh) apply (email) send (email) Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność konflikty pull Konflikty przy pull zostaną oznaczone. Po ich naprawieniu należy nagrać zmianę (darcs record). push Należy zrobić pull, rozwiązać konflikty i push. Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność konflikty pull Konflikty przy pull zostaną oznaczone. Po ich naprawieniu należy nagrać zmianę (darcs record). push Należy zrobić pull, rozwiązać konflikty i push. Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność drobiazgi darcs tag dodanie łatki, która jawnie zależy od wszystkich innych darcs changes lista wszystkich łatek z repozytorium darcs whatsnew lokalnie niezarejestrowane zmiany darcs revert porzucenie wszystkich niezarejestrowanych zmian Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność wydajność repozytorium ghc: 20 000 łatek darcs get : 3 minuty darcs whatsnew: 1s darcs chnages 2s darcs get -t tag (2608 łatek wstecz) 3.5 minuty darcs get -t tag (6077 łatek wstecz) 13 minut darcs pull (2608 łatek) : 1.5 minuty darcs pull (6077 łatek) : 2.5 minuty Paweł Kołodziej <[email protected]> darcs łatki darcs w praktyce tworzenie repozytorium rejestrowanie lokalnych zmian praktyka łatek wydajność materiały http://darcs.net manual http://darcs.net/manual/ camp http://projects.haskell.org/camp/ Understanding darcs http://en.wikibooks.org/wiki/Understanding darcs Paweł Kołodziej <[email protected]> darcs