http://www.openembedded.org/api.php?action=feedcontributions&user=Zecke&feedformat=atomOpenembedded.org - User contributions [en]2024-03-29T11:19:54ZUser contributionsMediaWiki 1.29.0http://www.openembedded.org/index.php?title=LayerIndex&diff=5465LayerIndex2013-01-05T15:11:21Z<p>Zecke: Add meta-smalltalk to the index</p>
<hr />
<div>List of metadata layers compatible with [[OpenEmbedded-Core]]:<br />
<br />
{| class="wikitable" border="2"<br />
|| '''Layer name''' || '''Description''' || '''Repo subdir''' || '''Repository''' || '''Repo web''' || '''Setup/Info'''<br />
|-<br />
!colspan="6"|''Base layers''<br />
|-<br />
||openembedded-core||Core metadata||meta||git://git.openembedded.org/openembedded-core||[http://cgit.openembedded.org/cgit.cgi/openembedded-core/ link]||<br />
|-<br />
||meta-oe||Additional shared OE metadata||meta-oe||git://git.openembedded.org/meta-openembedded||[http://cgit.openembedded.org/cgit.cgi/meta-openembedded/ link]||<br />
|-<br />
!colspan="6"|''Board / device support layers <sup>[[#unofficial|1]]</sup>''<br />
|-<br />
||meta-bug||BugLabs bug20 machine support||||git://github.com/buglabs/meta-bug.git||[http://github.com/buglabs/meta-bug link]||<br />
|-<br />
||meta-efikamx||Genesi Efika MX machine support||||git://github.com/kraj/meta-efikamx.git||[http://github.com/kraj/meta-efikamx link]||<br />
|-<br />
||meta-ettus||Ettus machine support||||<nowiki>http://github.com/balister/meta-ettus.git</nowiki>||[http://github.com/balister/meta-ettus link]||<br />
|-<br />
||meta-fsl-arm||Freescale ARM hardware support||||git://github.com/Freescale/meta-fsl-arm.git||[http://github.com/Freescale/meta-fsl-arm link]||<br />
|-<br />
||meta-fsl-ppc||Freescale PowerPC hardware support||||git://git.yoctoproject.org/meta-fsl-ppc||[http://git.yoctoproject.org/cgit/cgit.cgi/meta-fsl-ppc link]||<br />
|-<br />
||meta-gumstix||Gumstix board support (official)||||git://github.com/gumstix/meta-gumstix.git||[http://github.com/gumstix/meta-gumstix link]||[http://gumstix.org/software-development/open-embedded/209-yocto.html link]<br />
|-<br />
||meta-gumstix-community||Gumstix board support (unofficial community BSP)||||git://gitorious.org/schnitzeltony-oe-meta/meta-gumstix-community.git||[http://gitorious.org/schnitzeltony-oe-meta/meta-gumstix-community link]||<br />
|-<br />
||meta-handheld||Older handheld device support (Zaurus, iPAQ, etc.)||||<nowiki>git://git.openembedded.org/meta-handheld</nowiki>||[http://cgit.openembedded.org/cgit.cgi/meta-handheld link]||[http://www.linuxtogo.org/gowiki/meta-handheld link]<br />
|-<br />
|| meta-hidav || DResearch HidaV (dm8148 based) BSP, SDK, and (Angstrom based) distro. (official) |||| git://github.com/DFE/HidaV.git || [http://github.com/DFE/HidaV link] || [http://github.com/DFE/HidaV/wiki link]<br />
|-<br />
||meta-htc||HTC smartphone support||meta-htc||<nowiki>git://github.com/shr-distribution/meta-smartphone.git</nowiki>||[http://github.com/shr-distribution/meta-smartphone link]||<br />
|-<br />
||meta-igep||IGEP board support||||<nowiki>http://github.com/ebutera/meta-igep.git</nowiki>||[http://github.com/ebutera/meta-igep link]||<br />
|-<br />
||meta-intel||Intel board support (official)||||git://git.yoctoproject.org/meta-intel||[http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel/ link]||<br />
|-<br />
||meta-kirkwood||Marvell Kirkwood-based device support||||git://github.com/kelvinlawson/meta-kirkwood.git||[http://github.com/kelvinlawson/meta-kirkwood link]||[http://www.kelvinsthunderstorm.com/open-embedded-for-marvell-kirkwood/ link]<br />
|-<br />
||meta-netbookpro||Psion NetBook Pro device support||||git://github.com/tworaz/meta-netbookpro||[http://github.com/tworaz/meta-netbookpro link]||<br />
|-<br />
||meta-nokia||Nokia N900 support||meta-nokia||<nowiki>git://github.com/shr-distribution/meta-smartphone.git</nowiki>||[http://github.com/shr-distribution/meta-smartphone link]||<br />
|-<br />
||meta-nslu2||Linksys NSLU2 device support||||git://github.com/kraj/meta-nslu2||[http://github.com/kraj/meta-nslu2 link]||<br />
|-<br />
||meta-openmoko||OpenMoko device support||meta-openmoko||<nowiki>git://github.com/shr-distribution/meta-smartphone.git</nowiki>||[http://github.com/shr-distribution/meta-smartphone link]||<br />
|-<br />
||meta-openpandora||OpenPandora machine support||||git://github.com/openpandora/meta-openpandora.git||[http://github.com/openpandora/meta-openpandora link]||<br />
|-<br />
||meta-palm||Palm Pre machine support||meta-palm||<nowiki>git://github.com/shr-distribution/meta-smartphone.git</nowiki>||[http://github.com/shr-distribution/meta-smartphone link]||<br />
|-<br />
||meta-picosam9||Picosam9 board support||||git://gitorious.org/picopc-tools/meta-picosam9.git||[http://gitorious.org/picopc-tools/meta-picosam9 link]||<br />
|-<br />
||meta-raspberrypi||Raspberry Pi board support||||git://github.com/djwillis/meta-raspberrypi.git||[http://github.com/djwillis/meta-raspberrypi link]||[http://blogs.distant-earth.com/wp/?p=377 link]<br />
|-<br />
||meta-samsung||Samsung smartphone support||meta-samsung||<nowiki>git://github.com/shr-distribution/meta-smartphone.git</nowiki>||[http://github.com/shr-distribution/meta-smartphone link]||<br />
|-<br />
||meta-ti||Texas Instruments board support (official)||||git://git.yoctoproject.org/meta-ti||[http://git.yoctoproject.org/cgit/cgit.cgi/meta-ti/ link]||<br />
[http://git.yoctoproject.org/cgit/cgit.cgi/meta-ti/tree/README link]<br />
|-<br />
||meta-xilinx||Xilinx hardware support||||git://git.yoctoproject.org/meta-xilinx||[http://git.yoctoproject.org/cgit/cgit.cgi/meta-xilinx link]||<br />
|-<br />
||meta-yocto-bsp||BSP layer for Yocto Project reference hardware||meta-yocto-bsp||git://git.yoctoproject.org/meta-yocto||[http://git.yoctoproject.org/cgit/cgit.cgi/meta-yocto/tree/meta-yocto-bsp link]||[http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html link]<br />
|-<br />
||meta-zynq (xilinx)||Xilinx Zynq Yocto Support||||git://git.yoctoproject.org/cgit/cgit.cgi/meta-zynq/||[https://github.com/balister/meta-zynq link]||[http://git.yoctoproject.org/cgit/cgit.cgi/meta-zynq/tree/README.zc702 link]<br />
|-<br />
||meta-zynq||Xilinx Zynq hardware support||||git://github.com/balister/meta-zynq.git||[https://github.com/balister/meta-zynq link]||[https://github.com/balister/meta-zynq/wiki/Getting-started link]<br />
|-<br />
!colspan="6"|''Software support layers''<br />
|-<br />
||meta-ada||Ada support||||<nowiki>git://github.com/Lucretia/meta-ada.git</nowiki>||[https://github.com/Lucretia/meta-ada link]||<br />
|-<br />
||meta-android||Android specific tools||meta-android||<nowiki>git://github.com/shr-distribution/meta-smartphone.git</nowiki>||[http://github.com/shr-distribution/meta-smartphone link]||<br />
|-<br />
||meta-arago-extras||Arago/TI extra apps||meta-arago-extras||git://arago-project.org/git/meta-arago.git||[http://arago-project.org/git/?p=meta-arago.git;a=summary link]||[http://arago-project.org/git/?p=meta-arago.git;a=blob;f=meta-arago-extras/README;hb=HEAD link]<br />
|-<br />
||meta-browser||Web browsers (Chromium, Firefox, etc.)||||git://github.com/OSSystems/meta-browser.git||[http://github.com/OSSystems/meta-browser link]||<br />
|-<br />
||meta-buglabs||BugLabs middleware and specific OSGi components||||git://github.com/buglabs/meta-buglabs.git||[http://github.com/buglabs/meta-buglabs link]||<br />
|-<br />
||meta-chicken||Chicken toolchain support||||git://github.com/OSSystems/meta-chicken||[http://github.com/OSSystems/meta-chicken link]||<br />
|-<br />
||meta-efl||Enlightenment UI support||meta-efl||git://git.openembedded.org/meta-openembedded||[http://cgit.openembedded.org/cgit.cgi/meta-openembedded/ link]||<br />
|-<br />
||meta-fso||freesmartphone.org framework support||meta-fso||<nowiki>git://github.com/shr-distribution/meta-smartphone.git</nowiki>||[http://github.com/shr-distribution/meta-smartphone link]||<br />
|-<br />
||meta-games||Open-source games||||git://github.com/cazfi/meta-games.git||[http://github.com/cazfi/meta-games link]||<br />
|-<br />
||meta-gnome||GNOME UI support||meta-gnome||git://git.openembedded.org/meta-openembedded||[http://cgit.openembedded.org/cgit.cgi/meta-openembedded/ link]||<br />
|-<br />
||meta-gpe||GPE UI support (very minimal currently)||meta-gpe||git://git.openembedded.org/meta-openembedded||[http://cgit.openembedded.org/cgit.cgi/meta-openembedded/ link]||<br />
|-<br />
||meta-initramfs||initramfs tools||meta-initramfs||git://git.openembedded.org/meta-openembedded||[http://cgit.openembedded.org/cgit.cgi/meta-openembedded/ link]||<br />
|-<br />
||meta-java||Java support||||git://github.com/woglinde/meta-java||[http://github.com/woglinde/meta-java link]||<br />
|-<br />
||meta-kde||KDE 4 / Plasma Active||||git://gitorious.org/openembedded-core-layers/meta-kde.git||[http://gitorious.org/openembedded-core-layers/meta-kde link]||<br />
|-<br />
||meta-mono||Mono||||git://git.yoctoproject.org/meta-mono.git||[http://git.yoctoproject.org/cgit/cgit.cgi/meta-mono/ link]||[http://git.yoctoproject.org/cgit/cgit.cgi/meta-mono/tree/README link]<br />
|-<br />
||meta-multimedia||Multimedia-related software||meta-multimedia||git://git.openembedded.org/meta-openembedded||[http://cgit.openembedded.org/cgit.cgi/meta-openembedded/ link]||<br />
|-<br />
||meta-networking||Network-related software||meta-networking||git://git.openembedded.org/meta-openembedded||[http://cgit.openembedded.org/cgit.cgi/meta-openembedded/ link]||<br />
|-<br />
||meta-opie||Opie UI support||||git://git.openembedded.org/meta-opie||[http://cgit.openembedded.org/cgit.cgi/meta-opie link]||[http://www.linuxtogo.org/gowiki/meta-opie link]<br />
|-<br />
||meta-osmocombb||OsmocomBB support||meta-osmocombb||<nowiki>git://github.com/shr-distribution/meta-smartphone.git</nowiki>||[http://github.com/shr-distribution/meta-smartphone link]<br />
|-<br />
||meta-qt3||Qt 3.x support||||git://git.yoctoproject.org/meta-qt3||[http://git.yoctoproject.org/cgit/cgit.cgi/meta-qt3 link]||<br />
|-<br />
||meta-ruby||Ruby support||meta-ruby||git://git.openembedded.org/meta-openembedded||[http://cgit.openembedded.org/cgit.cgi/meta-openembedded/ link]||<br />
|-<br />
||meta-smalltalk||GNU Smalltalk and ports||meta-smalltalk||git://github.com/sysmocom/meta-smalltalk.git||[https://github.com/sysmocom/meta-smalltalk link]||<br />
|-<br />
||meta-systemd||systemd support||meta-systemd||git://git.openembedded.org/meta-openembedded||[http://cgit.openembedded.org/cgit.cgi/meta-openembedded/ link]||<br />
|-<br />
||meta-telephony||Telephony-related software||||git://gitorious.org/sysmocom-openembedded/meta-telephony.git||[http://gitorious.org/sysmocom-openembedded/meta-telephony link]||<br />
|-<br />
||meta-virtualization||Hypervisor, virtualization tool stack, and cloud support||||git://git.yoctoproject.org/meta-virtualization||[http://git.yoctoproject.org/cgit/cgit.cgi/meta-virtualization/ link]||<br />
|-<br />
||meta-webserver||Web server related software||meta-webserver||git://git.openembedded.org/meta-openembedded||[http://cgit.openembedded.org/cgit.cgi/meta-openembedded/ link]||<br />
|-<br />
||meta-xfce||XFCE UI support||meta-xfce||git://git.openembedded.org/meta-openembedded||[http://cgit.openembedded.org/cgit.cgi/meta-openembedded/ link]||<br />
|-<br />
||meta-yassl||CyaSSL embedded SSL support||||git://github.com/cconlon/meta-yassl.git||[http://github.com/cconlon/meta-yassl link]<br />
|-<br />
||toolchain-layer||Older/newer toolchains||toolchain-layer||git://git.openembedded.org/meta-openembedded||[http://cgit.openembedded.org/cgit.cgi/meta-openembedded/ link]||<br />
|-<br />
!colspan="6"|''Distribution layers''<br />
|-<br />
||meta-angstrom||Ångström distribution||||<nowiki>http://github.com/Angstrom-distribution/meta-angstrom.git</nowiki>||[https://github.com/Angstrom-distribution/meta-angstrom.git link]||[https://github.com/Angstrom-distribution/meta-angstrom/blob/master/README link]<br />
|-<br />
||meta-arago-distro||Arago/TI-SDK distribution||meta-arago-distro||git://arago-project.org/git/meta-arago.git||[http://arago-project.org/git/?p=meta-arago.git;a=summary link]||[http://arago-project.org/git/?p=meta-arago.git;a=blob;f=meta-arago-distro/README;hb=HEAD link]<br />
|-<br />
||meta-aurora||aurora distribution||meta-aurora||<nowiki>git://github.com/shr-distribution/meta-smartphone.git</nowiki>||[http://github.com/shr-distribution/meta-smartphone link]||<br />
|-<br />
||meta-eldk||Denx ELDK distribution||||git://git.denx.de/eldk.git||[http://git.denx.de/eldk.git/ link]||[http://www.denx.de/wiki/view/ELDK-5/GitRepositorySetup link]<br />
|-<br />
||meta-guacamayo||Guacamayo distribution||meta-guacamayo||git://github.com/Guacamayo/meta-guacamayo.git||[http://github.com/Guacamayo/meta-guacamayo link]||[http://github.com/Guacamayo/meta-guacamayo/blob/master/README link]<br />
|-<br />
||meta-micro||micro distribution||||git://git.openembedded.org/meta-micro||[http://cgit.openembedded.org/cgit.cgi/meta-micro/ link]||<br />
|-<br />
||meta-shr||SHR distribution||meta-shr||<nowiki>git://github.com/shr-distribution/meta-smartphone.git</nowiki>||[http://github.com/shr-distribution/meta-smartphone link]||[http://shr-project.org/trac/wiki/Building%20SHR link]<br />
|-<br />
||meta-slugos||SlugOS distribution||||git://github.com/kraj/meta-slugos||[http://github.com/kraj/meta-slugos link]||[https://github.com/kraj/slugos-setup link]<br />
|-<br />
||meta-webos||WebOS distribution (official)||||git://github.com/openwebos/meta-webos||[http://github.com/openwebos/meta-webos/ link]||<br />
|-<br />
||meta-woce||WebOS community Edition distribution||||git://github.com/kraj/meta-woce||[http://github.com/kraj/meta-woce link]||[https://github.com/kraj/woce-setup link]<br />
|-<br />
||meta-yocto||Poky reference distribution for the Yocto Project||meta-yocto||git://git.yoctoproject.org/meta-yocto||[http://git.yoctoproject.org/cgit/cgit.cgi/meta-yocto/tree/meta-yocto/ link]||[http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html link]<br />
|-<br />
!colspan="6"|''Miscellaneous''<br />
|-<br />
||meta-baryon||Baryon example NAS distribution||||git://git.yoctoproject.org/meta-baryon||[http://git.yoctoproject.org/cgit/cgit.cgi/meta-baryon link]||<br />
|-<br />
||meta-linaro||Linaro layer for openembedded||||git://git.linaro.org/openembedded/meta-linaro.git||[http://git.linaro.org/gitweb?p=openembedded/meta-linaro.git;a=summary link]||[http://git.linaro.org/gitweb?p=openembedded/meta-linaro.git;a=blob;f=README;hb=HEAD link]<br />
|-<br />
|}<br />
<br />
<span id="unofficial"><sup>1</sup> Note: machine support layers are unofficial and not manufacturer-supported unless noted otherwise.</span><br />
<br />
[[Category:Dev]]</div>Zeckehttp://www.openembedded.org/index.php?title=TSC&diff=2459TSC2010-08-25T06:12:39Z<p>Zecke: /* Outstanding items (sorted by occurence) */</p>
<hr />
<div>=OE Technical Steering Committee=<br />
<br />
The TSC consists of 5 people and will be elected by, and ultimately be answerable to, the members of the OE e.V.<br />
<br />
= Members =<br />
<br />
Philip Blundell (pb_)<br />
Chris Larson (kergoth)<br />
Michael 'Mickey' Lauer (mickeyl)<br />
Richard Purdie (RP)<br />
Holger Freyther (zecke)<br />
<br />
= Responsibilities =<br />
<br />
On a day-to-day basis the TSC will be responsible for making<br />
tactical policy decisions, resolving disputes between contributors,<br />
administering access control to the git tree, and generally promoting<br />
good development practice.<br />
<br />
= Decision Making =<br />
<br />
Decisions are made where necessary by majority vote. Once a decision is made by<br />
the technical steering committee, the decision should be respected as a democratic decision.<br />
<br />
= Outstanding items (sorted by occurence) =<br />
* Convert remaining recipes to new style staging<br />
* Make packaged-staging mandantory<br />
* Make the insane.bbclass mandantory, make it default to only complain<br />
* Ongoing campaign to deprecate/remove old recipes (use common sense, allow review)<br />
* Rename org.openembedded.dev to master<br />
<br />
= Old Minutes =<br />
[http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-June/020655.html June]<br />
<br />
[http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-May/020047.html May]<br />
<br />
[http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-March/017876.html March]<br />
<br />
[http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-February/017094.html February]<br />
<br />
[http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-January/015931.html January]<br />
<br />
[[Category:Policy]]</div>Zeckehttp://www.openembedded.org/index.php?title=TSC&diff=2458TSC2010-08-25T06:12:22Z<p>Zecke: /* Outstanding items (sorted by occurence) */</p>
<hr />
<div>=OE Technical Steering Committee=<br />
<br />
The TSC consists of 5 people and will be elected by, and ultimately be answerable to, the members of the OE e.V.<br />
<br />
= Members =<br />
<br />
Philip Blundell (pb_)<br />
Chris Larson (kergoth)<br />
Michael 'Mickey' Lauer (mickeyl)<br />
Richard Purdie (RP)<br />
Holger Freyther (zecke)<br />
<br />
= Responsibilities =<br />
<br />
On a day-to-day basis the TSC will be responsible for making<br />
tactical policy decisions, resolving disputes between contributors,<br />
administering access control to the git tree, and generally promoting<br />
good development practice.<br />
<br />
= Decision Making =<br />
<br />
Decisions are made where necessary by majority vote. Once a decision is made by<br />
the technical steering committee, the decision should be respected as a democratic decision.<br />
<br />
= Outstanding items (sorted by occurence) =<br />
* Convert remaining recipes to new style staging<br />
* Make packaged-staging mandantory<br />
* Make the insane.bbclass mandantory, make it default to only complain<br />
* Ongoing campaign to deprecate/remove old recipes (use common sense, allow review)<br />
* Rename org.openembedded.dev to master<br />
<br />
= Old Minutes =<br />
[http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-June/020655.html June]<br />
<br />
[http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-May/020047.html May]<br />
<br />
[http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-March/017876.html March]<br />
<br />
[http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-February/017094.html February]<br />
<br />
[http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-January/015931.html January]<br />
<br />
[[Category:Policy]]</div>Zeckehttp://www.openembedded.org/index.php?title=TSC&diff=2457TSC2010-08-25T06:08:16Z<p>Zecke: </p>
<hr />
<div>=OE Technical Steering Committee=<br />
<br />
The TSC consists of 5 people and will be elected by, and ultimately be answerable to, the members of the OE e.V.<br />
<br />
= Members =<br />
<br />
Philip Blundell (pb_)<br />
Chris Larson (kergoth)<br />
Michael 'Mickey' Lauer (mickeyl)<br />
Richard Purdie (RP)<br />
Holger Freyther (zecke)<br />
<br />
= Responsibilities =<br />
<br />
On a day-to-day basis the TSC will be responsible for making<br />
tactical policy decisions, resolving disputes between contributors,<br />
administering access control to the git tree, and generally promoting<br />
good development practice.<br />
<br />
= Decision Making =<br />
<br />
Decisions are made where necessary by majority vote. Once a decision is made by<br />
the technical steering committee, the decision should be respected as a democratic decision.<br />
<br />
= Outstanding items (sorted by occurence) =<br />
<br />
<br />
= Old Minutes =<br />
[http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-June/020655.html June]<br />
<br />
[http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-May/020047.html May]<br />
<br />
[http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-March/017876.html March]<br />
<br />
[http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-February/017094.html February]<br />
<br />
[http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-January/015931.html January]<br />
<br />
[[Category:Policy]]</div>Zeckehttp://www.openembedded.org/index.php?title=Git&diff=706Git2008-10-15T17:48:06Z<p>Zecke: that is done</p>
<hr />
<div>= OpenEmbedded Git repository =<br />
<br />
The Git repository is now the official source repository. Monotone is no longer used.<br />
<br />
See [[GitPhraseBook]] for instructions on how to use the OE git repo.<br />
<br />
Web interfaces: http://git.openembedded.net/<br />
<br />
= Other Repositories of Interest =<br />
* http://git.openmoko.org/<br />
* http://svn.o-hand.com/view/poky/<br />
** svn co http://svn.o-hand.com/repos/poky/trunk poky<br />
<br />
See [[GitPhraseBook]] for ideas on how to use additional remote repositories.<br />
<br />
<br />
<br />
= Why Git =<br />
Why did we switch from monotone to git:<br />
* better support for branching and merging (this is where git shines)<br />
* much faster<br />
* much larger user base -- many people doing OE work are already using git for kernel work <br />
<br />
Mail list discussions on the topic:<br />
* http://thread.gmane.org/gmane.comp.handhelds.openembedded/8657/focus=9085<br />
* http://thread.gmane.org/gmane.comp.handhelds.openembedded/17795/focus=17844<br />
* http://thread.gmane.org/gmane.comp.handhelds.openembedded/18091/focus=18097<br />
* http://thread.gmane.org/gmane.comp.handhelds.openembedded/17868/focus=17892<br />
* http://thread.gmane.org/gmane.comp.handhelds.openembedded/18959/focus=18983<br />
<br />
[[Category:Dev]]<br />
[[Category:User]]</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=681GitPhraseBook2008-10-14T21:15:13Z<p>Zecke: /* Getting the data */</p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
== Setup ==<br />
<br />
<br />
=== Getting the data ===<br />
git clone git://git.openembedded.net/openembedded<br />
<br />
=== Upgrading your data (lurking) ===<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
=== Generating a ssh key ===<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send the public key to the one of the core developers.<br />
<br />
# send the resulting pub key to koen, mickeyl, RP, or zecke [http://lists.linuxtogo.org/pipermail/openembedded-devel/2008-October/006291.html [email address]]<br />
ssh-keygen -t rsa<br />
<br />
=== Checking out a branch ===<br />
# See which branches are available<br />
git branch -a<br />
<br />
# In theory create a branch and switch<br />
git checkout -b local origin/remote<br />
<br />
# you will now be in the dreambox branch and track this.<br />
git checkout -b org.openembedded.dreambox origin/org.openembedded.dreambox<br />
<br />
=== Configuring your tree for commits ===<br />
git config user.name "Your Name"<br />
git config user.mail "you@name"<br />
<br />
== Doing things with git ==<br />
<br />
=== Commit Message ===<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
=== Making your changes (old way) ===<br />
# if you have new files<br />
git add your/new/file<br />
<br />
# Commit everything<br />
git commit -a<br />
<br />
=== Making your changes (better way) ===<br />
git add your/changed/files<br />
git commit<br />
<br />
=== Making your changes (a cool way) ===<br />
git add -i<br />
git commit<br />
<br />
=== Amending to your changes ===<br />
You forgot something, no big deal, change the commit<br />
<br />
git add your/others/changes<br />
git commit --amend<br />
<br />
== Commiting someones else work ==<br />
git commit --author "Other One <other@one>"<br />
<br />
== Pushing your changes ==<br />
# just pushes the org.openembedded.dev<br />
git push origin org.openembedded.dev<br />
<br />
# just pushes your things to a test branch. Use the right branch! dangerous!<br />
git push origin org.openembedded.dev:yourname/testbranch<br />
<br />
# delete a branch<br />
git push origin :yourname/testbranch<br />
<br />
== Dealing with conflicts ==<br />
Git will tell you what needs resolving. You can use kdiff3, meld, or many other tools to resolve the conflict. Don't be afraid you can easily redo and undo everything.<br />
<br />
# Conflicts from here or something else<br />
git pull --rebase<br />
git status<br />
<br />
# Starts interactive resolver, TOOL can be kdiff3, meld or anything else<br />
git mergetool --tool=TOOL filename<br />
<br />
git rebase --continue or similar once everything got resolved<br />
<br />
== Working with git ==<br />
=== Feature branches ===<br />
==== Create your own short lived feature branch ====<br />
git checkout -b yourname/yourfeature origin/org.openembedded.dev<br />
<br />
==== Push your feature branch ====<br />
git push origin yourname/yourfeature<br />
<br />
==== Delete your branch after it was merged ====<br />
git push origin :yourname/yourfeature<br />
<br />
==== Upgrade/Rebase your branch to the latest version ====<br />
git fetch origin<br />
git rebase origin/org.openembedded.dev<br />
<br />
==== Change your history ====<br />
# select edit, squash, pick to say what to do with the commit<br />
<br />
git rebase -i origin/org.openembedded.dev<br />
<br />
# to abort the operation on a tricky merge<br />
git rebase --abort<br />
<br />
# to find out a previous state to use with git reset<br />
git reflog<br />
<br />
== Seeing changes ==<br />
<br />
=== Log ===<br />
# See what happened in a branch<br />
git log branch<br />
<br />
# See the change, HEAD or branch name will work too<br />
git show --color (COMMIT)<br />
<br />
# Only show you change on foo/file<br />
git show --color HEAD -- foo/file<br />
<br />
# Graphical browser<br />
gitk<br />
<br />
=== What did you change ===<br />
# Lists you the revs that are only in your branch compared to org.openembedded.dev<br />
git rev-list origin/org.openembedded.dev..<br />
<br />
== Other Interesting commands ==<br />
# fetch new revisions from all remote repositories<br />
git fetch<br />
<br />
# show you local branches and which branch you are in<br />
git branch<br />
<br />
# show you all branches<br />
git branch -a<br />
<br />
# create a branch and switch to it<br />
git checkout -b MYNAME origin/THEIRNAME<br />
<br />
# upgrade a branch<br />
git push origin org.openembedded.dev<br />
git reflog<br />
<br />
# Change your index to be at the state of REF<br />
git reset REF<br />
<br />
# Kill the last commit<br />
git reset HEAD^1<br />
<br />
== Examples ==<br />
<br />
<br />
=== Example 1: ===<br />
<br />
vi packages/gaim/gaim.inc<br />
git commit packages/gaim/gaim.inc<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
=== Example 2: ===<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
git add gtk-2.8.4/fix-foo.patch<br />
git commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow<br />
<br />
[[Category:Dev]]<br />
[[Category:User]]</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=680GitPhraseBook2008-10-14T20:20:24Z<p>Zecke: /* Getting the data */</p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
== Setup ==<br />
<br />
<br />
=== Getting the data ===<br />
git clone git://git.openembedded.net/org.openembedded.dev<br />
<br />
=== Upgrading your data (lurking) ===<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
=== Generating a ssh key ===<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send the public key to the one of the core developers.<br />
<br />
# send the resulting pub key to koen, mickeyl, RP, or zecke [http://lists.linuxtogo.org/pipermail/openembedded-devel/2008-October/006291.html [email address]]<br />
ssh-keygen -t rsa<br />
<br />
=== Checking out a branch ===<br />
# See which branches are available<br />
git branch -a<br />
<br />
# In theory create a branch and switch<br />
git checkout -b local origin/remote<br />
<br />
# you will now be in the dreambox branch and track this.<br />
git checkout -b org.openembedded.dreambox origin/org.openembedded.dreambox<br />
<br />
=== Configuring your tree for commits ===<br />
git config user.name "Your Name"<br />
git config user.mail "you@name"<br />
<br />
== Doing things with git ==<br />
<br />
=== Commit Message ===<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
=== Making your changes (old way) ===<br />
# if you have new files<br />
git add your/new/file<br />
<br />
# Commit everything<br />
git commit -a<br />
<br />
=== Making your changes (better way) ===<br />
git add your/changed/files<br />
git commit<br />
<br />
=== Making your changes (a cool way) ===<br />
git add -i<br />
git commit<br />
<br />
=== Amending to your changes ===<br />
You forgot something, no big deal, change the commit<br />
<br />
git add your/others/changes<br />
git commit --amend<br />
<br />
== Commiting someones else work ==<br />
git commit --author "Other One <other@one>"<br />
<br />
== Pushing your changes ==<br />
# just pushes the org.openembedded.dev<br />
git push origin org.openembedded.dev<br />
<br />
# just pushes your things to a test branch. Use the right branch! dangerous!<br />
git push origin org.openembedded.dev:yourname/testbranch<br />
<br />
# delete a branch<br />
git push origin :yourname/testbranch<br />
<br />
== Dealing with conflicts ==<br />
Git will tell you what needs resolving. You can use kdiff3, meld, or many other tools to resolve the conflict. Don't be afraid you can easily redo and undo everything.<br />
<br />
# Conflicts from here or something else<br />
git pull --rebase<br />
git status<br />
<br />
# Starts interactive resolver, TOOL can be kdiff3, meld or anything else<br />
git mergetool --tool=TOOL filename<br />
<br />
git rebase --continue or similar once everything got resolved<br />
<br />
== Working with git ==<br />
=== Feature branches ===<br />
==== Create your own short lived feature branch ====<br />
git checkout -b yourname/yourfeature origin/org.openembedded.dev<br />
<br />
==== Push your feature branch ====<br />
git push origin yourname/yourfeature<br />
<br />
==== Delete your branch after it was merged ====<br />
git push origin :yourname/yourfeature<br />
<br />
==== Upgrade/Rebase your branch to the latest version ====<br />
git fetch origin<br />
git rebase origin/org.openembedded.dev<br />
<br />
==== Change your history ====<br />
# select edit, squash, pick to say what to do with the commit<br />
<br />
git rebase -i origin/org.openembedded.dev<br />
<br />
# to abort the operation on a tricky merge<br />
git rebase --abort<br />
<br />
# to find out a previous state to use with git reset<br />
git reflog<br />
<br />
== Seeing changes ==<br />
<br />
=== Log ===<br />
# See what happened in a branch<br />
git log branch<br />
<br />
# See the change, HEAD or branch name will work too<br />
git show --color (COMMIT)<br />
<br />
# Only show you change on foo/file<br />
git show --color HEAD -- foo/file<br />
<br />
# Graphical browser<br />
gitk<br />
<br />
=== What did you change ===<br />
# Lists you the revs that are only in your branch compared to org.openembedded.dev<br />
git rev-list origin/org.openembedded.dev..<br />
<br />
== Other Interesting commands ==<br />
# fetch new revisions from all remote repositories<br />
git fetch<br />
<br />
# show you local branches and which branch you are in<br />
git branch<br />
<br />
# show you all branches<br />
git branch -a<br />
<br />
# create a branch and switch to it<br />
git checkout -b MYNAME origin/THEIRNAME<br />
<br />
# upgrade a branch<br />
git push origin org.openembedded.dev<br />
git reflog<br />
<br />
# Change your index to be at the state of REF<br />
git reset REF<br />
<br />
# Kill the last commit<br />
git reset HEAD^1<br />
<br />
== Examples ==<br />
<br />
<br />
=== Example 1: ===<br />
<br />
vi packages/gaim/gaim.inc<br />
git commit packages/gaim/gaim.inc<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
=== Example 2: ===<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
git add gtk-2.8.4/fix-foo.patch<br />
git commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow<br />
<br />
[[Category:Dev]]<br />
[[Category:User]]</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=652GitPhraseBook2008-10-09T06:51:21Z<p>Zecke: /* Other Interesting commands */</p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
== Setup ==<br />
<br />
<br />
=== Getting the data ===<br />
git clone git://git.openembedded.net/FIXME openembedded.git<br />
<br />
=== Upgrading your data (lurking) ===<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
=== Generating a ssh key ===<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send it to the right developers.<br />
<br />
# send the resulting link to koen, mickeyl and zecke<br />
ssh-keygen -t rsa<br />
<br />
=== Checking out a branch ===<br />
# See which branches are available<br />
git branch -a<br />
<br />
# In theory create a branch and switch<br />
git checkout -b local origin/remote<br />
<br />
# you will now be in the dreambox branch and track this.<br />
git checkout -b org.openembedded.dreambox origin/org.openembedded.dreambox<br />
<br />
=== Configuring your tree for commits ===<br />
git config user.name "Your Name"<br />
git config user.mail "you@name"<br />
<br />
== Doing things with git ==<br />
<br />
=== Commit Message ===<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
=== Making your changes (old way) ===<br />
# if you have new files<br />
git add your/new/file<br />
<br />
# Commit everything<br />
git commit -a<br />
<br />
=== Making your changes (better way) ===<br />
git add your/changed/files<br />
git commit<br />
<br />
=== Making your changes (a cool way) ===<br />
git add -i<br />
git commit<br />
<br />
=== Amending to your changes ===<br />
You forgot something, no big deal, change the commit<br />
<br />
git add your/others/changes<br />
git commit --amend<br />
<br />
== Commiting someones else work ==<br />
git commit --author "Other One <other@one>"<br />
<br />
== Pushing your changes ==<br />
# just pushes the org.openembedded.dev<br />
git push origin org.openembedded.dev<br />
<br />
# just pushes your things to a test branch. Use the right branch! dangerous!<br />
git push origin org.openembedded.dev:yourname/testbranch<br />
<br />
# delete a branch<br />
git push origin :yourname/testbranch<br />
<br />
== Dealing with conflicts ==<br />
Git will tell you what needs resolving. You can use kdiff3, meld, or many other tools to resolve the conflict. Don't be afraid you can easily redo and undo everything.<br />
<br />
# Conflicts from here or something else<br />
git pull --rebase<br />
git status<br />
<br />
# Starts interactive resolver, TOOL can be kdiff3, meld or anything else<br />
git mergetool --tool=TOOL filename<br />
<br />
git rebase --continue or similar once everything got resolved<br />
<br />
== Working with git ==<br />
=== Feature branches ===<br />
==== Create your own short lived feature branch ====<br />
git checkout -b yourname/yourfeature origin/org.openembedded.dev<br />
<br />
==== Push your feature branch ====<br />
git push origin yourname/yourfeature<br />
<br />
==== Delete your branch after it was merged ====<br />
git push origin :yourname/yourfeature<br />
<br />
==== Upgrade/Rebase your branch to the latest version ====<br />
git fetch origin<br />
git rebase origin/org.openembedded.dev<br />
<br />
==== Change your history ====<br />
# select edit, squash, pick to say what to do with the commit<br />
<br />
git rebase -i origin/org.openembedded.dev<br />
<br />
# to abort the operation on a tricky merge<br />
git rebase --abort<br />
<br />
# to find out a previous state to use with git reset<br />
git reflog<br />
<br />
== Seeing changes ==<br />
<br />
=== Log ===<br />
# See what happened in a branch<br />
git log branch<br />
<br />
# See the change, HEAD or branch name will work too<br />
git show --color (COMMIT)<br />
<br />
# Only show you change on foo/file<br />
git show --color HEAD -- foo/file<br />
<br />
# Graphical browser<br />
gitk<br />
<br />
=== What did you change ===<br />
# Lists you the revs that are only in your branch compared to org.openembedded.dev<br />
git rev-list origin/org.openembedded.dev..<br />
<br />
== Other Interesting commands ==<br />
# fetch new revisions from all remote repositories<br />
git fetch<br />
<br />
# show you local branches and which branch you are in<br />
git branch<br />
<br />
# show you all branches<br />
git branch -a<br />
<br />
# create a branch and switch to it<br />
git checkout -b MYNAME origin/THEIRNAME<br />
<br />
# upgrade a branch<br />
git push origin org.openembedded.dev<br />
git reflog<br />
<br />
# Change your index to be at the state of REF<br />
git reset REF<br />
<br />
# Kill the last commit<br />
git reset HEAD^1<br />
<br />
== Examples ==<br />
<br />
<br />
=== Example 1: ===<br />
<br />
vi packages/gaim/gaim.inc<br />
git commit packages/gaim/gaim.inc<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
=== Example 2: ===<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
git add gtk-2.8.4/fix-foo.patch<br />
git commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=651GitPhraseBook2008-10-09T06:49:57Z<p>Zecke: /* What did you change */</p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
== Setup ==<br />
<br />
<br />
=== Getting the data ===<br />
git clone git://git.openembedded.net/FIXME openembedded.git<br />
<br />
=== Upgrading your data (lurking) ===<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
=== Generating a ssh key ===<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send it to the right developers.<br />
<br />
# send the resulting link to koen, mickeyl and zecke<br />
ssh-keygen -t rsa<br />
<br />
=== Checking out a branch ===<br />
# See which branches are available<br />
git branch -a<br />
<br />
# In theory create a branch and switch<br />
git checkout -b local origin/remote<br />
<br />
# you will now be in the dreambox branch and track this.<br />
git checkout -b org.openembedded.dreambox origin/org.openembedded.dreambox<br />
<br />
=== Configuring your tree for commits ===<br />
git config user.name "Your Name"<br />
git config user.mail "you@name"<br />
<br />
== Doing things with git ==<br />
<br />
=== Commit Message ===<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
=== Making your changes (old way) ===<br />
# if you have new files<br />
git add your/new/file<br />
<br />
# Commit everything<br />
git commit -a<br />
<br />
=== Making your changes (better way) ===<br />
git add your/changed/files<br />
git commit<br />
<br />
=== Making your changes (a cool way) ===<br />
git add -i<br />
git commit<br />
<br />
=== Amending to your changes ===<br />
You forgot something, no big deal, change the commit<br />
<br />
git add your/others/changes<br />
git commit --amend<br />
<br />
== Commiting someones else work ==<br />
git commit --author "Other One <other@one>"<br />
<br />
== Pushing your changes ==<br />
# just pushes the org.openembedded.dev<br />
git push origin org.openembedded.dev<br />
<br />
# just pushes your things to a test branch. Use the right branch! dangerous!<br />
git push origin org.openembedded.dev:yourname/testbranch<br />
<br />
# delete a branch<br />
git push origin :yourname/testbranch<br />
<br />
== Dealing with conflicts ==<br />
Git will tell you what needs resolving. You can use kdiff3, meld, or many other tools to resolve the conflict. Don't be afraid you can easily redo and undo everything.<br />
<br />
# Conflicts from here or something else<br />
git pull --rebase<br />
git status<br />
<br />
# Starts interactive resolver, TOOL can be kdiff3, meld or anything else<br />
git mergetool --tool=TOOL filename<br />
<br />
git rebase --continue or similar once everything got resolved<br />
<br />
== Working with git ==<br />
=== Feature branches ===<br />
==== Create your own short lived feature branch ====<br />
git checkout -b yourname/yourfeature origin/org.openembedded.dev<br />
<br />
==== Push your feature branch ====<br />
git push origin yourname/yourfeature<br />
<br />
==== Delete your branch after it was merged ====<br />
git push origin :yourname/yourfeature<br />
<br />
==== Upgrade/Rebase your branch to the latest version ====<br />
git fetch origin<br />
git rebase origin/org.openembedded.dev<br />
<br />
==== Change your history ====<br />
# select edit, squash, pick to say what to do with the commit<br />
<br />
git rebase -i origin/org.openembedded.dev<br />
<br />
# to abort the operation on a tricky merge<br />
git rebase --abort<br />
<br />
# to find out a previous state to use with git reset<br />
git reflog<br />
<br />
== Seeing changes ==<br />
<br />
=== Log ===<br />
# See what happened in a branch<br />
git log branch<br />
<br />
# See the change, HEAD or branch name will work too<br />
git show --color (COMMIT)<br />
<br />
# Only show you change on foo/file<br />
git show --color HEAD -- foo/file<br />
<br />
# Graphical browser<br />
gitk<br />
<br />
=== What did you change ===<br />
# Lists you the revs that are only in your branch compared to org.openembedded.dev<br />
git rev-list origin/org.openembedded.dev..<br />
<br />
== Other Interesting commands ==<br />
git fetch -- fetch new revisions from all remote repositories<br />
git branch -- show you local branches and which branch you are in<br />
git branch -a -- show you all branches<br />
git checkout -b MYNAME origin/THEIRNAME -- create a branch and switch to it<br />
git push origin org.openembedded.dev -- upgrade a branch<br />
git reflog<br />
git reset REF -- Change your index to be at the state of REF<br />
<br />
== Examples ==<br />
<br />
<br />
=== Example 1: ===<br />
<br />
vi packages/gaim/gaim.inc<br />
git commit packages/gaim/gaim.inc<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
=== Example 2: ===<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
git add gtk-2.8.4/fix-foo.patch<br />
git commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=650GitPhraseBook2008-10-09T06:49:09Z<p>Zecke: /* Generating a ssh key */</p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
== Setup ==<br />
<br />
<br />
=== Getting the data ===<br />
git clone git://git.openembedded.net/FIXME openembedded.git<br />
<br />
=== Upgrading your data (lurking) ===<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
=== Generating a ssh key ===<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send it to the right developers.<br />
<br />
# send the resulting link to koen, mickeyl and zecke<br />
ssh-keygen -t rsa<br />
<br />
=== Checking out a branch ===<br />
# See which branches are available<br />
git branch -a<br />
<br />
# In theory create a branch and switch<br />
git checkout -b local origin/remote<br />
<br />
# you will now be in the dreambox branch and track this.<br />
git checkout -b org.openembedded.dreambox origin/org.openembedded.dreambox<br />
<br />
=== Configuring your tree for commits ===<br />
git config user.name "Your Name"<br />
git config user.mail "you@name"<br />
<br />
== Doing things with git ==<br />
<br />
=== Commit Message ===<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
=== Making your changes (old way) ===<br />
# if you have new files<br />
git add your/new/file<br />
<br />
# Commit everything<br />
git commit -a<br />
<br />
=== Making your changes (better way) ===<br />
git add your/changed/files<br />
git commit<br />
<br />
=== Making your changes (a cool way) ===<br />
git add -i<br />
git commit<br />
<br />
=== Amending to your changes ===<br />
You forgot something, no big deal, change the commit<br />
<br />
git add your/others/changes<br />
git commit --amend<br />
<br />
== Commiting someones else work ==<br />
git commit --author "Other One <other@one>"<br />
<br />
== Pushing your changes ==<br />
# just pushes the org.openembedded.dev<br />
git push origin org.openembedded.dev<br />
<br />
# just pushes your things to a test branch. Use the right branch! dangerous!<br />
git push origin org.openembedded.dev:yourname/testbranch<br />
<br />
# delete a branch<br />
git push origin :yourname/testbranch<br />
<br />
== Dealing with conflicts ==<br />
Git will tell you what needs resolving. You can use kdiff3, meld, or many other tools to resolve the conflict. Don't be afraid you can easily redo and undo everything.<br />
<br />
# Conflicts from here or something else<br />
git pull --rebase<br />
git status<br />
<br />
# Starts interactive resolver, TOOL can be kdiff3, meld or anything else<br />
git mergetool --tool=TOOL filename<br />
<br />
git rebase --continue or similar once everything got resolved<br />
<br />
== Working with git ==<br />
=== Feature branches ===<br />
==== Create your own short lived feature branch ====<br />
git checkout -b yourname/yourfeature origin/org.openembedded.dev<br />
<br />
==== Push your feature branch ====<br />
git push origin yourname/yourfeature<br />
<br />
==== Delete your branch after it was merged ====<br />
git push origin :yourname/yourfeature<br />
<br />
==== Upgrade/Rebase your branch to the latest version ====<br />
git fetch origin<br />
git rebase origin/org.openembedded.dev<br />
<br />
==== Change your history ====<br />
# select edit, squash, pick to say what to do with the commit<br />
<br />
git rebase -i origin/org.openembedded.dev<br />
<br />
# to abort the operation on a tricky merge<br />
git rebase --abort<br />
<br />
# to find out a previous state to use with git reset<br />
git reflog<br />
<br />
== Seeing changes ==<br />
<br />
=== Log ===<br />
# See what happened in a branch<br />
git log branch<br />
<br />
# See the change, HEAD or branch name will work too<br />
git show --color (COMMIT)<br />
<br />
# Only show you change on foo/file<br />
git show --color HEAD -- foo/file<br />
<br />
# Graphical browser<br />
gitk<br />
<br />
=== What did you change ===<br />
git rev-list origin/org.openembedded.dev.. -- Lists you the revs that are only in your branch compared to org.openembedded.dev<br />
<br />
<br />
== Other Interesting commands ==<br />
git fetch -- fetch new revisions from all remote repositories<br />
git branch -- show you local branches and which branch you are in<br />
git branch -a -- show you all branches<br />
git checkout -b MYNAME origin/THEIRNAME -- create a branch and switch to it<br />
git push origin org.openembedded.dev -- upgrade a branch<br />
git reflog<br />
git reset REF -- Change your index to be at the state of REF<br />
<br />
== Examples ==<br />
<br />
<br />
=== Example 1: ===<br />
<br />
vi packages/gaim/gaim.inc<br />
git commit packages/gaim/gaim.inc<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
=== Example 2: ===<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
git add gtk-2.8.4/fix-foo.patch<br />
git commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=649GitPhraseBook2008-10-09T05:20:51Z<p>Zecke: /* Log */</p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
== Setup ==<br />
<br />
<br />
=== Getting the data ===<br />
git clone git://git.openembedded.net/FIXME openembedded.git<br />
<br />
=== Upgrading your data (lurking) ===<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
=== Generating a ssh key ===<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send it to the right developers.<br />
<br />
ssh-keygen -t rsa -- send the resulting link to koen, mickeyl and zecke<br />
<br />
=== Checking out a branch ===<br />
# See which branches are available<br />
git branch -a<br />
<br />
# In theory create a branch and switch<br />
git checkout -b local origin/remote<br />
<br />
# you will now be in the dreambox branch and track this.<br />
git checkout -b org.openembedded.dreambox origin/org.openembedded.dreambox<br />
<br />
=== Configuring your tree for commits ===<br />
git config user.name "Your Name"<br />
git config user.mail "you@name"<br />
<br />
== Doing things with git ==<br />
<br />
=== Commit Message ===<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
=== Making your changes (old way) ===<br />
# if you have new files<br />
git add your/new/file<br />
<br />
# Commit everything<br />
git commit -a<br />
<br />
=== Making your changes (better way) ===<br />
git add your/changed/files<br />
git commit<br />
<br />
=== Making your changes (a cool way) ===<br />
git add -i<br />
git commit<br />
<br />
=== Amending to your changes ===<br />
You forgot something, no big deal, change the commit<br />
<br />
git add your/others/changes<br />
git commit --amend<br />
<br />
== Commiting someones else work ==<br />
git commit --author "Other One <other@one>"<br />
<br />
== Pushing your changes ==<br />
# just pushes the org.openembedded.dev<br />
git push origin org.openembedded.dev<br />
<br />
# just pushes your things to a test branch. Use the right branch! dangerous!<br />
git push origin org.openembedded.dev:yourname/testbranch<br />
<br />
# delete a branch<br />
git push origin :yourname/testbranch<br />
<br />
== Dealing with conflicts ==<br />
Git will tell you what needs resolving. You can use kdiff3, meld, or many other tools to resolve the conflict. Don't be afraid you can easily redo and undo everything.<br />
<br />
# Conflicts from here or something else<br />
git pull --rebase<br />
git status<br />
<br />
# Starts interactive resolver, TOOL can be kdiff3, meld or anything else<br />
git mergetool --tool=TOOL filename<br />
<br />
git rebase --continue or similar once everything got resolved<br />
<br />
== Working with git ==<br />
=== Feature branches ===<br />
==== Create your own short lived feature branch ====<br />
git checkout -b yourname/yourfeature origin/org.openembedded.dev<br />
<br />
==== Push your feature branch ====<br />
git push origin yourname/yourfeature<br />
<br />
==== Delete your branch after it was merged ====<br />
git push origin :yourname/yourfeature<br />
<br />
==== Upgrade/Rebase your branch to the latest version ====<br />
git fetch origin<br />
git rebase origin/org.openembedded.dev<br />
<br />
==== Change your history ====<br />
# select edit, squash, pick to say what to do with the commit<br />
<br />
git rebase -i origin/org.openembedded.dev<br />
<br />
# to abort the operation on a tricky merge<br />
git rebase --abort<br />
<br />
# to find out a previous state to use with git reset<br />
git reflog<br />
<br />
== Seeing changes ==<br />
<br />
=== Log ===<br />
# See what happened in a branch<br />
git log branch<br />
<br />
# See the change, HEAD or branch name will work too<br />
git show --color (COMMIT)<br />
<br />
# Only show you change on foo/file<br />
git show --color HEAD -- foo/file<br />
<br />
# Graphical browser<br />
gitk<br />
<br />
=== What did you change ===<br />
git rev-list origin/org.openembedded.dev.. -- Lists you the revs that are only in your branch compared to org.openembedded.dev<br />
<br />
<br />
== Other Interesting commands ==<br />
git fetch -- fetch new revisions from all remote repositories<br />
git branch -- show you local branches and which branch you are in<br />
git branch -a -- show you all branches<br />
git checkout -b MYNAME origin/THEIRNAME -- create a branch and switch to it<br />
git push origin org.openembedded.dev -- upgrade a branch<br />
git reflog<br />
git reset REF -- Change your index to be at the state of REF<br />
<br />
== Examples ==<br />
<br />
<br />
=== Example 1: ===<br />
<br />
vi packages/gaim/gaim.inc<br />
git commit packages/gaim/gaim.inc<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
=== Example 2: ===<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
git add gtk-2.8.4/fix-foo.patch<br />
git commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=648GitPhraseBook2008-10-09T05:20:03Z<p>Zecke: /* Change your history */</p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
== Setup ==<br />
<br />
<br />
=== Getting the data ===<br />
git clone git://git.openembedded.net/FIXME openembedded.git<br />
<br />
=== Upgrading your data (lurking) ===<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
=== Generating a ssh key ===<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send it to the right developers.<br />
<br />
ssh-keygen -t rsa -- send the resulting link to koen, mickeyl and zecke<br />
<br />
=== Checking out a branch ===<br />
# See which branches are available<br />
git branch -a<br />
<br />
# In theory create a branch and switch<br />
git checkout -b local origin/remote<br />
<br />
# you will now be in the dreambox branch and track this.<br />
git checkout -b org.openembedded.dreambox origin/org.openembedded.dreambox<br />
<br />
=== Configuring your tree for commits ===<br />
git config user.name "Your Name"<br />
git config user.mail "you@name"<br />
<br />
== Doing things with git ==<br />
<br />
=== Commit Message ===<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
=== Making your changes (old way) ===<br />
# if you have new files<br />
git add your/new/file<br />
<br />
# Commit everything<br />
git commit -a<br />
<br />
=== Making your changes (better way) ===<br />
git add your/changed/files<br />
git commit<br />
<br />
=== Making your changes (a cool way) ===<br />
git add -i<br />
git commit<br />
<br />
=== Amending to your changes ===<br />
You forgot something, no big deal, change the commit<br />
<br />
git add your/others/changes<br />
git commit --amend<br />
<br />
== Commiting someones else work ==<br />
git commit --author "Other One <other@one>"<br />
<br />
== Pushing your changes ==<br />
# just pushes the org.openembedded.dev<br />
git push origin org.openembedded.dev<br />
<br />
# just pushes your things to a test branch. Use the right branch! dangerous!<br />
git push origin org.openembedded.dev:yourname/testbranch<br />
<br />
# delete a branch<br />
git push origin :yourname/testbranch<br />
<br />
== Dealing with conflicts ==<br />
Git will tell you what needs resolving. You can use kdiff3, meld, or many other tools to resolve the conflict. Don't be afraid you can easily redo and undo everything.<br />
<br />
# Conflicts from here or something else<br />
git pull --rebase<br />
git status<br />
<br />
# Starts interactive resolver, TOOL can be kdiff3, meld or anything else<br />
git mergetool --tool=TOOL filename<br />
<br />
git rebase --continue or similar once everything got resolved<br />
<br />
== Working with git ==<br />
=== Feature branches ===<br />
==== Create your own short lived feature branch ====<br />
git checkout -b yourname/yourfeature origin/org.openembedded.dev<br />
<br />
==== Push your feature branch ====<br />
git push origin yourname/yourfeature<br />
<br />
==== Delete your branch after it was merged ====<br />
git push origin :yourname/yourfeature<br />
<br />
==== Upgrade/Rebase your branch to the latest version ====<br />
git fetch origin<br />
git rebase origin/org.openembedded.dev<br />
<br />
==== Change your history ====<br />
# select edit, squash, pick to say what to do with the commit<br />
<br />
git rebase -i origin/org.openembedded.dev<br />
<br />
# to abort the operation on a tricky merge<br />
git rebase --abort<br />
<br />
# to find out a previous state to use with git reset<br />
git reflog<br />
<br />
== Seeing changes ==<br />
<br />
=== Log ===<br />
git log branch -- See what happened in a branch<br />
git show --color (COMMIT) -- See the change, HEAD or branch name will work twoo<br />
git show --color HEAD -- foo/file -- Only show you change on foo/file<br />
gitk -- Graphical browser<br />
<br />
=== What did you change ===<br />
git rev-list origin/org.openembedded.dev.. -- Lists you the revs that are only in your branch compared to org.openembedded.dev<br />
<br />
<br />
== Other Interesting commands ==<br />
git fetch -- fetch new revisions from all remote repositories<br />
git branch -- show you local branches and which branch you are in<br />
git branch -a -- show you all branches<br />
git checkout -b MYNAME origin/THEIRNAME -- create a branch and switch to it<br />
git push origin org.openembedded.dev -- upgrade a branch<br />
git reflog<br />
git reset REF -- Change your index to be at the state of REF<br />
<br />
== Examples ==<br />
<br />
<br />
=== Example 1: ===<br />
<br />
vi packages/gaim/gaim.inc<br />
git commit packages/gaim/gaim.inc<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
=== Example 2: ===<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
git add gtk-2.8.4/fix-foo.patch<br />
git commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=647GitPhraseBook2008-10-09T05:19:19Z<p>Zecke: /* Dealing with conflicts */</p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
== Setup ==<br />
<br />
<br />
=== Getting the data ===<br />
git clone git://git.openembedded.net/FIXME openembedded.git<br />
<br />
=== Upgrading your data (lurking) ===<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
=== Generating a ssh key ===<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send it to the right developers.<br />
<br />
ssh-keygen -t rsa -- send the resulting link to koen, mickeyl and zecke<br />
<br />
=== Checking out a branch ===<br />
# See which branches are available<br />
git branch -a<br />
<br />
# In theory create a branch and switch<br />
git checkout -b local origin/remote<br />
<br />
# you will now be in the dreambox branch and track this.<br />
git checkout -b org.openembedded.dreambox origin/org.openembedded.dreambox<br />
<br />
=== Configuring your tree for commits ===<br />
git config user.name "Your Name"<br />
git config user.mail "you@name"<br />
<br />
== Doing things with git ==<br />
<br />
=== Commit Message ===<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
=== Making your changes (old way) ===<br />
# if you have new files<br />
git add your/new/file<br />
<br />
# Commit everything<br />
git commit -a<br />
<br />
=== Making your changes (better way) ===<br />
git add your/changed/files<br />
git commit<br />
<br />
=== Making your changes (a cool way) ===<br />
git add -i<br />
git commit<br />
<br />
=== Amending to your changes ===<br />
You forgot something, no big deal, change the commit<br />
<br />
git add your/others/changes<br />
git commit --amend<br />
<br />
== Commiting someones else work ==<br />
git commit --author "Other One <other@one>"<br />
<br />
== Pushing your changes ==<br />
# just pushes the org.openembedded.dev<br />
git push origin org.openembedded.dev<br />
<br />
# just pushes your things to a test branch. Use the right branch! dangerous!<br />
git push origin org.openembedded.dev:yourname/testbranch<br />
<br />
# delete a branch<br />
git push origin :yourname/testbranch<br />
<br />
== Dealing with conflicts ==<br />
Git will tell you what needs resolving. You can use kdiff3, meld, or many other tools to resolve the conflict. Don't be afraid you can easily redo and undo everything.<br />
<br />
# Conflicts from here or something else<br />
git pull --rebase<br />
git status<br />
<br />
# Starts interactive resolver, TOOL can be kdiff3, meld or anything else<br />
git mergetool --tool=TOOL filename<br />
<br />
git rebase --continue or similar once everything got resolved<br />
<br />
== Working with git ==<br />
=== Feature branches ===<br />
==== Create your own short lived feature branch ====<br />
git checkout -b yourname/yourfeature origin/org.openembedded.dev<br />
<br />
==== Push your feature branch ====<br />
git push origin yourname/yourfeature<br />
<br />
==== Delete your branch after it was merged ====<br />
git push origin :yourname/yourfeature<br />
<br />
==== Upgrade/Rebase your branch to the latest version ====<br />
git fetch origin<br />
git rebase origin/org.openembedded.dev<br />
<br />
==== Change your history ====<br />
git rebase -i origin/org.openembedded.dev -- select edit, squash, pick to say what to do with the commits<br />
git rebase --abort to abort it<br />
git reflog to help you to go back<br />
<br />
== Seeing changes ==<br />
<br />
=== Log ===<br />
git log branch -- See what happened in a branch<br />
git show --color (COMMIT) -- See the change, HEAD or branch name will work twoo<br />
git show --color HEAD -- foo/file -- Only show you change on foo/file<br />
gitk -- Graphical browser<br />
<br />
=== What did you change ===<br />
git rev-list origin/org.openembedded.dev.. -- Lists you the revs that are only in your branch compared to org.openembedded.dev<br />
<br />
<br />
== Other Interesting commands ==<br />
git fetch -- fetch new revisions from all remote repositories<br />
git branch -- show you local branches and which branch you are in<br />
git branch -a -- show you all branches<br />
git checkout -b MYNAME origin/THEIRNAME -- create a branch and switch to it<br />
git push origin org.openembedded.dev -- upgrade a branch<br />
git reflog<br />
git reset REF -- Change your index to be at the state of REF<br />
<br />
== Examples ==<br />
<br />
<br />
=== Example 1: ===<br />
<br />
vi packages/gaim/gaim.inc<br />
git commit packages/gaim/gaim.inc<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
=== Example 2: ===<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
git add gtk-2.8.4/fix-foo.patch<br />
git commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=646GitPhraseBook2008-10-09T05:18:37Z<p>Zecke: /* Pushing your changes */</p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
== Setup ==<br />
<br />
<br />
=== Getting the data ===<br />
git clone git://git.openembedded.net/FIXME openembedded.git<br />
<br />
=== Upgrading your data (lurking) ===<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
=== Generating a ssh key ===<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send it to the right developers.<br />
<br />
ssh-keygen -t rsa -- send the resulting link to koen, mickeyl and zecke<br />
<br />
=== Checking out a branch ===<br />
# See which branches are available<br />
git branch -a<br />
<br />
# In theory create a branch and switch<br />
git checkout -b local origin/remote<br />
<br />
# you will now be in the dreambox branch and track this.<br />
git checkout -b org.openembedded.dreambox origin/org.openembedded.dreambox<br />
<br />
=== Configuring your tree for commits ===<br />
git config user.name "Your Name"<br />
git config user.mail "you@name"<br />
<br />
== Doing things with git ==<br />
<br />
=== Commit Message ===<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
=== Making your changes (old way) ===<br />
# if you have new files<br />
git add your/new/file<br />
<br />
# Commit everything<br />
git commit -a<br />
<br />
=== Making your changes (better way) ===<br />
git add your/changed/files<br />
git commit<br />
<br />
=== Making your changes (a cool way) ===<br />
git add -i<br />
git commit<br />
<br />
=== Amending to your changes ===<br />
You forgot something, no big deal, change the commit<br />
<br />
git add your/others/changes<br />
git commit --amend<br />
<br />
== Commiting someones else work ==<br />
git commit --author "Other One <other@one>"<br />
<br />
== Pushing your changes ==<br />
# just pushes the org.openembedded.dev<br />
git push origin org.openembedded.dev<br />
<br />
# just pushes your things to a test branch. Use the right branch! dangerous!<br />
git push origin org.openembedded.dev:yourname/testbranch<br />
<br />
# delete a branch<br />
git push origin :yourname/testbranch<br />
<br />
== Dealing with conflicts ==<br />
Git will tell you what needs resolving. You can use kdiff3, meld, or many other tools to resolve the conflict. Don't be afraid you can easily redo and undo everything.<br />
git pull --rebase -- Conflicts from here or something else<br />
git status<br />
git mergetool --tool=TOOL filename -- Starts interactive resolver, TOOL can be kdiff3, meld or anything else<br />
git rebase --continue or similar once everything got resolved<br />
<br />
== Working with git ==<br />
=== Feature branches ===<br />
==== Create your own short lived feature branch ====<br />
git checkout -b yourname/yourfeature origin/org.openembedded.dev<br />
<br />
==== Push your feature branch ====<br />
git push origin yourname/yourfeature<br />
<br />
==== Delete your branch after it was merged ====<br />
git push origin :yourname/yourfeature<br />
<br />
==== Upgrade/Rebase your branch to the latest version ====<br />
git fetch origin<br />
git rebase origin/org.openembedded.dev<br />
<br />
==== Change your history ====<br />
git rebase -i origin/org.openembedded.dev -- select edit, squash, pick to say what to do with the commits<br />
git rebase --abort to abort it<br />
git reflog to help you to go back<br />
<br />
== Seeing changes ==<br />
<br />
=== Log ===<br />
git log branch -- See what happened in a branch<br />
git show --color (COMMIT) -- See the change, HEAD or branch name will work twoo<br />
git show --color HEAD -- foo/file -- Only show you change on foo/file<br />
gitk -- Graphical browser<br />
<br />
=== What did you change ===<br />
git rev-list origin/org.openembedded.dev.. -- Lists you the revs that are only in your branch compared to org.openembedded.dev<br />
<br />
<br />
== Other Interesting commands ==<br />
git fetch -- fetch new revisions from all remote repositories<br />
git branch -- show you local branches and which branch you are in<br />
git branch -a -- show you all branches<br />
git checkout -b MYNAME origin/THEIRNAME -- create a branch and switch to it<br />
git push origin org.openembedded.dev -- upgrade a branch<br />
git reflog<br />
git reset REF -- Change your index to be at the state of REF<br />
<br />
== Examples ==<br />
<br />
<br />
=== Example 1: ===<br />
<br />
vi packages/gaim/gaim.inc<br />
git commit packages/gaim/gaim.inc<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
=== Example 2: ===<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
git add gtk-2.8.4/fix-foo.patch<br />
git commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=645GitPhraseBook2008-10-09T04:55:57Z<p>Zecke: /* Making your changes (old way) */</p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
== Setup ==<br />
<br />
<br />
=== Getting the data ===<br />
git clone git://git.openembedded.net/FIXME openembedded.git<br />
<br />
=== Upgrading your data (lurking) ===<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
=== Generating a ssh key ===<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send it to the right developers.<br />
<br />
ssh-keygen -t rsa -- send the resulting link to koen, mickeyl and zecke<br />
<br />
=== Checking out a branch ===<br />
# See which branches are available<br />
git branch -a<br />
<br />
# In theory create a branch and switch<br />
git checkout -b local origin/remote<br />
<br />
# you will now be in the dreambox branch and track this.<br />
git checkout -b org.openembedded.dreambox origin/org.openembedded.dreambox<br />
<br />
=== Configuring your tree for commits ===<br />
git config user.name "Your Name"<br />
git config user.mail "you@name"<br />
<br />
== Doing things with git ==<br />
<br />
=== Commit Message ===<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
=== Making your changes (old way) ===<br />
# if you have new files<br />
git add your/new/file<br />
<br />
# Commit everything<br />
git commit -a<br />
<br />
=== Making your changes (better way) ===<br />
git add your/changed/files<br />
git commit<br />
<br />
=== Making your changes (a cool way) ===<br />
git add -i<br />
git commit<br />
<br />
=== Amending to your changes ===<br />
You forgot something, no big deal, change the commit<br />
<br />
git add your/others/changes<br />
git commit --amend<br />
<br />
== Commiting someones else work ==<br />
git commit --author "Other One <other@one>"<br />
<br />
== Pushing your changes ==<br />
git push origin org.openembedded.dev -- just pushes the org.openembedded.dev<br />
git push origin org.openembedded.dev:yourname/testbranch -- just pushes your things to a test branch. Use the right branch! dangerous!<br />
git push origin :yourname/testbranch -- delete a branch<br />
<br />
== Dealing with conflicts ==<br />
Git will tell you what needs resolving. You can use kdiff3, meld, or many other tools to resolve the conflict. Don't be afraid you can easily redo and undo everything.<br />
git pull --rebase -- Conflicts from here or something else<br />
git status<br />
git mergetool --tool=TOOL filename -- Starts interactive resolver, TOOL can be kdiff3, meld or anything else<br />
git rebase --continue or similar once everything got resolved<br />
<br />
== Working with git ==<br />
=== Feature branches ===<br />
==== Create your own short lived feature branch ====<br />
git checkout -b yourname/yourfeature origin/org.openembedded.dev<br />
<br />
==== Push your feature branch ====<br />
git push origin yourname/yourfeature<br />
<br />
==== Delete your branch after it was merged ====<br />
git push origin :yourname/yourfeature<br />
<br />
==== Upgrade/Rebase your branch to the latest version ====<br />
git fetch origin<br />
git rebase origin/org.openembedded.dev<br />
<br />
==== Change your history ====<br />
git rebase -i origin/org.openembedded.dev -- select edit, squash, pick to say what to do with the commits<br />
git rebase --abort to abort it<br />
git reflog to help you to go back<br />
<br />
== Seeing changes ==<br />
<br />
=== Log ===<br />
git log branch -- See what happened in a branch<br />
git show --color (COMMIT) -- See the change, HEAD or branch name will work twoo<br />
git show --color HEAD -- foo/file -- Only show you change on foo/file<br />
gitk -- Graphical browser<br />
<br />
=== What did you change ===<br />
git rev-list origin/org.openembedded.dev.. -- Lists you the revs that are only in your branch compared to org.openembedded.dev<br />
<br />
<br />
== Other Interesting commands ==<br />
git fetch -- fetch new revisions from all remote repositories<br />
git branch -- show you local branches and which branch you are in<br />
git branch -a -- show you all branches<br />
git checkout -b MYNAME origin/THEIRNAME -- create a branch and switch to it<br />
git push origin org.openembedded.dev -- upgrade a branch<br />
git reflog<br />
git reset REF -- Change your index to be at the state of REF<br />
<br />
== Examples ==<br />
<br />
<br />
=== Example 1: ===<br />
<br />
vi packages/gaim/gaim.inc<br />
git commit packages/gaim/gaim.inc<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
=== Example 2: ===<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
git add gtk-2.8.4/fix-foo.patch<br />
git commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=644GitPhraseBook2008-10-09T04:55:32Z<p>Zecke: </p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
== Setup ==<br />
<br />
<br />
=== Getting the data ===<br />
git clone git://git.openembedded.net/FIXME openembedded.git<br />
<br />
=== Upgrading your data (lurking) ===<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
=== Generating a ssh key ===<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send it to the right developers.<br />
<br />
ssh-keygen -t rsa -- send the resulting link to koen, mickeyl and zecke<br />
<br />
=== Checking out a branch ===<br />
# See which branches are available<br />
git branch -a<br />
<br />
# In theory create a branch and switch<br />
git checkout -b local origin/remote<br />
<br />
# you will now be in the dreambox branch and track this.<br />
git checkout -b org.openembedded.dreambox origin/org.openembedded.dreambox<br />
<br />
=== Configuring your tree for commits ===<br />
git config user.name "Your Name"<br />
git config user.mail "you@name"<br />
<br />
== Doing things with git ==<br />
<br />
=== Commit Message ===<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
=== Making your changes (old way) ===<br />
git add your/new/file -- if you have new files<br />
git commit -a -- Commit everything<br />
<br />
=== Making your changes (better way) ===<br />
git add your/changed/files<br />
git commit<br />
<br />
=== Making your changes (a cool way) ===<br />
git add -i<br />
git commit<br />
<br />
=== Amending to your changes ===<br />
You forgot something, no big deal, change the commit<br />
<br />
git add your/others/changes<br />
git commit --amend<br />
<br />
== Commiting someones else work ==<br />
git commit --author "Other One <other@one>"<br />
<br />
== Pushing your changes ==<br />
git push origin org.openembedded.dev -- just pushes the org.openembedded.dev<br />
git push origin org.openembedded.dev:yourname/testbranch -- just pushes your things to a test branch. Use the right branch! dangerous!<br />
git push origin :yourname/testbranch -- delete a branch<br />
<br />
== Dealing with conflicts ==<br />
Git will tell you what needs resolving. You can use kdiff3, meld, or many other tools to resolve the conflict. Don't be afraid you can easily redo and undo everything.<br />
git pull --rebase -- Conflicts from here or something else<br />
git status<br />
git mergetool --tool=TOOL filename -- Starts interactive resolver, TOOL can be kdiff3, meld or anything else<br />
git rebase --continue or similar once everything got resolved<br />
<br />
== Working with git ==<br />
=== Feature branches ===<br />
==== Create your own short lived feature branch ====<br />
git checkout -b yourname/yourfeature origin/org.openembedded.dev<br />
<br />
==== Push your feature branch ====<br />
git push origin yourname/yourfeature<br />
<br />
==== Delete your branch after it was merged ====<br />
git push origin :yourname/yourfeature<br />
<br />
==== Upgrade/Rebase your branch to the latest version ====<br />
git fetch origin<br />
git rebase origin/org.openembedded.dev<br />
<br />
==== Change your history ====<br />
git rebase -i origin/org.openembedded.dev -- select edit, squash, pick to say what to do with the commits<br />
git rebase --abort to abort it<br />
git reflog to help you to go back<br />
<br />
== Seeing changes ==<br />
<br />
=== Log ===<br />
git log branch -- See what happened in a branch<br />
git show --color (COMMIT) -- See the change, HEAD or branch name will work twoo<br />
git show --color HEAD -- foo/file -- Only show you change on foo/file<br />
gitk -- Graphical browser<br />
<br />
=== What did you change ===<br />
git rev-list origin/org.openembedded.dev.. -- Lists you the revs that are only in your branch compared to org.openembedded.dev<br />
<br />
<br />
== Other Interesting commands ==<br />
git fetch -- fetch new revisions from all remote repositories<br />
git branch -- show you local branches and which branch you are in<br />
git branch -a -- show you all branches<br />
git checkout -b MYNAME origin/THEIRNAME -- create a branch and switch to it<br />
git push origin org.openembedded.dev -- upgrade a branch<br />
git reflog<br />
git reset REF -- Change your index to be at the state of REF<br />
<br />
== Examples ==<br />
<br />
<br />
=== Example 1: ===<br />
<br />
vi packages/gaim/gaim.inc<br />
git commit packages/gaim/gaim.inc<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
=== Example 2: ===<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
git add gtk-2.8.4/fix-foo.patch<br />
git commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=642GitPhraseBook2008-10-08T15:57:17Z<p>Zecke: /* Other Interesting commands */</p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
== Setup ==<br />
<br />
<br />
=== Getting the data ===<br />
git clone git://git.openembedded.net/FIXME openembedded.git<br />
<br />
=== Upgrading your data (lurking) ===<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
=== Generating a ssh key ===<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send it to the right developers.<br />
<br />
ssh-keygen -t rsa -- send the resulting link to koen, mickeyl and zecke<br />
<br />
=== Checking out a branch ===<br />
git branch -a -- See which branches are available<br />
git checkout -b local origin/remote -- In theory create a branch and sswitch<br />
git checkout -b org.openembedded.dreambox origin/org.openembedded.dreambox -- you will now be in the dreambox branch and track this.<br />
<br />
=== Configuring your tree for commits ===<br />
git config user.name "Your Name"<br />
git config user.mail "you@name"<br />
<br />
== Doing things with git ==<br />
<br />
=== Commit Message ===<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
=== Making your changes (old way) ===<br />
git add your/new/file -- if you have new files<br />
git commit -a -- Commit everything<br />
<br />
=== Making your changes (better way) ===<br />
git add your/changed/files<br />
git commit<br />
<br />
=== Making your changes (a cool way) ===<br />
git add -i<br />
git commit<br />
<br />
=== Ammending to your changes ===<br />
You forgot something, no big deal, change the commit<br />
<br />
git add your/others/changes<br />
git commit --amend<br />
<br />
== Commiting someones else work ==<br />
git commit --author "Other One <other@one>"<br />
<br />
== Pushing your changes ==<br />
git push origin org.openembedded.dev -- just pushes the org.openembedded.dev<br />
git push origin org.openembedded.dev:yourname/testbranch -- just pushes your things to a test branch. Use the right branch! dangerous!<br />
git push origin :yourname/testbranch -- delete a branch<br />
<br />
== Dealing with conflicts ==<br />
Git will tell you what needs resolving. You can use kdiff3, meld, or many other tools to resolve the conflict. Don't be afraid you can easily redo and undo everything.<br />
git pull --rebase -- Conflicts from here or something else<br />
git status<br />
git mergetool --tool=TOOL filename -- Starts interactive resolver, TOOL can be kdiff3, meld or anything else<br />
git rebase --continue or similar once everything got resolved<br />
<br />
== Working with git ==<br />
=== Feature branches ===<br />
==== Create your own short lived feature branch ====<br />
git checkout -b yourname/yourfeature origin/org.openembedded.dev<br />
<br />
==== Push your feature branch ====<br />
git push origin yourname/yourfeature<br />
<br />
==== Delete your branch after it was merged ====<br />
git push origin :yourname/yourfeature<br />
<br />
==== Upgrade/Rebase your branch to the latest version ====<br />
git fetch origin<br />
git rebase origin/org.openembedded.dev<br />
<br />
==== Change your history ====<br />
git rebase -i origin/org.openembedded.dev -- select edit, squash, pick to say what to do with the commits<br />
git rebase --abort to abort it<br />
git reflog to help you to go back<br />
<br />
== Seeing changes ==<br />
<br />
=== Log ===<br />
git log branch -- See what happened in a branch<br />
git show --color (COMMIT) -- See the change, HEAD or branch name will work twoo<br />
git show --color HEAD -- foo/file -- Only show you change on foo/file<br />
gitk -- Graphical browser<br />
<br />
=== What did you change ===<br />
git rev-list origin/org.openembedded.dev.. -- Lists you the revs that are only in your branch compared to org.openembedded.dev<br />
<br />
<br />
== Other Interesting commands ==<br />
git fetch -- fetch new revisions from all remote repositories<br />
git branch -- show you local branches and which branch you are in<br />
git branch -a -- show you all branches<br />
git checkout -b MYNAME origin/THEIRNAME -- create a branch and switch to it<br />
git push origin org.openembedded.dev -- upgrade a branch<br />
git reflog<br />
git reset REF -- Change your index to be at the state of REF<br />
<br />
== Examples ==<br />
<br />
<br />
=== Example 1: ===<br />
<br />
vi packages/gaim/gaim.inc<br />
git commit packages/gaim/gaim.inc<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
=== Example 2: ===<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
git add gtk-2.8.4/fix-foo.patch<br />
git commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=641GitPhraseBook2008-10-08T15:56:26Z<p>Zecke: /* Commit Message */</p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
== Setup ==<br />
<br />
<br />
=== Getting the data ===<br />
git clone git://git.openembedded.net/FIXME openembedded.git<br />
<br />
=== Upgrading your data (lurking) ===<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
=== Generating a ssh key ===<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send it to the right developers.<br />
<br />
ssh-keygen -t rsa -- send the resulting link to koen, mickeyl and zecke<br />
<br />
=== Checking out a branch ===<br />
git branch -a -- See which branches are available<br />
git checkout -b local origin/remote -- In theory create a branch and sswitch<br />
git checkout -b org.openembedded.dreambox origin/org.openembedded.dreambox -- you will now be in the dreambox branch and track this.<br />
<br />
=== Configuring your tree for commits ===<br />
git config user.name "Your Name"<br />
git config user.mail "you@name"<br />
<br />
== Doing things with git ==<br />
<br />
=== Commit Message ===<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
=== Making your changes (old way) ===<br />
git add your/new/file -- if you have new files<br />
git commit -a -- Commit everything<br />
<br />
=== Making your changes (better way) ===<br />
git add your/changed/files<br />
git commit<br />
<br />
=== Making your changes (a cool way) ===<br />
git add -i<br />
git commit<br />
<br />
=== Ammending to your changes ===<br />
You forgot something, no big deal, change the commit<br />
<br />
git add your/others/changes<br />
git commit --amend<br />
<br />
== Commiting someones else work ==<br />
git commit --author "Other One <other@one>"<br />
<br />
== Pushing your changes ==<br />
git push origin org.openembedded.dev -- just pushes the org.openembedded.dev<br />
git push origin org.openembedded.dev:yourname/testbranch -- just pushes your things to a test branch. Use the right branch! dangerous!<br />
git push origin :yourname/testbranch -- delete a branch<br />
<br />
== Dealing with conflicts ==<br />
Git will tell you what needs resolving. You can use kdiff3, meld, or many other tools to resolve the conflict. Don't be afraid you can easily redo and undo everything.<br />
git pull --rebase -- Conflicts from here or something else<br />
git status<br />
git mergetool --tool=TOOL filename -- Starts interactive resolver, TOOL can be kdiff3, meld or anything else<br />
git rebase --continue or similar once everything got resolved<br />
<br />
== Working with git ==<br />
=== Feature branches ===<br />
==== Create your own short lived feature branch ====<br />
git checkout -b yourname/yourfeature origin/org.openembedded.dev<br />
<br />
==== Push your feature branch ====<br />
git push origin yourname/yourfeature<br />
<br />
==== Delete your branch after it was merged ====<br />
git push origin :yourname/yourfeature<br />
<br />
==== Upgrade/Rebase your branch to the latest version ====<br />
git fetch origin<br />
git rebase origin/org.openembedded.dev<br />
<br />
==== Change your history ====<br />
git rebase -i origin/org.openembedded.dev -- select edit, squash, pick to say what to do with the commits<br />
git rebase --abort to abort it<br />
git reflog to help you to go back<br />
<br />
== Seeing changes ==<br />
<br />
=== Log ===<br />
git log branch -- See what happened in a branch<br />
git show --color (COMMIT) -- See the change, HEAD or branch name will work twoo<br />
git show --color HEAD -- foo/file -- Only show you change on foo/file<br />
gitk -- Graphical browser<br />
<br />
=== What did you change ===<br />
git rev-list origin/org.openembedded.dev.. -- Lists you the revs that are only in your branch compared to org.openembedded.dev<br />
<br />
<br />
== Other Interesting commands ==<br />
git fetch -- fetch new revisions from all remote repositories<br />
git branch -- show you local branches and which branch you are in<br />
git branch -a -- show you all branches<br />
git checkout -b MYNAME origin/THEIRNAME -- create a branch and switch to it<br />
git push origin org.openembedded.dev -- upgrade a branch<br />
git reflog<br />
<br />
<br />
<br />
== Examples ==<br />
<br />
<br />
=== Example 1: ===<br />
<br />
vi packages/gaim/gaim.inc<br />
git commit packages/gaim/gaim.inc<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
=== Example 2: ===<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
git add gtk-2.8.4/fix-foo.patch<br />
git commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=640GitPhraseBook2008-10-08T15:55:55Z<p>Zecke: /* Example 2: */</p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
== Setup ==<br />
<br />
<br />
=== Getting the data ===<br />
git clone git://git.openembedded.net/FIXME openembedded.git<br />
<br />
=== Upgrading your data (lurking) ===<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
=== Generating a ssh key ===<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send it to the right developers.<br />
<br />
ssh-keygen -t rsa -- send the resulting link to koen, mickeyl and zecke<br />
<br />
=== Checking out a branch ===<br />
git branch -a -- See which branches are available<br />
git checkout -b local origin/remote -- In theory create a branch and sswitch<br />
git checkout -b org.openembedded.dreambox origin/org.openembedded.dreambox -- you will now be in the dreambox branch and track this.<br />
<br />
=== Configuring your tree for commits ===<br />
git config user.name "Your Name"<br />
git config user.mail "you@name"<br />
<br />
== Doing things with git ==<br />
<br />
=== Commit Message ===<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
=== Making your changes (old way) ===<br />
git add your/new/file -- if you have new files<br />
git commit -a -- Commit everything<br />
<br />
=== Making your changes (better way) ===<br />
git add your/changed/files<br />
git commit<br />
<br />
=== Making your changes (a cool way) ===<br />
git add -i<br />
git commit<br />
<br />
=== Ammending to your changes ===<br />
You forgot something, no big deal, change the commit<br />
<br />
git add your/others/changes<br />
git commit --amend<br />
<br />
== Commiting someones else work ==<br />
git commit --author "Other One <other@one>"<br />
<br />
== Pushing your changes ==<br />
git push origin org.openembedded.dev -- just pushes the org.openembedded.dev<br />
git push origin org.openembedded.dev:yourname/testbranch -- just pushes your things to a test branch. Use the right branch! dangerous!<br />
git push origin :yourname/testbranch -- delete a branch<br />
<br />
== Dealing with conflicts ==<br />
Git will tell you what needs resolving. You can use kdiff3, meld, or many other tools to resolve the conflict. Don't be afraid you can easily redo and undo everything.<br />
git pull --rebase -- Conflicts from here or something else<br />
git status<br />
git mergetool --tool=TOOL filename -- Starts interactive resolver, TOOL can be kdiff3, meld or anything else<br />
git rebase --continue or similar once everything got resolved<br />
<br />
== Working with git ==<br />
=== Feature branches ===<br />
==== Create your own short lived feature branch ====<br />
git checkout -b yourname/yourfeature origin/org.openembedded.dev<br />
<br />
==== Push your feature branch ====<br />
git push origin yourname/yourfeature<br />
<br />
==== Delete your branch after it was merged ====<br />
git push origin :yourname/yourfeature<br />
<br />
==== Upgrade/Rebase your branch to the latest version ====<br />
git fetch origin<br />
git rebase origin/org.openembedded.dev<br />
<br />
==== Change your history ====<br />
git rebase -i origin/org.openembedded.dev -- select edit, squash, pick to say what to do with the commits<br />
git rebase --abort to abort it<br />
git reflog to help you to go back<br />
<br />
== Seeing changes ==<br />
<br />
=== Log ===<br />
git log branch -- See what happened in a branch<br />
git show --color (COMMIT) -- See the change, HEAD or branch name will work twoo<br />
git show --color HEAD -- foo/file -- Only show you change on foo/file<br />
gitk -- Graphical browser<br />
<br />
=== What did you change ===<br />
git rev-list origin/org.openembedded.dev.. -- Lists you the revs that are only in your branch compared to org.openembedded.dev<br />
<br />
<br />
== Other Interesting commands ==<br />
git fetch -- fetch new revisions from all remote repositories<br />
git branch -- show you local branches and which branch you are in<br />
git branch -a -- show you all branches<br />
git checkout -b MYNAME origin/THEIRNAME -- create a branch and switch to it<br />
git push origin org.openembedded.dev -- upgrade a branch<br />
git reflog<br />
<br />
<br />
<br />
== Examples ==<br />
<br />
<br />
=== Example 1: ===<br />
<br />
vi packages/gaim/gaim.inc<br />
git commit packages/gaim/gaim.inc<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
=== Example 2: ===<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
git add gtk-2.8.4/fix-foo.patch<br />
git commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=639GitPhraseBook2008-10-08T15:55:02Z<p>Zecke: /* Example 1: */</p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
== Setup ==<br />
<br />
<br />
=== Getting the data ===<br />
git clone git://git.openembedded.net/FIXME openembedded.git<br />
<br />
=== Upgrading your data (lurking) ===<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
=== Generating a ssh key ===<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send it to the right developers.<br />
<br />
ssh-keygen -t rsa -- send the resulting link to koen, mickeyl and zecke<br />
<br />
=== Checking out a branch ===<br />
git branch -a -- See which branches are available<br />
git checkout -b local origin/remote -- In theory create a branch and sswitch<br />
git checkout -b org.openembedded.dreambox origin/org.openembedded.dreambox -- you will now be in the dreambox branch and track this.<br />
<br />
=== Configuring your tree for commits ===<br />
git config user.name "Your Name"<br />
git config user.mail "you@name"<br />
<br />
== Doing things with git ==<br />
<br />
=== Commit Message ===<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
=== Making your changes (old way) ===<br />
git add your/new/file -- if you have new files<br />
git commit -a -- Commit everything<br />
<br />
=== Making your changes (better way) ===<br />
git add your/changed/files<br />
git commit<br />
<br />
=== Making your changes (a cool way) ===<br />
git add -i<br />
git commit<br />
<br />
=== Ammending to your changes ===<br />
You forgot something, no big deal, change the commit<br />
<br />
git add your/others/changes<br />
git commit --amend<br />
<br />
== Commiting someones else work ==<br />
git commit --author "Other One <other@one>"<br />
<br />
== Pushing your changes ==<br />
git push origin org.openembedded.dev -- just pushes the org.openembedded.dev<br />
git push origin org.openembedded.dev:yourname/testbranch -- just pushes your things to a test branch. Use the right branch! dangerous!<br />
git push origin :yourname/testbranch -- delete a branch<br />
<br />
== Dealing with conflicts ==<br />
Git will tell you what needs resolving. You can use kdiff3, meld, or many other tools to resolve the conflict. Don't be afraid you can easily redo and undo everything.<br />
git pull --rebase -- Conflicts from here or something else<br />
git status<br />
git mergetool --tool=TOOL filename -- Starts interactive resolver, TOOL can be kdiff3, meld or anything else<br />
git rebase --continue or similar once everything got resolved<br />
<br />
== Working with git ==<br />
=== Feature branches ===<br />
==== Create your own short lived feature branch ====<br />
git checkout -b yourname/yourfeature origin/org.openembedded.dev<br />
<br />
==== Push your feature branch ====<br />
git push origin yourname/yourfeature<br />
<br />
==== Delete your branch after it was merged ====<br />
git push origin :yourname/yourfeature<br />
<br />
==== Upgrade/Rebase your branch to the latest version ====<br />
git fetch origin<br />
git rebase origin/org.openembedded.dev<br />
<br />
==== Change your history ====<br />
git rebase -i origin/org.openembedded.dev -- select edit, squash, pick to say what to do with the commits<br />
git rebase --abort to abort it<br />
git reflog to help you to go back<br />
<br />
== Seeing changes ==<br />
<br />
=== Log ===<br />
git log branch -- See what happened in a branch<br />
git show --color (COMMIT) -- See the change, HEAD or branch name will work twoo<br />
git show --color HEAD -- foo/file -- Only show you change on foo/file<br />
gitk -- Graphical browser<br />
<br />
=== What did you change ===<br />
git rev-list origin/org.openembedded.dev.. -- Lists you the revs that are only in your branch compared to org.openembedded.dev<br />
<br />
<br />
== Other Interesting commands ==<br />
git fetch -- fetch new revisions from all remote repositories<br />
git branch -- show you local branches and which branch you are in<br />
git branch -a -- show you all branches<br />
git checkout -b MYNAME origin/THEIRNAME -- create a branch and switch to it<br />
git push origin org.openembedded.dev -- upgrade a branch<br />
git reflog<br />
<br />
<br />
<br />
== Examples ==<br />
<br />
<br />
=== Example 1: ===<br />
<br />
vi packages/gaim/gaim.inc<br />
git commit packages/gaim/gaim.inc<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
=== Example 2: ===<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
mtn add gtk-2.8.4/fix-foo.patch<br />
mtn pull<br />
mtn update<br />
mtn commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=638GitPhraseBook2008-10-08T15:54:29Z<p>Zecke: /* Example 1: */</p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
== Setup ==<br />
<br />
<br />
=== Getting the data ===<br />
git clone git://git.openembedded.net/FIXME openembedded.git<br />
<br />
=== Upgrading your data (lurking) ===<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
=== Generating a ssh key ===<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send it to the right developers.<br />
<br />
ssh-keygen -t rsa -- send the resulting link to koen, mickeyl and zecke<br />
<br />
=== Checking out a branch ===<br />
git branch -a -- See which branches are available<br />
git checkout -b local origin/remote -- In theory create a branch and sswitch<br />
git checkout -b org.openembedded.dreambox origin/org.openembedded.dreambox -- you will now be in the dreambox branch and track this.<br />
<br />
=== Configuring your tree for commits ===<br />
git config user.name "Your Name"<br />
git config user.mail "you@name"<br />
<br />
== Doing things with git ==<br />
<br />
=== Commit Message ===<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
=== Making your changes (old way) ===<br />
git add your/new/file -- if you have new files<br />
git commit -a -- Commit everything<br />
<br />
=== Making your changes (better way) ===<br />
git add your/changed/files<br />
git commit<br />
<br />
=== Making your changes (a cool way) ===<br />
git add -i<br />
git commit<br />
<br />
=== Ammending to your changes ===<br />
You forgot something, no big deal, change the commit<br />
<br />
git add your/others/changes<br />
git commit --amend<br />
<br />
== Commiting someones else work ==<br />
git commit --author "Other One <other@one>"<br />
<br />
== Pushing your changes ==<br />
git push origin org.openembedded.dev -- just pushes the org.openembedded.dev<br />
git push origin org.openembedded.dev:yourname/testbranch -- just pushes your things to a test branch. Use the right branch! dangerous!<br />
git push origin :yourname/testbranch -- delete a branch<br />
<br />
== Dealing with conflicts ==<br />
Git will tell you what needs resolving. You can use kdiff3, meld, or many other tools to resolve the conflict. Don't be afraid you can easily redo and undo everything.<br />
git pull --rebase -- Conflicts from here or something else<br />
git status<br />
git mergetool --tool=TOOL filename -- Starts interactive resolver, TOOL can be kdiff3, meld or anything else<br />
git rebase --continue or similar once everything got resolved<br />
<br />
== Working with git ==<br />
=== Feature branches ===<br />
==== Create your own short lived feature branch ====<br />
git checkout -b yourname/yourfeature origin/org.openembedded.dev<br />
<br />
==== Push your feature branch ====<br />
git push origin yourname/yourfeature<br />
<br />
==== Delete your branch after it was merged ====<br />
git push origin :yourname/yourfeature<br />
<br />
==== Upgrade/Rebase your branch to the latest version ====<br />
git fetch origin<br />
git rebase origin/org.openembedded.dev<br />
<br />
==== Change your history ====<br />
git rebase -i origin/org.openembedded.dev -- select edit, squash, pick to say what to do with the commits<br />
git rebase --abort to abort it<br />
git reflog to help you to go back<br />
<br />
== Seeing changes ==<br />
<br />
=== Log ===<br />
git log branch -- See what happened in a branch<br />
git show --color (COMMIT) -- See the change, HEAD or branch name will work twoo<br />
git show --color HEAD -- foo/file -- Only show you change on foo/file<br />
gitk -- Graphical browser<br />
<br />
=== What did you change ===<br />
git rev-list origin/org.openembedded.dev.. -- Lists you the revs that are only in your branch compared to org.openembedded.dev<br />
<br />
<br />
== Other Interesting commands ==<br />
git fetch -- fetch new revisions from all remote repositories<br />
git branch -- show you local branches and which branch you are in<br />
git branch -a -- show you all branches<br />
git checkout -b MYNAME origin/THEIRNAME -- create a branch and switch to it<br />
git push origin org.openembedded.dev -- upgrade a branch<br />
git reflog<br />
<br />
<br />
<br />
== Examples ==<br />
<br />
<br />
=== Example 1: ===<br />
<br />
vi packages/gaim/gaim.inc<br />
git commit packages/gaim/gaim.inc<br />
git pull --rebase<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
=== Example 2: ===<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
mtn add gtk-2.8.4/fix-foo.patch<br />
mtn pull<br />
mtn update<br />
mtn commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=637GitPhraseBook2008-10-08T15:53:37Z<p>Zecke: </p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
== Setup ==<br />
<br />
<br />
=== Getting the data ===<br />
git clone git://git.openembedded.net/FIXME openembedded.git<br />
<br />
=== Upgrading your data (lurking) ===<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
=== Generating a ssh key ===<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send it to the right developers.<br />
<br />
ssh-keygen -t rsa -- send the resulting link to koen, mickeyl and zecke<br />
<br />
=== Checking out a branch ===<br />
git branch -a -- See which branches are available<br />
git checkout -b local origin/remote -- In theory create a branch and sswitch<br />
git checkout -b org.openembedded.dreambox origin/org.openembedded.dreambox -- you will now be in the dreambox branch and track this.<br />
<br />
=== Configuring your tree for commits ===<br />
git config user.name "Your Name"<br />
git config user.mail "you@name"<br />
<br />
== Doing things with git ==<br />
<br />
=== Commit Message ===<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
=== Making your changes (old way) ===<br />
git add your/new/file -- if you have new files<br />
git commit -a -- Commit everything<br />
<br />
=== Making your changes (better way) ===<br />
git add your/changed/files<br />
git commit<br />
<br />
=== Making your changes (a cool way) ===<br />
git add -i<br />
git commit<br />
<br />
=== Ammending to your changes ===<br />
You forgot something, no big deal, change the commit<br />
<br />
git add your/others/changes<br />
git commit --amend<br />
<br />
== Commiting someones else work ==<br />
git commit --author "Other One <other@one>"<br />
<br />
== Pushing your changes ==<br />
git push origin org.openembedded.dev -- just pushes the org.openembedded.dev<br />
git push origin org.openembedded.dev:yourname/testbranch -- just pushes your things to a test branch. Use the right branch! dangerous!<br />
git push origin :yourname/testbranch -- delete a branch<br />
<br />
== Dealing with conflicts ==<br />
Git will tell you what needs resolving. You can use kdiff3, meld, or many other tools to resolve the conflict. Don't be afraid you can easily redo and undo everything.<br />
git pull --rebase -- Conflicts from here or something else<br />
git status<br />
git mergetool --tool=TOOL filename -- Starts interactive resolver, TOOL can be kdiff3, meld or anything else<br />
git rebase --continue or similar once everything got resolved<br />
<br />
== Working with git ==<br />
=== Feature branches ===<br />
==== Create your own short lived feature branch ====<br />
git checkout -b yourname/yourfeature origin/org.openembedded.dev<br />
<br />
==== Push your feature branch ====<br />
git push origin yourname/yourfeature<br />
<br />
==== Delete your branch after it was merged ====<br />
git push origin :yourname/yourfeature<br />
<br />
==== Upgrade/Rebase your branch to the latest version ====<br />
git fetch origin<br />
git rebase origin/org.openembedded.dev<br />
<br />
==== Change your history ====<br />
git rebase -i origin/org.openembedded.dev -- select edit, squash, pick to say what to do with the commits<br />
git rebase --abort to abort it<br />
git reflog to help you to go back<br />
<br />
== Seeing changes ==<br />
<br />
=== Log ===<br />
git log branch -- See what happened in a branch<br />
git show --color (COMMIT) -- See the change, HEAD or branch name will work twoo<br />
git show --color HEAD -- foo/file -- Only show you change on foo/file<br />
gitk -- Graphical browser<br />
<br />
=== What did you change ===<br />
git rev-list origin/org.openembedded.dev.. -- Lists you the revs that are only in your branch compared to org.openembedded.dev<br />
<br />
<br />
== Other Interesting commands ==<br />
git fetch -- fetch new revisions from all remote repositories<br />
git branch -- show you local branches and which branch you are in<br />
git branch -a -- show you all branches<br />
git checkout -b MYNAME origin/THEIRNAME -- create a branch and switch to it<br />
git push origin org.openembedded.dev -- upgrade a branch<br />
git reflog<br />
<br />
<br />
<br />
== Examples ==<br />
<br />
<br />
=== Example 1: ===<br />
<br />
vi packages/gaim/gaim.inc<br />
mtn pull<br />
mtn update<br />
mtn commit packages/gaim/gaim.inc<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
=== Example 2: ===<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
mtn add gtk-2.8.4/fix-foo.patch<br />
mtn pull<br />
mtn update<br />
mtn commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=636GitPhraseBook2008-10-08T15:46:14Z<p>Zecke: </p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
== Setup ==<br />
<br />
<br />
=== Getting the data ===<br />
git clone git://git.openembedded.net/FIXME openembedded.git<br />
<br />
=== Upgrading your data (lurking) ===<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
=== Generating a ssh key ===<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send it to the right developers.<br />
<br />
ssh-keygen -t rsa -- send the resulting link to koen, mickeyl and zecke<br />
<br />
=== Checking out a branch ===<br />
git branch -a -- See which branches are available<br />
git checkout -b local origin/remote -- In theory create a branch and sswitch<br />
git checkout -b org.openembedded.dreambox origin/org.openembedded.dreambox -- you will now be in the dreambox branch and track this.<br />
<br />
=== Configuring your tree for commits ===<br />
git config user.name "Your Name"<br />
git config user.mail "you@name"<br />
<br />
== Doing things with git ==<br />
<br />
=== Making your changes (old way) ===<br />
git add your/new/file -- if you have new files<br />
git commit -a -- Commit everything<br />
<br />
=== Making your changes (better way) ===<br />
git add your/changed/files<br />
git commit<br />
<br />
=== Making your changes (a cool way) ===<br />
git add -i<br />
git commit<br />
<br />
=== Ammending to your changes ===<br />
You forgot something, no big deal, change the commit<br />
<br />
git add your/others/changes<br />
git commit --amend<br />
<br />
== Commiting someones else work ==<br />
git commit --author "Other One <other@one>"<br />
<br />
== Pushing your changes ==<br />
git push origin org.openembedded.dev -- just pushes the org.openembedded.dev<br />
git push origin org.openembedded.dev:yourname/testbranch -- just pushes your things to a test branch. Use the right branch! dangerous!<br />
git push origin :yourname/testbranch -- delete a branch<br />
<br />
== Dealing with conflicts ==<br />
Git will tell you what needs resolving. You can use kdiff3, meld, or many other tools to resolve the conflict. Don't be afraid you can easily redo and undo everything.<br />
git pull --rebase -- Conflicts from here or something else<br />
git status<br />
git mergetool --tool=TOOL filename -- Starts interactive resolver, TOOL can be kdiff3, meld or anything else<br />
git rebase --continue or similar once everything got resolved<br />
<br />
== Interesting commands ==<br />
git fetch -- fetch new revisions from all remote repositories<br />
git branch -- show you local branches and which branch you are in<br />
git branch -a -- show you all branches<br />
git checkout -b MYNAME origin/THEIRNAME -- create a branch and switch to it<br />
git push origin org.openembedded.dev -- upgrade a branch<br />
<br />
<br />
<br />
<br />
<br />
When you are committing someone elses work verbatim:<br />
<br />
mtn pull<br />
mtn update<br />
mtn commit <files> --author <email of original author><br />
<br />
<br />
The commit message has to follow this layout:<br />
<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
Example 1:<br />
<br />
vi packages/gaim/gaim.inc<br />
mtn pull<br />
mtn update<br />
mtn commit packages/gaim/gaim.inc<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
Example 2:<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
mtn add gtk-2.8.4/fix-foo.patch<br />
mtn pull<br />
mtn update<br />
mtn commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow<br />
<br />
Note: Make sure you do 'mtn update' before 'mtn commit' since this reduces the possibility of multiple heads.<br />
<br />
Backing out the commit you've made: (You'll need to find the revision ID for this. Use mtn log|less)<br />
<br />
This will remove all changes you've done, returning the file(s) to the state they were before you edited them.<br />
<br />
mtn --db=OE.mtn --branch=org.openembedded.<branchname> disapprove 5c1a5813e0f66a0d10515ba6fecafbebfe679c7f<br />
<br />
Updating<br />
<br />
It is assumed that the database is in the current directory and named OE.mtn and the checkout tree is in the org.openembedded.dev in the same directory. Specifying the server name is optional after the initial pull.<br />
<br />
mtn --db=OE.mtn pull monotone.openembedded.org org.openembedded.dev <br />
cd org.openembedded.dev<br />
<br />
The database now contains all upstream changes. You can review the incoming changes as follows:<br />
<br />
mtn diff -r `mtn automate get_base_revision_id` -r `mtn automate heads`<br />
<br />
Update your local checkout:<br />
<br />
mtn update<br />
<br />
Pushing your changes upstream:<br />
<br />
cd org.openembedded.dev<br />
mtn pull<br />
mtn merge<br />
mtn push<br />
<br />
Set default branch and server on push (this is especially needed if you download the database snapshot and want pushing to monotone.openembedded.org):<br />
<br />
mtn push --set-default <server> org.openembedded.dev<br />
<br />
http://www.venge.net/monotone/docs/Tutorial.html contains lots of useful examples.<br />
Working on multiple branches<br />
<br />
If you have checked-out different branches, the default settings (set on first checkout) stored in your database may not fit for other branches. You may need to reset vars in order to be able to pull updates in other branches' local copies. For instance, to continue work on org.openembedded.oz354x instead of org.openembedded.dev :<br />
<br />
mtn set database default-include-pattern org.openembedded.oz354x<br />
<br />
You can check default settings with :<br />
<br />
mtn list vars<br />
<br />
Some additional guidelines:<br />
<br />
* If you have multiple trees / databases, make sure you synchronize them with the upstream tree before pushing or we'll end up with multiple branch heads<br />
* Don't forget to update your working copies after pulling<br />
* If you are responsible for multiple branch heads, feel responsible to merge them using 'mtn merge'<br />
* Install 'meld' of 'kdiff3' on your PC, this eases 2-way and 3-way merging</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=635GitPhraseBook2008-10-08T15:40:56Z<p>Zecke: </p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
== Setup ==<br />
<br />
<br />
=== Getting the data ===<br />
git clone git://git.openembedded.net/FIXME openembedded.git<br />
<br />
=== Upgrading your data (lurking) ===<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
== Generating a ssh key ==<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send it to the right developers.<br />
<br />
ssh-keygen -t rsa -- send the resulting link to koen, mickeyl and zecke<br />
<br />
=== Checking out a branch ===<br />
git branch -a -- See which branches are available<br />
git checkout -b local origin/remote -- In theory create a branch and sswitch<br />
git checkout -b org.openembedded.dreambox origin/org.openembedded.dreambox -- you will now be in the dreambox branch and track this.<br />
<br />
=== Configuring your tree for commits ===<br />
git config user.name "Your Name"<br />
git config user.mail "you@name"<br />
<br />
== Doing things with git ==<br />
<br />
=== Making your changes (old way) ===<br />
git add your/new/file -- if you have new files<br />
git commit -a -- Commit everything<br />
<br />
=== Making your changes (better way) ===<br />
git add your/changed/files<br />
git commit<br />
<br />
=== Making your changes (a cool way) ===<br />
git add -i<br />
git commit<br />
<br />
=== Ammending to your changes ===<br />
You forgot something, no big deal, change the commit<br />
<br />
git add your/others/changes<br />
git commit --amend<br />
<br />
== Commiting someones else work ==<br />
git commit --author "Other One <other@one>"<br />
<br />
<br />
== Interesting commands ==<br />
git fetch -- fetch new revisions from all remote repositories<br />
git branch -- show you local branches and which branch you are in<br />
git branch -a -- show you all branches<br />
git checkout -b MYNAME origin/THEIRNAME -- create a branch and switch to it<br />
git push origin org.openembedded.dev -- upgrade a branch<br />
<br />
<br />
<br />
<br />
<br />
When you are committing someone elses work verbatim:<br />
<br />
mtn pull<br />
mtn update<br />
mtn commit <files> --author <email of original author><br />
<br />
<br />
The commit message has to follow this layout:<br />
<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
Example 1:<br />
<br />
vi packages/gaim/gaim.inc<br />
mtn pull<br />
mtn update<br />
mtn commit packages/gaim/gaim.inc<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
Example 2:<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
mtn add gtk-2.8.4/fix-foo.patch<br />
mtn pull<br />
mtn update<br />
mtn commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow<br />
<br />
Note: Make sure you do 'mtn update' before 'mtn commit' since this reduces the possibility of multiple heads.<br />
<br />
Backing out the commit you've made: (You'll need to find the revision ID for this. Use mtn log|less)<br />
<br />
This will remove all changes you've done, returning the file(s) to the state they were before you edited them.<br />
<br />
mtn --db=OE.mtn --branch=org.openembedded.<branchname> disapprove 5c1a5813e0f66a0d10515ba6fecafbebfe679c7f<br />
<br />
Updating<br />
<br />
It is assumed that the database is in the current directory and named OE.mtn and the checkout tree is in the org.openembedded.dev in the same directory. Specifying the server name is optional after the initial pull.<br />
<br />
mtn --db=OE.mtn pull monotone.openembedded.org org.openembedded.dev <br />
cd org.openembedded.dev<br />
<br />
The database now contains all upstream changes. You can review the incoming changes as follows:<br />
<br />
mtn diff -r `mtn automate get_base_revision_id` -r `mtn automate heads`<br />
<br />
Update your local checkout:<br />
<br />
mtn update<br />
<br />
Pushing your changes upstream:<br />
<br />
cd org.openembedded.dev<br />
mtn pull<br />
mtn merge<br />
mtn push<br />
<br />
Set default branch and server on push (this is especially needed if you download the database snapshot and want pushing to monotone.openembedded.org):<br />
<br />
mtn push --set-default <server> org.openembedded.dev<br />
<br />
http://www.venge.net/monotone/docs/Tutorial.html contains lots of useful examples.<br />
Working on multiple branches<br />
<br />
If you have checked-out different branches, the default settings (set on first checkout) stored in your database may not fit for other branches. You may need to reset vars in order to be able to pull updates in other branches' local copies. For instance, to continue work on org.openembedded.oz354x instead of org.openembedded.dev :<br />
<br />
mtn set database default-include-pattern org.openembedded.oz354x<br />
<br />
You can check default settings with :<br />
<br />
mtn list vars<br />
<br />
Some additional guidelines:<br />
<br />
* If you have multiple trees / databases, make sure you synchronize them with the upstream tree before pushing or we'll end up with multiple branch heads<br />
* Don't forget to update your working copies after pulling<br />
* If you are responsible for multiple branch heads, feel responsible to merge them using 'mtn merge'<br />
* Install 'meld' of 'kdiff3' on your PC, this eases 2-way and 3-way merging</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=634GitPhraseBook2008-10-08T15:39:39Z<p>Zecke: </p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
<br />
== Getting the data ==<br />
git clone git://git.openembedded.net/FIXME openembedded.git<br />
<br />
== Upgrading your data (lurking) ==<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
== Generating a ssh key ==<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send it to the right developers.<br />
<br />
ssh-keygen -t rsa -- send the resulting link to koen, mickeyl and zecke<br />
<br />
== Setup ==<br />
<br />
=== Checking out a branch ===<br />
git branch -a -- See which branches are available<br />
git checkout -b local origin/remote -- In theory create a branch and sswitch<br />
git checkout -b org.openembedded.dreambox origin/org.openembedded.dreambox -- you will now be in the dreambox branch and track this.<br />
<br />
=== Configuring your tree for commits ===<br />
git config user.name "Your Name"<br />
git config user.mail "you@name"<br />
<br />
== Doing things with git ==<br />
<br />
=== Making your changes (old way) ===<br />
git add your/new/file -- if you have new files<br />
git commit -a -- Commit everything<br />
<br />
=== Making your changes (better way) ===<br />
git add your/changed/files<br />
git commit<br />
<br />
=== Making your changes (a cool way) ===<br />
git add -i<br />
git commit<br />
<br />
=== Ammending to your changes ===<br />
You forgot something, no big deal, change the commit<br />
<br />
git add your/others/changes<br />
git commit --amend<br />
<br />
== Commiting someones else work ==<br />
git commit --author "Other One <other@one>"<br />
<br />
<br />
== Interesting commands ==<br />
git fetch -- fetch new revisions from all remote repositories<br />
git branch -- show you local branches and which branch you are in<br />
git branch -a -- show you all branches<br />
git checkout -b MYNAME origin/THEIRNAME -- create a branch and switch to it<br />
git push origin org.openembedded.dev -- upgrade a branch<br />
<br />
<br />
<br />
<br />
<br />
When you are committing someone elses work verbatim:<br />
<br />
mtn pull<br />
mtn update<br />
mtn commit <files> --author <email of original author><br />
<br />
<br />
The commit message has to follow this layout:<br />
<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
Example 1:<br />
<br />
vi packages/gaim/gaim.inc<br />
mtn pull<br />
mtn update<br />
mtn commit packages/gaim/gaim.inc<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
Example 2:<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
mtn add gtk-2.8.4/fix-foo.patch<br />
mtn pull<br />
mtn update<br />
mtn commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow<br />
<br />
Note: Make sure you do 'mtn update' before 'mtn commit' since this reduces the possibility of multiple heads.<br />
<br />
Backing out the commit you've made: (You'll need to find the revision ID for this. Use mtn log|less)<br />
<br />
This will remove all changes you've done, returning the file(s) to the state they were before you edited them.<br />
<br />
mtn --db=OE.mtn --branch=org.openembedded.<branchname> disapprove 5c1a5813e0f66a0d10515ba6fecafbebfe679c7f<br />
<br />
Updating<br />
<br />
It is assumed that the database is in the current directory and named OE.mtn and the checkout tree is in the org.openembedded.dev in the same directory. Specifying the server name is optional after the initial pull.<br />
<br />
mtn --db=OE.mtn pull monotone.openembedded.org org.openembedded.dev <br />
cd org.openembedded.dev<br />
<br />
The database now contains all upstream changes. You can review the incoming changes as follows:<br />
<br />
mtn diff -r `mtn automate get_base_revision_id` -r `mtn automate heads`<br />
<br />
Update your local checkout:<br />
<br />
mtn update<br />
<br />
Pushing your changes upstream:<br />
<br />
cd org.openembedded.dev<br />
mtn pull<br />
mtn merge<br />
mtn push<br />
<br />
Set default branch and server on push (this is especially needed if you download the database snapshot and want pushing to monotone.openembedded.org):<br />
<br />
mtn push --set-default <server> org.openembedded.dev<br />
<br />
http://www.venge.net/monotone/docs/Tutorial.html contains lots of useful examples.<br />
Working on multiple branches<br />
<br />
If you have checked-out different branches, the default settings (set on first checkout) stored in your database may not fit for other branches. You may need to reset vars in order to be able to pull updates in other branches' local copies. For instance, to continue work on org.openembedded.oz354x instead of org.openembedded.dev :<br />
<br />
mtn set database default-include-pattern org.openembedded.oz354x<br />
<br />
You can check default settings with :<br />
<br />
mtn list vars<br />
<br />
Some additional guidelines:<br />
<br />
* If you have multiple trees / databases, make sure you synchronize them with the upstream tree before pushing or we'll end up with multiple branch heads<br />
* Don't forget to update your working copies after pulling<br />
* If you are responsible for multiple branch heads, feel responsible to merge them using 'mtn merge'<br />
* Install 'meld' of 'kdiff3' on your PC, this eases 2-way and 3-way merging</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=633GitPhraseBook2008-10-08T15:31:33Z<p>Zecke: </p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
<br />
== Getting the data ==<br />
git clone git://git.openembedded.net/FIXME openembedded.git<br />
<br />
== Upgrading your data ==<br />
git pull --rebase<br />
<br />
This command will fetch new objects from the server, and try to put your local changes on top of the newly fetched revisions for your current branch. If you have no local revisions you will still be updated.<br />
<br />
== Generating a ssh key ==<br />
To be able to push to the OpenEmbedded git server you will need to have the right permissions. This starts with having your public ssh key on the server. Generate a key and send it to the right developers.<br />
<br />
ssh-keygen -t rsa -- send the resulting link to koen, mickeyl and zecke<br />
<br />
<br />
== Interesting commands ==<br />
git fetch -- fetch new revisions from all remote repositories<br />
git branch -- show you local branches and which branch you are in<br />
git branch -a -- show you all branches<br />
git checkout -b MYNAME origin/THEIRNAME -- create a branch and switch to it<br />
git push origin org.openembedded.dev -- upgrade a branch<br />
<br />
<br />
<br />
You can then pull openembedded and check out the repository to edit (see details on branches dev,oz354x,dreambox in DevelopmentBranches) :<br />
<br />
mtn --db=/somepath/OE.mtn pull monotone.openembedded.org "org.openembedded.{dev,oz354x,dreambox}"<br />
mtn --db=/somepath/OE.mtn co --branch=org.openembedded.dev<br />
<br />
<br />
Committing<br />
<br />
mtn pull<br />
mtn update<br />
mtn commit <files><br />
<br />
<br />
When you are committing someone elses work verbatim:<br />
<br />
mtn pull<br />
mtn update<br />
mtn commit <files> --author <email of original author><br />
<br />
<br />
The commit message has to follow this layout:<br />
<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
Example 1:<br />
<br />
vi packages/gaim/gaim.inc<br />
mtn pull<br />
mtn update<br />
mtn commit packages/gaim/gaim.inc<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
Example 2:<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
mtn add gtk-2.8.4/fix-foo.patch<br />
mtn pull<br />
mtn update<br />
mtn commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow<br />
<br />
Note: Make sure you do 'mtn update' before 'mtn commit' since this reduces the possibility of multiple heads.<br />
<br />
Backing out the commit you've made: (You'll need to find the revision ID for this. Use mtn log|less)<br />
<br />
This will remove all changes you've done, returning the file(s) to the state they were before you edited them.<br />
<br />
mtn --db=OE.mtn --branch=org.openembedded.<branchname> disapprove 5c1a5813e0f66a0d10515ba6fecafbebfe679c7f<br />
<br />
Updating<br />
<br />
It is assumed that the database is in the current directory and named OE.mtn and the checkout tree is in the org.openembedded.dev in the same directory. Specifying the server name is optional after the initial pull.<br />
<br />
mtn --db=OE.mtn pull monotone.openembedded.org org.openembedded.dev <br />
cd org.openembedded.dev<br />
<br />
The database now contains all upstream changes. You can review the incoming changes as follows:<br />
<br />
mtn diff -r `mtn automate get_base_revision_id` -r `mtn automate heads`<br />
<br />
Update your local checkout:<br />
<br />
mtn update<br />
<br />
Pushing your changes upstream:<br />
<br />
cd org.openembedded.dev<br />
mtn pull<br />
mtn merge<br />
mtn push<br />
<br />
Set default branch and server on push (this is especially needed if you download the database snapshot and want pushing to monotone.openembedded.org):<br />
<br />
mtn push --set-default <server> org.openembedded.dev<br />
<br />
http://www.venge.net/monotone/docs/Tutorial.html contains lots of useful examples.<br />
Working on multiple branches<br />
<br />
If you have checked-out different branches, the default settings (set on first checkout) stored in your database may not fit for other branches. You may need to reset vars in order to be able to pull updates in other branches' local copies. For instance, to continue work on org.openembedded.oz354x instead of org.openembedded.dev :<br />
<br />
mtn set database default-include-pattern org.openembedded.oz354x<br />
<br />
You can check default settings with :<br />
<br />
mtn list vars<br />
<br />
Some additional guidelines:<br />
<br />
* If you have multiple trees / databases, make sure you synchronize them with the upstream tree before pushing or we'll end up with multiple branch heads<br />
* Don't forget to update your working copies after pulling<br />
* If you are responsible for multiple branch heads, feel responsible to merge them using 'mtn merge'<br />
* Install 'meld' of 'kdiff3' on your PC, this eases 2-way and 3-way merging</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=632GitPhraseBook2008-10-08T15:24:17Z<p>Zecke: </p>
<hr />
<div>= Git Phrase Book =<br />
<br />
<br />
'''NOTE:''' For increased pleasure use git 1.5 or later.<br />
<br />
== Pointers ==<br />
There are plenty of good git tutorials on the net. A small collection of links can be seen below:<br />
<br />
* [http://git.or.cz/gitwiki/GitDocumentation Official Documentation]<br />
* [http://git.or.cz/gitwiki/GitCheatSheet Cheat Sheet]<br />
* [http://eagain.net/articles/git-for-computer-scientists/ Git For Computer Scientists]<br />
* [http://www.google.com/search?q=git+documentation&ie=utf-8&oe=utf-8&aq=t Google Search]<br />
<br />
<br />
NOTE: You need to have monotone 0.32 now !<br />
<br />
Add the following command to your .bashrc:<br />
<br />
alias mtn-add='mtn list unknown | xargs mtn add'<br />
alias mtn-drop='mtn drop --missing'<br />
<br />
mtn-add will put new files under monotone control and mtn-drop will remove files from monotone control.<br />
<br />
To start with you need to init a database:<br />
<br />
mtn db init --db=/somepath/OE.mtn<br />
<br />
Developers with write access need to generate a key and send it to mickeyl and koen:<br />
<br />
#yes, that really needs to be <name>@openembedded.org<br />
mtn genkey --db=/somepath/OE.mtn xxx@openembedded.org<br />
mtn --db=/somepath/OE.mtn pubkey xxx@openembedded.org | mail mickeyl@linuxtogo.org -s "xxx monotone key"<br />
mtn --db=/somepath/OE.mtn pubkey xxx@openembedded.org | mail koen@linuxtogo.org -s "xxx monotone key"<br />
<br />
You can then pull openembedded and check out the repository to edit (see details on branches dev,oz354x,dreambox in DevelopmentBranches) :<br />
<br />
mtn --db=/somepath/OE.mtn pull monotone.openembedded.org "org.openembedded.{dev,oz354x,dreambox}"<br />
mtn --db=/somepath/OE.mtn co --branch=org.openembedded.dev<br />
<br />
<br />
Committing<br />
<br />
mtn pull<br />
mtn update<br />
mtn commit <files><br />
<br />
<br />
When you are committing someone elses work verbatim:<br />
<br />
mtn pull<br />
mtn update<br />
mtn commit <files> --author <email of original author><br />
<br />
<br />
The commit message has to follow this layout:<br />
<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
Example 1:<br />
<br />
vi packages/gaim/gaim.inc<br />
mtn pull<br />
mtn update<br />
mtn commit packages/gaim/gaim.inc<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
Example 2:<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
mtn add gtk-2.8.4/fix-foo.patch<br />
mtn pull<br />
mtn update<br />
mtn commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow<br />
<br />
Note: Make sure you do 'mtn update' before 'mtn commit' since this reduces the possibility of multiple heads.<br />
<br />
Backing out the commit you've made: (You'll need to find the revision ID for this. Use mtn log|less)<br />
<br />
This will remove all changes you've done, returning the file(s) to the state they were before you edited them.<br />
<br />
mtn --db=OE.mtn --branch=org.openembedded.<branchname> disapprove 5c1a5813e0f66a0d10515ba6fecafbebfe679c7f<br />
<br />
Updating<br />
<br />
It is assumed that the database is in the current directory and named OE.mtn and the checkout tree is in the org.openembedded.dev in the same directory. Specifying the server name is optional after the initial pull.<br />
<br />
mtn --db=OE.mtn pull monotone.openembedded.org org.openembedded.dev <br />
cd org.openembedded.dev<br />
<br />
The database now contains all upstream changes. You can review the incoming changes as follows:<br />
<br />
mtn diff -r `mtn automate get_base_revision_id` -r `mtn automate heads`<br />
<br />
Update your local checkout:<br />
<br />
mtn update<br />
<br />
Pushing your changes upstream:<br />
<br />
cd org.openembedded.dev<br />
mtn pull<br />
mtn merge<br />
mtn push<br />
<br />
Set default branch and server on push (this is especially needed if you download the database snapshot and want pushing to monotone.openembedded.org):<br />
<br />
mtn push --set-default <server> org.openembedded.dev<br />
<br />
http://www.venge.net/monotone/docs/Tutorial.html contains lots of useful examples.<br />
Working on multiple branches<br />
<br />
If you have checked-out different branches, the default settings (set on first checkout) stored in your database may not fit for other branches. You may need to reset vars in order to be able to pull updates in other branches' local copies. For instance, to continue work on org.openembedded.oz354x instead of org.openembedded.dev :<br />
<br />
mtn set database default-include-pattern org.openembedded.oz354x<br />
<br />
You can check default settings with :<br />
<br />
mtn list vars<br />
<br />
Some additional guidelines:<br />
<br />
* If you have multiple trees / databases, make sure you synchronize them with the upstream tree before pushing or we'll end up with multiple branch heads<br />
* Don't forget to update your working copies after pulling<br />
* If you are responsible for multiple branch heads, feel responsible to merge them using 'mtn merge'<br />
* Install 'meld' of 'kdiff3' on your PC, this eases 2-way and 3-way merging</div>Zeckehttp://www.openembedded.org/index.php?title=GitPhraseBook&diff=631GitPhraseBook2008-10-08T15:19:15Z<p>Zecke: Start with the mtn phrasebook from http://web.archive.org/web/20080205023301/http://www.openembedded.org/wiki/MonotonePhraseBook</p>
<hr />
<div>MonotonePhraseBook<br />
<br />
* View<br />
* diff<br />
<br />
Sun, 2006-05-28 14:50 — Openembedded Team<br />
<br />
NOTE: You need to have monotone 0.32 now !<br />
<br />
Add the following command to your .bashrc:<br />
<br />
alias mtn-add='mtn list unknown | xargs mtn add'<br />
alias mtn-drop='mtn drop --missing'<br />
<br />
mtn-add will put new files under monotone control and mtn-drop will remove files from monotone control.<br />
<br />
To start with you need to init a database:<br />
<br />
mtn db init --db=/somepath/OE.mtn<br />
<br />
Developers with write access need to generate a key and send it to mickeyl and koen:<br />
<br />
#yes, that really needs to be <name>@openembedded.org<br />
mtn genkey --db=/somepath/OE.mtn xxx@openembedded.org<br />
mtn --db=/somepath/OE.mtn pubkey xxx@openembedded.org | mail mickeyl@linuxtogo.org -s "xxx monotone key"<br />
mtn --db=/somepath/OE.mtn pubkey xxx@openembedded.org | mail koen@linuxtogo.org -s "xxx monotone key"<br />
<br />
You can then pull openembedded and check out the repository to edit (see details on branches dev,oz354x,dreambox in DevelopmentBranches) :<br />
<br />
mtn --db=/somepath/OE.mtn pull monotone.openembedded.org "org.openembedded.{dev,oz354x,dreambox}"<br />
mtn --db=/somepath/OE.mtn co --branch=org.openembedded.dev<br />
<br />
<br />
Committing<br />
<br />
mtn pull<br />
mtn update<br />
mtn commit <files><br />
<br />
<br />
When you are committing someone elses work verbatim:<br />
<br />
mtn pull<br />
mtn update<br />
mtn commit <files> --author <email of original author><br />
<br />
<br />
The commit message has to follow this layout:<br />
<br />
<package name> <version>| <package category> | <configfile/class name>: <summary> <br />
{ - <detail 1><br />
- <detail 2>}*<br />
<br />
Example 1:<br />
<br />
vi packages/gaim/gaim.inc<br />
mtn pull<br />
mtn update<br />
mtn commit packages/gaim/gaim.inc<br />
<br />
should have a log message like this:<br />
<br />
gaim: make sure do_install does its job in gaim.inc<br />
* install lib to ${libdir} instead of /usr/lib<br />
* remove executable bits from docs<br />
<br />
Example 2:<br />
<br />
diff /tmp/foo.c /oe/work/gtk+-2.8.4-r0/gtk+-2.8.4/src/foo.c > gtk-2.8.4/fix-foo.patch<br />
vi gtk+_2.8.4.bb<br />
mtn add gtk-2.8.4/fix-foo.patch<br />
mtn pull<br />
mtn update<br />
mtn commit gtk-2.8.4/fix-foo.patch gtk+_2.8.4.bb<br />
<br />
should have a log message like this:<br />
<br />
gtk+ 2.8.4: add patch for buffer overflow<br />
<br />
Note: Make sure you do 'mtn update' before 'mtn commit' since this reduces the possibility of multiple heads.<br />
<br />
Backing out the commit you've made: (You'll need to find the revision ID for this. Use mtn log|less)<br />
<br />
This will remove all changes you've done, returning the file(s) to the state they were before you edited them.<br />
<br />
mtn --db=OE.mtn --branch=org.openembedded.<branchname> disapprove 5c1a5813e0f66a0d10515ba6fecafbebfe679c7f<br />
<br />
Updating<br />
<br />
It is assumed that the database is in the current directory and named OE.mtn and the checkout tree is in the org.openembedded.dev in the same directory. Specifying the server name is optional after the initial pull.<br />
<br />
mtn --db=OE.mtn pull monotone.openembedded.org org.openembedded.dev <br />
cd org.openembedded.dev<br />
<br />
The database now contains all upstream changes. You can review the incoming changes as follows:<br />
<br />
mtn diff -r `mtn automate get_base_revision_id` -r `mtn automate heads`<br />
<br />
Update your local checkout:<br />
<br />
mtn update<br />
<br />
Pushing your changes upstream:<br />
<br />
cd org.openembedded.dev<br />
mtn pull<br />
mtn merge<br />
mtn push<br />
<br />
Set default branch and server on push (this is especially needed if you download the database snapshot and want pushing to monotone.openembedded.org):<br />
<br />
mtn push --set-default <server> org.openembedded.dev<br />
<br />
http://www.venge.net/monotone/docs/Tutorial.html contains lots of useful examples.<br />
Working on multiple branches<br />
<br />
If you have checked-out different branches, the default settings (set on first checkout) stored in your database may not fit for other branches. You may need to reset vars in order to be able to pull updates in other branches' local copies. For instance, to continue work on org.openembedded.oz354x instead of org.openembedded.dev :<br />
<br />
mtn set database default-include-pattern org.openembedded.oz354x<br />
<br />
You can check default settings with :<br />
<br />
mtn list vars<br />
<br />
Some additional guidelines:<br />
<br />
* If you have multiple trees / databases, make sure you synchronize them with the upstream tree before pushing or we'll end up with multiple branch heads<br />
* Don't forget to update your working copies after pulling<br />
* If you are responsible for multiple branch heads, feel responsible to merge them using 'mtn merge'<br />
* Install 'meld' of 'kdiff3' on your PC, this eases 2-way and 3-way merging</div>Zecke