* .git ignored regardless of --git-dir value
@ 2011-11-18 20:56 Shawn Ferris
2011-11-18 21:26 ` Junio C Hamano
0 siblings, 1 reply; 4+ messages in thread
From: Shawn Ferris @ 2011-11-18 20:56 UTC (permalink / raw)
To: git
Hi All --
Is it expected behavior to have the .git directory ignored, even after
specifying an alternate location with --git-dir? For example:
$ git --git-dir=.foo init
Initialized empty Git repository in /home/sferris/work/t/.foo/
$ mkdir .git
$ touch .git/filea
$ git --git-dir=.foo --work-tree=. add .
$ git --git-dir=.foo --work-tree=. status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: .foo/HEAD
# new file: .foo/config
# new file: .foo/description
# new file: .foo/hooks/applypatch-msg.sample
# new file: .foo/hooks/commit-msg.sample
# new file: .foo/hooks/post-update.sample
# new file: .foo/hooks/pre-applypatch.sample
# new file: .foo/hooks/pre-commit.sample
# new file: .foo/hooks/pre-rebase.sample
# new file: .foo/hooks/prepare-commit-msg.sample
# new file: .foo/hooks/update.sample
# new file: .foo/index.lock
# new file: .foo/info/exclude
#
# Changes not staged for commit:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: .foo/index.lock
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .foo/index
# .foo/objects/
Notice that .foo was added, but .git was ignored. I would have
expected .foo to be ignored and .git to be added? (right, wrong or
indifferent..)
Thanks for any info!
Shawn
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: .git ignored regardless of --git-dir value
2011-11-18 20:56 .git ignored regardless of --git-dir value Shawn Ferris
@ 2011-11-18 21:26 ` Junio C Hamano
2011-11-18 22:47 ` Junio C Hamano
0 siblings, 1 reply; 4+ messages in thread
From: Junio C Hamano @ 2011-11-18 21:26 UTC (permalink / raw)
To: Shawn Ferris; +Cc: git
Shawn Ferris <shawn.ferris@gmail.com> writes:
> Is it expected behavior to have the .git directory ignored, even after
> specifying an alternate location with --git-dir? For example:
>
> $ git --git-dir=.foo init
> Initialized empty Git repository in /home/sferris/work/t/.foo/
GIT_DIR and --git-dir are meant to refer to a different .git dir (or a
bare-looking repository) located elsewhere, and not for a random pathname
like ".foo". No matter what, ".git/" anywhere is ignored from very early
days of Git, as Linus himself writes in the source, e.g. 8695c8b (Add
"show-files" command to show the list of managed (or non-managed) files.,
2005-04-11):
...
* Also, we currently ignore all names starting with a dot.
* That likely will not change.
...
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: .git ignored regardless of --git-dir value
2011-11-18 21:26 ` Junio C Hamano
@ 2011-11-18 22:47 ` Junio C Hamano
2011-11-18 23:44 ` Shawn Ferris
0 siblings, 1 reply; 4+ messages in thread
From: Junio C Hamano @ 2011-11-18 22:47 UTC (permalink / raw)
To: git; +Cc: Shawn Ferris
Junio C Hamano <gitster@pobox.com> writes:
> Shawn Ferris <shawn.ferris@gmail.com> writes:
>
>> Is it expected behavior to have the .git directory ignored, even after
>> specifying an alternate location with --git-dir? For example:
>>
>> $ git --git-dir=.foo init
>> Initialized empty Git repository in /home/sferris/work/t/.foo/
>
> GIT_DIR and --git-dir are meant to refer to a different .git dir (or a
> bare-looking repository) located elsewhere, and not for a random pathname
> like ".foo". No matter what, ".git/" anywhere is ignored from very early
> days of Git, as Linus himself writes in the source, e.g. 8695c8b (Add
> "show-files" command to show the list of managed (or non-managed) files.,
> 2005-04-11):
>
> ...
> * Also, we currently ignore all names starting with a dot.
> * That likely will not change.
> ...
Sorry, but the above quote is wrong. The correct one is from 453ec4b
(libify git-ls-files directory traversal, 2006-05-16), and survives to
this day in dir.c:
...
* Read a directory tree. We currently ignore anything but
* directories, regular files and symlinks. That's because git
* doesn't handle them at all yet. Maybe that will change some
* day.
*
* Also, we ignore the name ".git" (even if it is not a directory).
* That likely will not change.
...
In other words, originally we ignored all names starting with a dot and
declared that likely will not change, but then loosened the rule to let
people manage their .bashrc and friends. But ".git" is still special, and
that likely will not change.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: .git ignored regardless of --git-dir value
2011-11-18 22:47 ` Junio C Hamano
@ 2011-11-18 23:44 ` Shawn Ferris
0 siblings, 0 replies; 4+ messages in thread
From: Shawn Ferris @ 2011-11-18 23:44 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
On Fri, Nov 18, 2011 at 3:47 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Junio C Hamano <gitster@pobox.com> writes:
>>
>> GIT_DIR and --git-dir are meant to refer to a different .git dir (or a
>> bare-looking repository) located elsewhere, and not for a random pathname
>> like ".foo". No matter what, ".git/" anywhere is ignored from very early
I'm extremely green to git, so please forgive if this is obvious, but,
could I indulge and ask what a sample use case of that would be?
(since it's not intended for what I assumed it was) And, if the
behavior I expected was possible, simply, with perhaps a separate
option, what is the likelihood a patch would be accepted? (Or am I
just talking nonsense and should just go away) ;D
Thanks Again!
Shawn
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-11-18 23:44 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-18 20:56 .git ignored regardless of --git-dir value Shawn Ferris
2011-11-18 21:26 ` Junio C Hamano
2011-11-18 22:47 ` Junio C Hamano
2011-11-18 23:44 ` Shawn Ferris
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).