Hi Shawn, Merry Christmas ! Thank you for your guide ! I've created git repository with submodules with a simple script successfully. Now I have another question, since my android repo will always sync up from android.git.kernel.org, my git repository needs to be updated accordingly. Is there a tool I can use to sync up from repo to git repositoy ? Thanks, Emily On Tue, Dec 23, 2008 at 11:29 PM, Shawn O. Pearce <spearce@xxxxxxxxxxx> wrote: > Emily Ren <lingyan.ren@xxxxxxxxx> wrote: >> >> I have some questions about android repo and git submodule. >> >> I created a repo repository with below commands: >> 1. repo init -u git://android.git.kernel.org/platform/manifest.git >> 2. repo initialized in /android >> >> 1. The android dir is not a git repository, > > Correct, it is not a git repository. The repo tool does not use > git submodules. The top level of a repo client has a ".repo/" > directory with metadata, not a ".git/" directory. The table of > contents (the subprojects) is stored in XML files under ".repo/". > > <aside> > I actually fought against the XML format for repo's manifest, but > others felt it was suitable. And then walked away from the project > after Android open-sourced its code tree. Leaving me to maintain it. > I see a file format simplification in the future for repo. > </aside> > >> if other people clone my >> android code, how does it work? > > Sadly this isn't supported correctly. You can't initialize one > repo client from another, even though you can git clone one git > repository from any other. Its a bug in repo's design. The data > under ".repo/projects/" isn't laid out correctly to permit reuse > of one repo client to initialize another. > > Its something I keep meaning to fix, but its going to take some > real effort. > > In the mean time, there is a "--mirror" flag to repo init > which can be used to clone everything into bare repositories. > Those bare repositories can be published for others to repo init > from, though you need to customize the manifest.git:default.xml > so that the embedded URL refers back to your server and not > android.git.kernel.org. Yet another thing I want to fix. > >> 2. I want to make android dir to be a git repository, is it workable >> that I create submodule for each subdirectory in another directory? Is >> there a script for it? > > You might be able to do something like this: > > cd /android > git init > repo forall -c 'cd /android && git submodule add `pwd`' > > Also, you might want to consider asking questions related to repo > on the repo-discuss@xxxxxxxxxxxxxxxx mailing list. There's a lot > more repo users there than on the git mailing list, and they have > started to come up with their own "tips n tricks". > > -- > Shawn. > -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html