FORUMS
Remove All Ads from XDA

[GUIDE] How-To Cherry-Pick Features for your ROM (both GitHub and Gerrit)

521 posts
Thanks Meter: 701
 
Post Reply Email Thread
27th May 2014, 08:29 PM |#11  
OP Senior Member
Thanks Meter: 701
 
Donate to Me
More
Quote:
Originally Posted by Grarak

You should also mention how to cherry pick multiple commits

Quote:
Originally Posted by SleepyS40

I would like to know this too, when I try to add two commits to the same location, it wants to drop one and add the other. I want to keep both but I cant figure out how to do so. Thanks for your help!

Cherry-picking multiple commits is pretty straightforward. Once you've resolved any conflicts for one commit, you have to finish by using the command
Code:
git commit
if you want to add another cherry-pick in the same location.

Once you've committed that, you should be able to start the cherry-picking process over again exactly the same. If you have an issue, can you tell me what your terminal says, or post a screenshot?

Quote:
Originally Posted by Walterwhite007

Great guide. It really helps noobs like me xD. One question what are the repositories I should fork from paranoid android into my github to build a ROM for nexus 4. Their github have soooo many repositories like apps and settings, packages, manifest etc etc

Sent from my Nexus 4 using Tapatalk

To build ParanoidAndroid, you first have to download the source to your computer. So you'd have to make a directory and use "repo init -u http://github.com/AOSPA/manifest.git -b kitkat && repo sync" to start the download. It's a big download, so be ready to wait a couple hours. There's a good guide for building ParanoidAndroid 4+ here

However, as far as forking a repository, you only need to fork the repositories that you want to make your own changes to and keep track of. Really, you don't have to fork anything.
 
 
28th May 2014, 04:00 AM |#12  
timpohladthomas's Avatar
Senior Member
Thanks Meter: 1,811
 
Donate to Me
More
Nicely written.
28th May 2014, 04:18 AM |#13  
Aceofzeroz's Avatar
Senior Member
Flag Brown's Town
Thanks Meter: 1,034
 
Donate to Me
More
Quote:
Originally Posted by karanrajpal14

Just when I decided to make some personal builds, this shows up. Thank you so much! You're awesome!

Sent from my Nexus 7 using Tapatalk

+100
Took the workds right outta my mouth!!
28th May 2014, 06:06 AM |#14  
Junior Member
Thanks Meter: 0
 
More
I have the source code. But when I successfully cherry pick some commits and when I say gitpush it says access denied something. I want to fork pa's nexus 4 ROM sources into my git repository so that I can sync from my github and build. But what are the things I need to fork??
28th May 2014, 07:41 AM |#15  
OP Senior Member
Thanks Meter: 701
 
Donate to Me
More
Quote:
Originally Posted by Walterwhite007

I have the source code. But when I successfully cherry pick some commits and when I say gitpush it says access denied something. I want to fork pa's nexus 4 ROM sources into my git repository so that I can sync from my github and build. But what are the things I need to fork??

Well yeah, git push tries to send your changes to the repository you took it from - in this case, PA's. For obvious reasons, you don't have permissions to push changes to the PA github. You just have to fork the repos you want to change and add them in your repo manifests. If you want the entire ROM in your git, you'll have to look at all the projects in .repo/manifest.xml and fork every single one. That's a little excessive, so just fork the repos you want to change.
The Following User Says Thank You to jabza For This Useful Post: [ View ] Gift jabza Ad-Free
28th May 2014, 09:01 AM |#16  
Junior Member
Thanks Meter: 0
 
More
Quote:
Originally Posted by jabza

Well yeah, git push tries to send your changes to the repository you took it from - in this case, PA's. For obvious reasons, you don't have permissions to push changes to the PA github. You just have to fork the repos you want to change and add them in your repo manifests. If you want the entire ROM in your git, you'll have to look at all the projects in .repo/manifest.xml and fork every single one. That's a little excessive, so just fork the repos you want to change.

Thanks bro. I tried many times cherry picking halo but that always messed up. Now after following this great guide I'll give it another try !!

Say my name
28th May 2014, 09:34 AM |#17  
roshan2989's Avatar
Senior Member
Flag Purgatory
Thanks Meter: 166
 
More
Thank you so much for the awesome thread..
28th May 2014, 03:43 PM |#18  
Senior Member
Thanks Meter: 114
 
More
Very good tutorial
But I've two question:
- What does the command "git commit" do? Will the rom compile without the cherry-pick without this command?
- Can I compile a flashable zip for my rom just with the cherry-pick and without compiling the whole rom again?
28th May 2014, 04:26 PM |#19  
Junior Member
Flag London
Thanks Meter: 6
 
More
I was hoping that someone could help me here so the problem is that I am trying to build OMNI ROM for mako but even after following the guide I dont't see any zip out/target/product/mako. I followed this guide http://docs.omnirom.org/Build_for_mako
28th May 2014, 05:41 PM |#20  
OP Senior Member
Thanks Meter: 701
 
Donate to Me
More
Quote:
Originally Posted by xxLeoxx93

Very good tutorial
But I've two question:
- What does the command "git commit" do? Will the rom compile without the cherry-pick without this command?
- Can I compile a flashable zip for my rom just with the cherry-pick and without compiling the whole rom again?

- "git commit" tells your computer it's done with editing and finishes the cherry-pick process. That is when git saves your resolution, so that if you go back and cherry-pick that commit again it can automatically apply your resolution to the problem. The ROM will compile without this command, but you won't be able to use "repo sync" to update that project or add any other cherry-picks to that location until you run "git commit" or "git cherry-pick --abort", which removes the cherry-pick altogether.

- When you rebuild the ROM, as long as you don't use "make clean" or "make clobber", it will only recompile the parts that have changed. The next build will go much faster. If you want the builds to go even faster, you should use ccache.
28th May 2014, 05:47 PM |#21  
OP Senior Member
Thanks Meter: 701
 
Donate to Me
More
Quote:
Originally Posted by jim_moriarity

I was hoping that someone could help me here so the problem is that I am trying to build OMNI ROM for mako but even after following the guide I dont't see any zip out/target/product/mako. I followed this guide http://docs.omnirom.org/Build_for_mako

This is probably a better question for somewhere else, but I can try to help you anyways. Can you tell me what the output of "ls out/target/product/mako" is?
Post Reply Subscribe to Thread

Tags
cherry pick, cherry picks, cherry-pick, gerrit, github

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes