From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Steffen Jost <jost@tcs.ifi.lmu.de>
Cc: git@vger.kernel.org
Subject: Re: Checkout deleted semi-untracked file
Date: Tue, 06 Nov 2018 16:12:42 +0100 [thread overview]
Message-ID: <875zxa6xzp.fsf@evledraar.gmail.com> (raw)
In-Reply-To: <d4624773-739c-f698-514d-458ce2ef5503@tcs.ifi.lmu.de>
On Tue, Nov 06 2018, Steffen Jost wrote:
> Hello!
>
> A brief discussion on the git user mailing list on Google Groups recommended me to file the following as a bug report.
>
> The problem led to an actual file loss, but I suspect that this might be intended:
>
> 1) .gitignore is added to the repository (which then causes problems)
> 2) A file is added, repeatedly edited and comitted to a remote repository.
> 3) Later on, the file is added to .gitignore and "git rm --cached file" is executed (since the file now contains information private to each developer).
> 4) Several commits happen.
> 5) I checkout an old branch which has not yet seen the change in .gitignore in the master branch. The file is reverted to the state of the branch.
> 6) I checkout master, and the file with all later changes is irrevocably lost.
>
> I usually advise my students to check-in their .gitignore file into the repository. Apparently this is a bad advice, since it now led to a somewhat painful file loss for me.
>
> So what is the actual advice on this? Google turned up mixed advice there, and the git user mailing list on Google Groups recommended me submitting this as a bug here. However, I think this works as intended. However, I don't know either how to avert this problem, apart from not checking in the .gitignore file (or checking it in under a different name and copying it manually).
This recent thread should be a good starting point:
https://public-inbox.org/git/4C6A1C5B.4030304@workspacewhiz.com/
My reply here I think has an overview of some of the caveats:
https://public-inbox.org/git/871s8qdzph.fsf@evledraar.gmail.com/
tl;dr: Git assumes that a pattern in .gitignore means you don't care
about the contents, since it's meant for *.o and the like. This leads to
data loss in some situations (such as yours).
Various suggestions in that thread of ways forward, but none have
been implemented>
next prev parent reply other threads:[~2018-11-06 15:12 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-15 13:01 Ignored files being silently overwritten when switching branches Per Lundberg
2018-10-16 6:40 ` Jeff King
2018-10-16 9:10 ` Ævar Arnfjörð Bjarmason
2010-08-17 5:21 ` git merge, .gitignore, and silently overwriting untracked files Joshua Jensen
2010-08-17 19:33 ` Junio C Hamano
2010-08-18 23:39 ` [PATCH] optionally disable overwriting of ignored files Clemens Buchacher
2010-08-19 10:41 ` Jakub Narebski
2010-08-20 18:48 ` Clemens Buchacher
2010-08-20 19:01 ` Joshua Jensen
2010-08-20 20:35 ` Junio C Hamano
2010-08-21 8:05 ` Clemens Buchacher
2010-08-22 7:25 ` Junio C Hamano
2010-08-22 8:20 ` Clemens Buchacher
2010-10-09 22:39 ` Kevin Ballard
2010-08-21 13:23 ` Clemens Buchacher
2010-10-09 13:52 ` [PATCH 0/5] do not overwrite untracked files in leading path Clemens Buchacher
2010-10-09 13:52 ` [PATCH 1/5] t7607: use test_commit and test_must_fail Clemens Buchacher
2010-10-10 6:35 ` Jonathan Nieder
2010-10-10 8:35 ` [PATCH 1/5 v2] t7607: use test-lib functions and check MERGE_HEAD Clemens Buchacher
2010-10-13 21:33 ` Junio C Hamano
2010-10-13 21:59 ` Junio C Hamano
2010-10-09 13:52 ` [PATCH 2/5] t7607: add leading-path tests Clemens Buchacher
2010-10-09 19:14 ` Johannes Sixt
2010-10-10 8:38 ` [PATCH 2/5 v2] " Clemens Buchacher
2010-10-09 13:52 ` [PATCH 3/5] add function check_ok_to_remove() Clemens Buchacher
2010-10-13 21:43 ` Junio C Hamano
2010-10-09 13:52 ` [PATCH 4/5] lstat_cache: optionally return match_len Clemens Buchacher
2010-10-09 13:53 ` [PATCH 5/5] do not overwrite files in leading path Clemens Buchacher
2010-10-13 21:57 ` Junio C Hamano
2010-10-13 22:34 ` Clemens Buchacher
2010-10-15 6:48 ` Clemens Buchacher
2010-10-15 18:47 ` Junio C Hamano
2010-08-20 20:46 ` [PATCH] optionally disable overwriting of ignored files Junio C Hamano
2010-08-21 6:48 ` [PATCH v2] " Clemens Buchacher
2010-08-23 8:33 ` [PATCH] " Matthieu Moy
2010-08-31 18:44 ` Heiko Voigt
2010-08-23 9:37 ` Matthieu Moy
2010-08-23 13:56 ` Holger Hellmuth
2010-08-23 15:11 ` Clemens Buchacher
2010-08-23 15:57 ` Junio C Hamano
2010-08-24 7:28 ` Clemens Buchacher
2010-08-24 16:19 ` Junio C Hamano
2018-11-06 12:41 ` Checkout deleted semi-untracked file Steffen Jost
2018-11-06 15:12 ` Ævar Arnfjörð Bjarmason [this message]
2018-11-11 9:52 ` [RFC PATCH] Introduce "precious" file concept Nguyễn Thái Ngọc Duy
2018-11-11 12:15 ` Bert Wesarg
2018-11-11 12:33 ` Ævar Arnfjörð Bjarmason
2018-11-11 13:06 ` Ævar Arnfjörð Bjarmason
2018-11-12 16:14 ` Duy Nguyen
2018-11-11 15:41 ` Duy Nguyen
2018-11-11 16:55 ` Ævar Arnfjörð Bjarmason
2018-11-12 7:35 ` Per Lundberg
2018-11-12 9:08 ` Matthieu Moy
2018-11-12 9:49 ` Ævar Arnfjörð Bjarmason
2018-11-12 10:26 ` Junio C Hamano
2018-11-12 12:45 ` Ævar Arnfjörð Bjarmason
2018-11-12 13:02 ` Junio C Hamano
2018-11-12 16:07 ` Duy Nguyen
2018-11-12 23:22 ` brian m. carlson
2018-11-26 9:30 ` Per Lundberg
2018-11-26 10:28 ` Ævar Arnfjörð Bjarmason
2018-11-26 12:49 ` Junio C Hamano
2018-11-27 15:08 ` Ævar Arnfjörð Bjarmason
2018-11-28 3:58 ` Junio C Hamano
2018-11-28 21:54 ` Ævar Arnfjörð Bjarmason
2018-11-29 5:04 ` Junio C Hamano
2018-12-01 6:21 ` Duy Nguyen
2018-11-26 15:26 ` Duy Nguyen
2018-11-26 15:34 ` Ævar Arnfjörð Bjarmason
2018-11-26 15:40 ` Duy Nguyen
2018-11-26 15:47 ` Ævar Arnfjörð Bjarmason
2018-11-26 15:55 ` Duy Nguyen
2018-11-27 9:43 ` Per Lundberg
2018-11-27 12:55 ` Jacob Keller
2018-11-27 14:50 ` Per Lundberg
2018-11-28 1:21 ` brian m. carlson
2018-11-28 6:54 ` Per Lundberg
2018-11-27 15:19 ` Duy Nguyen
2018-12-06 18:39 ` Duy Nguyen
2018-11-26 16:02 ` Eckhard Maaß
2018-11-11 12:59 ` Junio C Hamano
2018-11-26 19:38 ` [PATCH v2 0/2] Precios files round two Nguyễn Thái Ngọc Duy
2018-11-26 19:38 ` [PATCH v2 1/2] Introduce "precious" file concept Nguyễn Thái Ngọc Duy
2018-11-26 19:38 ` [PATCH v2 2/2] unpack-trees: support core.allIgnoredFilesArePreciousWhenMerging Nguyễn Thái Ngọc Duy
2018-10-16 15:05 ` Ignored files being silently overwritten when switching branches Duy Nguyen
2018-10-18 1:55 ` 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=875zxa6xzp.fsf@evledraar.gmail.com \
--to=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=jost@tcs.ifi.lmu.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.