Git
Rudel izmanto PHP vietējās Git darbības ar Pitmaster starpniecību. Tam nav vajadzīgs resursdatora git izpildfails. Attālie repozitoriji tiek sasniegti, izmantojot HTTP(S) vai SSH.
Katrai smilškastei ir viens zara nosaukums — rudel/{sandbox-id}, ko izmanto visās tālāk aprakstītajās Git darbplūsmās.
Attālā repozitorija klonēšana jaunā smilškastē
wp rudel create --name=feature-x --git=https://example.test/my-theme.git
Rudel izveido smilškasti, klonē attālo repozitoriju uz themes/my-theme smilškastes direktorijā (direktorija nosaukums ir repozitorija nosaukums), izveido zaru rudel/{id} no noklusējuma zara un pārslēdzas uz to. Izmantojot --type=plugin, izraksts tiek ievietots plugins/my-theme. Attālais repozitorijs, direktorija un bāzes zars tiek saglabāti smilškastē vēlākai nosūtīšanai. Ja klonēšana neizdodas, smilškaste tiek paturēta, un komanda parāda brīdinājumu.
Izraksts ir darba kopija priekš wp rudel push. Pašreizējā laidienā smilškaste to nenodrošina (11. problēma):
- Smilškaste piedāvā tēmu, kas izvēlēta ar
--theme, vai resursdatora aktīvo tēmu, kas tiek nokopēta no resursdatora, kad tiek izveidota smilškaste.--themejānorāda tēma, kas instalēta resursdatorā, tāpēc tiek piedāvāta tikai tā izrakstītā koda versija, kuras repozitorija nosaukums atbilst šim slug, un klons pēc tam raksta nokopētajā tēmas direktorijā. - Spraudņi vienmēr tiek ielādēti no resursdatora spraudņu direktorija, tāpēc
--type=pluginizrakstītā koda versija netiek palaista.
Saistītie darba koki
Kad klonējat smilškasti, kuras tēmas direktorijs ir Git repozitorijs, Rudel izveido saistītu darba koku jaunajai smilškastei, nevis kopē failus:
wp rudel create --name=feature-y --clone-from=feature-x-3be7
Darba koks atrodas zarā rudel/{new-id}. Rudel to reģistrē jaunās smilškastes metadatos ar skaidri norādītu darba koka nosaukumu, kas veidots no smilškastes ID, satura tipa un tēmas slug, lai divas smilškastes, kurās tiek izmantots viens un tas pats tēmas slug, nesadurtos. Iznīcinot smilškasti, darba koks tiek noņemts un zars dzēsts.
wp rudel cleanup --merged ņem vērā tikai šos saistītos darba kokus. Skatiet Tīrīšana.
Izmaiņu iesūtīšana
wp rudel push feature-x-3be7 --message="Update checkout template"
push apstiprina visas izmaiņas izrakstītajā koda versijā un iesūta zaru rudel/{id} uz origin. Ja nekas nav mainījies, tā atgriež No changes to push..
--git=<remote>iestata attālo repozitoriju, ja tas nav saglabāts; pēc pirmās veiksmīgās iesūtīšanas tas tiek atcerēts.--dir=<dir>atlasa direktoriju attiecībā pret smilškastes direktoriju, piemēram,themes/my-theme. Pēc noklusējuma tā ir direktorija, ko saglabājis--git, vai arī visa smilškastes direktorija.--messagepēc noklusējuma irUpdate from Rudel sandbox.
No PHP Rudel::push( $id, $remote_url, $message, $subdir ) dara to pašu un izsauc rudel_*_environment_push āķus.
Apstiprinājuma identitāte
Ja izrakstītajā koda versijā tās Git konfigurācijā nav user.name vai user.email, Rudel ieraksta Rudel un rudel@localhost. Lai izmantotu citas vērtības, definējiet RUDEL_GIT_AUTHOR_NAME un RUDEL_GIT_AUTHOR_EMAIL failā wp-config.php.