← Getting Started/Sources/Amarok Git Tutorial You do not have permission to edit this page, for the following reason: The action you have requested is limited to users in one of the groups: Users, Administrators, trusted, KDEDevelopers. You can view and copy the source of this page. = Getting started with git = Depending on whether you simply want to test and follow Amarok development, write the occasional patch, or are an Amarok developer, the steps to use the repo are different. == Follow and test the latest development code == git clone git://gitorious.org/amarok/amarok.git This creates an 'amarok' directory. cd into that and use it like normal. And when you want to update: git pull will download the new changes. == Patch Contributors == You can use the method above, make your changes, then do 'git diff' to create a patch like normal. Or you could use the following rules to create your own fork of Amarok with the additions you would like to request to merge. This makes it easier for Amarok Developers to track your changes and is better for more complicated patches. *Make sure you have created your account on Gitorious and are logged in. Go to the project you want to clone (e.g. Amarok - http://gitorious.org/amarok) and select the branch which you want to clone (in this case Amarok - Mainline which is the master branch). *After selecting the branch you can click "Clone this repository on Gitorious". Give your branch a name and you'll be taken to the page of your newly created clone. On this page you find two git urls: one to publicly clone the repository and the "Push url: email@example.com:~yourname/amarok/yourname-clone.git. *Clone the push url to start working on your clone: git clone firstname.lastname@example.org:~yourname/amarok/yourname-clone.git ...work on this checkout - follow the normal development workflow... push your changes to gitorious *You can follow the main development branch easily by adding it as remote branch: git remote add upstream email@example.com:amarok/amarok.git *Update by pulling from the remote: git pull upstream master *To submit your patches: Create a merge request on gitorious by going to your clone page and selecting "Request merge" in the menu on the right. Alternatively you could email firstname.lastname@example.org with your branch public branch URL and ask that it be merged. (We just started this, so exactly how to do such things still hasn't been decided). *Remember to use one branch per feature/bug fix! == Amarok Developers == === gitorious.org account setup === *Create an account on [http://gitorious.org gitorious.org] the git hosting service used by Qt and now Amarok. *On your user page, (that's at http://gitorious.org/~your_nick) click on "Manage SSH keys" and add your SSH key. People with KDE-SVN accounts als should do the following: *Again from the user page, click on "Manage aliases" and add any email addresses you've ever used in KDE SVN. This way any commits you've made in the past are tracked back to you. If your gitorious email address is the only one you ever used, then this step isn't needed. *Request one of the kde-developers admins to add your username to the group (the same rules apply as KDE SVN account requests). This will give you push rights to Amarok. Lydia, Ian and Jeff are all admins. === Setup Amarok Clone === Gitorious has one address for cloning, and another for pushing. The pushing address can be used for cloning, so the easy thing to do is just use that. git clone email@example.com:amarok/amarok.git This will create a directory 'amarok'. cd into that and start developing! === Basic Development === 90% of the time this is all that is needed: git pull #update to latest code #edit code, build, it works! git status #to check if you want to commit all the modified files git commit -a #the -a option commits all modified files. use git add to select them individually git push There's a some of problems with this: 1. git commit -a doesn't catch added or removed files. 2. git push will fail if anyone else has pushed 3. If git pull is not a fast-forward update, it will create a merge commit which may or may not be what you want. If it doesn't work '''read more documentation'''. = Recommended reading = [http://tom.preston-werner.com/2009/05/19/the-git-parable.html The Git Parable:] ''Background information that will help you understand git and distributed revision control systems in general''<br> [http://git.or.cz/course/svn.html Git to SVN crash course] ''5 minute introduction to git for experienced SVN users''<br /> [http://www.redhatmagazine.com/2008/05/02/shipping-quality-code-with-git/ Shipping Quality Code with Git] ''Guide to cleanup before a push''<br /> Templates used on this page: Template:Box (view source) Template:Warning (view source) Return to Getting Started/Sources/Amarok Git Tutorial. Retrieved from "https://techbase.kde.org/Getting_Started/Sources/Amarok_Git_Tutorial"