19.06.2011 20:10, Erich Titl пишет: > Hi Andrew > > on 19.06.2011 18:56, Andrew wrote: >> 19.06.2011 19:29, Erich Titl пишет: >>> on 19.06.2011 17:31, Andrew wrote: >>>> 19.06.2011 17:20, Erich Titl пишет: >>>>> Hi Andrew >>>>> > ... > >>>> some later, now I haven't enough time (it may require 1-2 weeks). >>> Maybe there is place for discussion in this area. I would like to see >>> much of all those perl dirty tricks disappear altogether. >>> >> There is standard schema: toolchain (gcc and so on that is running on >> host CPU) into one directory (toolchain), and all binaries that must be >> executed on target CPU - into staging dir. >> There are some examples (as example you can look into script for >> toolchain compilation for MIPS: >> http://gitorious.org/wive-rtnl-ralink-rt305x-routers-firmware/wive-rtnl-ralink-rt305x-routers-firmware/blobs/master/toolchain/build_toolchain.sh >> ). >> Rewrite toolchain assembly isn't too hard, update buildtool.pl isn't >> much harder. But I think that all packages should require makefile >> fixing - thai is main headache. >>>>> As to GIT, what is the easiest way to avoid conflicting changes in the >>>>> repository? Creating a local branch of main/master.... whatever? Who >>>>> does the merge and resolves conflicts? >>>>> >>>> Conflicts are resolved better than in CVS - GIT doesn't allow you to >>>> overwrite file modified by somebody else. >>> But sometimes this is the goal. >>> >>> And merge is automatically >>>> done if you >>> Right, but that is not alway what one wants. >>>>> How can we, for example, have most packages in the main branch and a few >>>>> in another, then create objects from both? >>>> New branch is based on main branch (or other remote/local branch). So if >>>> there are changes in main branch - you can do rebase for your local >>>> branch, to import changes into your branch. >>> So if I just create a branch, what will be contained in that branch and >>> how is it synchronized to the rest of the tree. How do I just touch a >>> single component and still get all the updates from others in the game, >>> while not working in the same branch anymore? The whole concept is >>> really different from all the other versioning tools I have seen and >>> that includes SCCS, RCS, CVS and SVC. I am under the impression to have >>> completely lost control about the versioning tool, instead of gaining >>> control over the project. >> When you are on your local branch, just do: >> git pull; git rebase main > And what exactly does that? This is just wooblygops to me. What is a > local branch as opposed to a remote branch? It is just a branch, right. > And as opposed to the main branch it has a name. > Local branch - it's a branch in your local repository. Remote branch - it's a branch on the server. Local repository have tracking branches that are synchronized with remote branches. You can see branches by 'git branch' (local) and 'git branch -r' (remote). > What if I don't want to forward my whole foodledoo branch to the main > branch, but just a few modifications I made. Is is best to make them on > the main branch? How do I synchronize them to my foodledoo branch then? > I remember that I found somewhere how to merge just some commits from one branch to another, not all. It's possible in theory - just because every commit is stored into git repository something like .patch file. But actually I never did this. I'm not a git expert :) >>> How is the integration of git into make? Can we automatically get a file >>> out of GIT to resolve a 'make dependency' or is this not needed at all? >>> A bit off topic, I know, but there are just holes in my conception, but >>> then I never saw any of such errors in the ancient versioning control >>> systems as I have seen in the last few weeks. >>> >>> cheers >>> >>> Erich >>> >> There is no integration. Git is separate, make (and buildtool that >> fetches files from anywhere if you specified - including CVS/GIT/etc >> trees) is separate. > Horrible, 'make' has a very fine knowledge of dependencies if used > correctly and the buildtool sugar is not that sweet. > In any case, git (or something else) now isn't needed to build all source (only few files like gcc now are taken from FTPs). >> Now files are 'fetched' (using symlinks) from 'repo' directory. > I know that. > > You may >> 'fetch' them from other place (be copying, symlink or something else). >> Also there is 'sources.local' file for specifying sources that aren't >> into main branch (I planning to exclude it out from git and make >> auto-generation of blank file if there is no file by buildtool.pl). > Mhh... what for if they are just 'local'? > > cheers > > Erich > You can specify 'server' that can be found everywhere - file source on your PC, http/ftp server or something else that is supported into buildtool. This should be done in 'sources.local' that shouldn't be pushed into repository (now - manually, in future - it'll be removed from repo). So you can easily add your own packages w/o need to resolve conflicts and so on.
------------------------------------------------------------------------------ EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ leaf-devel mailing list leaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/leaf-devel