git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sean <seanlkml@sympatico.ca>
To: Martin Waitz <tali@admingilde.org>
Cc: torvalds@osdl.org, git@vger.kernel.org
Subject: Re: git reset --hard not removing some files
Date: Fri, 2 Jun 2006 06:08:20 -0400	[thread overview]
Message-ID: <BAYC1-PASMTP11DBD87560470F1DA42426AE910@CEZ.ICE> (raw)
Message-ID: <20060602060820.8eebe391.seanlkml@sympatico.ca> (raw)
In-Reply-To: <20060602093736.GL14325@admingilde.org>

On Fri, 2 Jun 2006 11:37:36 +0200
Martin Waitz <tali@admingilde.org> wrote:

Hi Martin,

> GIT reset seems to have a problem when a file is tracked and ignored
> at the same time.

I tried to reproduce this problem, but couldn't.

> This fails:
> 
> diff --git a/t/t7101-reset.sh b/t/t7101-reset.sh
> index a919140..865e0f6 100755
> --- a/t/t7101-reset.sh
> +++ b/t/t7101-reset.sh
> @@ -21,10 +21,12 @@ test_expect_success \
>       cp ../../COPYING path1/COPYING &&
>       cp ../../COPYING COPYING &&
>       cp ../../COPYING path0/COPYING-TOO &&
> +     echo COPYING > .gitignore &&
>       git-add path1/path2/COPYING &&
>       git-add path1/COPYING &&
>       git-add COPYING &&
>       git-add path0/COPYING-TOO &&
> +     git-add .gitignore &&
>       git-commit -m change -a'
> 
>  test_expect_success \

This fails because git-add refuses to mark an ignored file as tracked.
So in your altered test above the COPYING file is never tracked.
git-reset then does the proper thing and refuses to remove it.  So it's
still not demonstrating the case you mention below.
 
> This hit me as the Linux kernel .gitignore includes ".*" which matches
> all the .gitignore files and so they are not removed when you go
> back to 2.6.13.  But with the new git checks regarding files in
> the working dir, git then refuses to pull in newer Linux versions
> because it would overwrite ".gitignore".

Strange.. this little test shows that tracked files that are ignored
do get removed when resetting --hard...

$ mkdir tryit ; cd tryit
$ git init-db
defaulting to local storage area

$ touch one ; git add one
$ git commit -a -m"Initial"
Committing initial tree 5fcffbd6e4c5c5b8d81f5e9314b20e338e3ffff5

$ touch .gitignore
$ git add .gitignore
$ git commit -a -m"now we have gitignore"

$ echo '.*' >> .gitignore
$ git commit -a -m'now git ignores all .* files'

$ ls -l .gitignore
-rw-r--r-- 1 sean sean 3 Jun  2 06:01 .gitignore

$ git reset --hard master~2
$ ls -l .gitignore
ls: .gitignore: No such file or directory


Sean

  reply	other threads:[~2006-06-02 10:09 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-01 16:00 git reset --hard not removing some files Martin Waitz
     [not found] ` <20060601121304.9bae1806.seanlkml@sympatico.ca>
2006-06-01 16:13   ` Sean
2006-06-01 17:21     ` Jakub Narebski
     [not found]       ` <20060601152152.35ce04a5.seanlkml@sympatico.ca>
2006-06-01 19:21         ` Sean
2006-06-02  8:16           ` Jakub Narebski
2006-06-01 16:21 ` Linus Torvalds
2006-06-02  9:37   ` Martin Waitz
     [not found]     ` <20060602060820.8eebe391.seanlkml@sympatico.ca>
2006-06-02 10:08       ` Sean [this message]
2006-06-02 14:17       ` Martin Waitz
2006-06-02 14:57   ` Junio C Hamano
2006-06-03  8:48     ` Junio C Hamano
2006-06-03 15:11       ` Linus Torvalds
2006-06-04  9:16     ` Martin Waitz
2006-06-04  9:31       ` Junio C Hamano

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=BAYC1-PASMTP11DBD87560470F1DA42426AE910@CEZ.ICE \
    --to=seanlkml@sympatico.ca \
    --cc=git@vger.kernel.org \
    --cc=tali@admingilde.org \
    --cc=torvalds@osdl.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).