OK, I think I answered my own question now. I had to run "git rm --
cached Child1Repo" before adding it back as folder into the parent
repo. It's all good now :)

On Apr 25, 11:35 am, siddii <sid...@gmail.com> wrote:
>   Hi Joe,
>
>   Thanks for your response. As I mentioned earlier, I realize
> submodules might be the way to go for this kind of setup. However,
> what I am getting at is, if we have or had a git repo within another
> git repo, GIT is somehow getting confused or losing track about the
> child repo/folder.
>
>   This is the continuation script or second part of test case I
> mentioned in the previous email.
>
>   I'll wipe off everything from "Child1Repo" and try adding it as a
> simple folder.
>
>   $ rm -rf Child1Repo/
>   $ mkdir Child1Repo/
>   $ cd Child1Repo/
>   $ echo "New file in Child1Repo" > NewFileInChild1Repo.txt
>   $ git add .
>   $ cd ..
>   $ git status
>   # On branch master
>   nothing to commit (working directory clean)
>
>   So, the Parent1GITRepo doesn't honor anything in "Child1Repo" folder
> anymore even if it is not a repo. I tried "git clean -n -d -x", no
> help.
>   Obviously, I could rename Child1Repo & workaround this issue.
>
>   But, what I am wondering is, is this the default behaviour or a bug
> waiting to be discovered?
>
>   Thanks,
>
> On Apr 22, 12:34 pm, Joe Hassick <ehass...@gmail.com> wrote:
>
>
>
>
>
>
>
> > If you want a repository within a repository, you will need to use
> > submodules. Without submodules, what you are explaining will always happen
> > (missing everything from the child repo after cloning the parent).
>
> > Read over these if you need some references/an introduction to using
> > submodules:https://git.wiki.kernel.org/index.php/GitSubmoduleTutorialhttp://blog...
>
> > HTH,
>
> > Joe
>
> > On Fri, Apr 22, 2011 at 12:55 PM, siddii <sid...@gmail.com> wrote:
> > > I don't want to categorize this as bug until I hear expert panel's
> > > opinion. Spare me if its a known issue or if I am doing something
> > > silly :) I did enough research online and couldn't find a good answer.
>
> > > Here it goes..
>
> > > Let's say if I have a folder called "ParentGITRepo" which is a local
> > > GIT repo. I have sub folders called "Child1Repo" and "Child2" with
> > > some files on it. For some reason, whether accidentally or
> > > deliberately, I make "Child1Repo" a GIT repo on its own. GIT
> > > recognizes ParentGITRepo & Child1Repo as separate GIT repositories.
> > > But, if I clone "ParentGITRepo" into somewhere else, I am missing
> > > everything from Child1Repo. The worse thing is, even if I cleanup
> > > "Child1Repo" by removing it's .git folder, the parent GIT repo is
> > > ignoring any activity I do in that folder.
>
> > > I think, the right way to do this setup is probably using git sub
> > > modules or something. But given this scenario, what is the expected
> > > behaviour? Am i missing? It would really make more sense if you can go
> > > thro the following steps (test cases) outlined below.
>
> > > # Setting up ParentGITRepo & Child1Repo and Child2
> > > $ cd ~
> > > $ mkdir ParentGITRepo
> > > $ cd ParentGITRepo/
> > > $ git init .
> > > $ mkdir Child1Repo
> > > $ mkdir Child2
> > > $ cd Child1Repo/
> > > $ git init .
> > > $ echo "Child1RepoFile" > Child1RepoFile.txt
> > > $ git add .
> > > $ git commit -a -m "Adding Child1Repo content"
> > > [master (root-commit) 01ccc52] Adding Child1Repo content
> > >  1 files changed, 1 insertions(+), 0 deletions(-)
> > >  create mode 100644 Child1RepoFile.txt
>
> > > $ cd ../Child2/
> > > $ echo "Child2 file content" > Child2File.txt
> > > $ cd ..
> > > $ echo "Parentfile" > ParentFile.txt
> > > $ git add .
> > > $ git commit -a -m "Adding Parent content"
> > > [master (root-commit) b31d0a5] Adding Parent content
> > >  3 files changed, 3 insertions(+), 0 deletions(-)
> > >  create mode 160000 Child1Repo
> > >  create mode 100644 Child2/Child2File.txt
> > >  create mode 100644 ParentFile.txt
>
> > > ---------------------------------------
> > >  # Now verify ParentGITRepo & Child1Repo working independently
> > > $ cd ~/ParentGITRepo/
> > > $ git log
> > > commit b31d0a5aef19c6b119d89718f560905ad0f34aa7
> > > Author: Siddique Hameed <siddii+...@gmail.com>
> > > Date:   Fri Apr 22 11:25:15 2011 -0500
>
> > >    Adding Parent content
>
> > > $ cd ~/ParentGITRepo/Child1Repo/
> > > $ git log
> > > commit 01ccc52931f8b40f6d92b29769300a254d8dd411
> > > Author: Siddique Hameed <siddii+...@gmail.com>
> > > Date:   Fri Apr 22 11:22:00 2011 -0500
>
> > >    Adding Child1Repo content
>
> > > --------------------------------------------
>
> > > # Now try cloning ParentGITRepo & verify the contents inside it
> > > $ cd ~
> > > $ git clone ParentGITRepo/ ParentGITRepoClone/
> > > Cloning into ParentGITRepoClone...
> > > done.
> > > $ cd ParentGITRepoClone/
> > > $ ls -a
> > > ./  ../  .git/  Child1Repo/  Child2/  ParentFile.txt
>
> > > $ cd Child1Repo/
> > > $ ls -a
> > > ./  ../
>
> > > $ git log
> > > commit b31d0a5aef19c6b119d89718f560905ad0f34aa7
> > > Author: Siddique Hameed <siddii+...@gmail.com>
> > > Date:   Fri Apr 22 11:25:15 2011 -0500
>
> > >    Adding Parent content
>
> > > --------------------------------------------
>
> > > As you can see there is nothing in Child1Repo after its was cloned. I
> > > also tried the reverse of this. Like, having a child folder as GIT
> > > repo and make a ParentFolder a repo on its own & clone the parent
> > > folder and the cloned folder doesnt contain anything from child repo.
>
> > > Let me know if you have more questions.
>
> > > Thanks,
>
> > > --
> > > You received this message because you are subscribed to the Google Groups
> > > "Git for human beings" group.
> > > To post to this group, send email to git-users@googlegroups.com.
> > > To unsubscribe from this group, send email to
> > > git-users+unsubscr...@googlegroups.com.
> > > For more options, visit this group at
> > >http://groups.google.com/group/git-users?hl=en.
>
> > --
> > Joe Hassick

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To post to this group, send email to git-users@googlegroups.com.
To unsubscribe from this group, send email to 
git-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/git-users?hl=en.

Reply via email to