Op 28 jul. 2011, om 15:00 heeft Paul Eggleton het volgende geschreven: > On Thursday 28 July 2011 13:11:00 Koen Kooi wrote: >> I've been playing with this script and I have a few remarks about it. First >> the ones that aren't the fault of the script: >> >> 1) overlapping files like .gitignore breaks the script > > This can be a problem, yes. However if you know about these sorts of > conflicts > ahead of time you can mitigate them by adding the appropriate logic to a hook > script (which can filter out stuff from the patches as they pass through).
Is that a hook in git or the combo script? > >> 2) git format-patch | git am is a lossy process, so you can't import >> oe-core and bitbake from scratch: >> >> [14:08:48] Apply >> /Users/koen/Projects/Angstrom/setup-scripts/sources/combo-layer/patch-d99a >> aa2f-57f3-4c07-aac3-afc0538cae88/bitbake/0020-codeparser.py-Ignore-incomple >> te-cache-files.patch [14:08:48] Applying: codeparser.py: Ignore incomplete >> cache files error: patch failed: bitbake/lib/bb/codeparser.py:75 >> error: bitbake/lib/bb/codeparser.py: patch does not apply >> Patch failed at 0001 codeparser.py: Ignore incomplete cache files >> When you have resolved this problem run "git am --resolved". >> If you would prefer to skip this patch, instead run "git am --skip". >> To restore the original branch and stop patching run "git am --abort". > > Perhaps I'm being thick, but what's the reason for this failing? I don't know, I had a number of strange failures, which I blame the format-patch | am construct for. Git sucks for non-Linus workflows, we just have to live with that. >> 3) rotating disks are slow when trying to apply a few thousand patches > > I think this is kind of the fault of the script in that it's the default > behaviour - frankly I never expected anyone to use combo-layer to build a > combined repo from scratch dragging across the entire history. Ideally you > would begin from an existing repository that you had manually combined > together, and combo-layer is the way of keeping it up-to-date after that > point. We could easily automate the initial creation within the script if > people think it's useful - I did think about doing that but I figured it's > not > something you expect to do very often. With my distro maintainer hat on, I wouldn't use a combined repo for my day-to-day development setup, but I would hand it to my downstream users. The use-case I was trying to use it for is to create a git snapshot for a release where everything is in one place. The current result: https://github.com/koenkooi/Angstrom-integration-layer It is missing the angstrom buildscripts and config files, but it's a start. Phil mentioned subtree, which is also worth looking at: https://github.com/apenwarr/git-subtree regards, Koen > >> As for the script I only have one real complaint: The inability to set >> branches so you can make a combo layer based on non-master (e.g. release) >> branches. > > Agreed, this is an omission, shouldn't be too difficult to fix though. It's > on my > todo list, feel free to submit a patch if you want it fixed faster ;) > > Cheers, > Paul > > -- > > Paul Eggleton > Intel Open Source Technology Centre _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core