Git
Rudel izvaja izvorne operacije Git v PHP prek Pitmaster. Ne potrebuje gostiteljeve izvršljive datoteke git. Do oddaljenih repozitorijev dostopa prek HTTP(S) ali SSH.
Vsak peskovnik ima eno ime veje, rudel/{sandbox-id}, ki se uporablja v vseh spodnjih potekih dela Git.
Kloniranje oddaljenega repozitorija v nov peskovnik
wp rudel create --name=feature-x --git=https://example.test/my-theme.git
Rudel ustvari peskovnik, klonira oddaljeni repozitorij v themes/my-theme znotraj imenika peskovnika (ime imenika je ime repozitorija), ustvari vejo rudel/{id} iz privzete veje in jo prevzame. Z možnostjo --type=plugin se prevzem izvede v plugins/my-theme. Oddaljeni repozitorij, imenik in osnovna veja se shranijo v peskovnik za poznejše pošiljanje sprememb. Če kloniranje ne uspe, se peskovnik ohrani, ukaz pa izpiše opozorilo.
Prevzeta kopija je delovna kopija za wp rudel push. V trenutni izdaji je peskovnik ne streže (issue #11):
- Peskovnik streže temo, izbrano z možnostjo
--theme, ali aktivno temo gostitelja, ki se kopira z gostitelja ob ustvarjanju peskovnika. Možnost--thememora določiti temo, nameščeno na gostitelju, zato se prevzeta kopija streže le, če se ime repozitorija ujema z oznako teme in kloniranje nato zapiše v kopirani imenik teme. - Vtičniki se vedno naložijo iz imenika vtičnikov gostitelja, zato se prevzeta kopija
--type=pluginnikoli ne zažene.
Povezani delovni imeniki
Ko klonirate peskovnik, katerega imenik s temo je repozitorij Git, Rudel za novi peskovnik ustvari povezan delovni imenik namesto kopije datotek:
wp rudel create --name=feature-y --clone-from=feature-x-3be7
Delovni imenik je v veji rudel/{new-id}. Rudel ga zabeleži v metapodatkih novega peskovnika pod izrecnim imenom delovnega imenika, ki temelji na ID-ju peskovnika, vrsti vsebine in oznaki teme, zato se peskovnika z isto oznako teme ne prekrivata. Ob uničenju peskovnika se delovni imenik odstrani, njegova veja pa izbriše.
wp rudel cleanup --merged upošteva samo te povezane delovne imenike. Glejte Čiščenje.
Pošiljanje sprememb
wp rudel push feature-x-3be7 --message="Update checkout template"
push potrdi vse spremembe v prevzeti kopiji in pošlje vejo rudel/{id} v origin. Če ni sprememb, vrne No changes to push..
--git=<remote>nastavi oddaljeni repozitorij, če še ni shranjen; po prvem uspešnem pošiljanju se shrani.--dir=<dir>izbere imenik glede na imenik peskovnika, na primerthemes/my-theme. Privzeto uporabi imenik, shranjen z ukazom--git, sicer pa celoten imenik peskovnika.--messageje privzeto nastavljen naUpdate from Rudel sandbox.
V ukazu PHP Rudel::push( $id, $remote_url, $message, $subdir ) izvede enako in sproži kavlje rudel_*_environment_push.
Identiteta potrjevalca
Če prevzeta kopija v konfiguraciji Git nima user.name ali user.email, Rudel zapiše Rudel in rudel@localhost. V wp-config.php določite RUDEL_GIT_AUTHOR_NAME in RUDEL_GIT_AUTHOR_EMAIL, če želite uporabiti druge vrednosti.