From: Siddique Hameed <siddii@gmail.com>
To: git@vger.kernel.org
Subject: GIT cloning(or pull/push) doesn't work properly if you have a sub-folder as its own GIT repo
Date: Sat, 23 Apr 2011 12:04:40 -0500 [thread overview]
Message-ID: <BANLkTi=YsEr9hOz7-u_t3BJUiMt+34P+ZA@mail.gmail.com> (raw)
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+git@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+git@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+git@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,
Siddique
next reply other threads:[~2011-04-23 17:05 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-23 17:04 Siddique Hameed [this message]
2011-04-24 7:59 ` GIT cloning(or pull/push) doesn't work properly if you have a sub-folder as its own GIT repo Chris Packham
2011-04-24 11:25 ` Off-topic Thunderbird wrapping (was Re: GIT cloning(or pull/push) doesn't work properly if you have a sub-folder as its own GIT repo) Chris Packham
2011-04-24 11:54 ` Tor Arntsen
2011-04-25 22:34 ` GIT cloning(or pull/push) doesn't work properly if you have a sub-folder as its own GIT repo Siddique Hameed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='BANLkTi=YsEr9hOz7-u_t3BJUiMt+34P+ZA@mail.gmail.com' \
--to=siddii@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).