Re: Questions about repo and git submodule

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux