Re: [PATCH v5 00/11] Avoid removing the current working directory, even if it becomes empty

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/7/2021 1:30 PM, Ævar Arnfjörð Bjarmason wrote:
> 
> On Tue, Dec 07 2021, Derrick Stolee wrote:
>> test_expect_success 'remove cwd' '
>> 	init_repos &&
>>
>> 	test_sparse_match git sparse-checkout set deep/deeper1/deepest &&
>> 	for repo in sparse-checkout sparse-index
>> 	do
>> 		(
>> 			cd $repo/deep/deeper1 &&
>> 			test-tool getcwd >"$TRASH_DIRECTORY/expect" &&
>> 			git sparse-checkout set &&
>>
>> 			test-tool getcwd >"$TRASH_DIRECTORY/actual" &&
>> 			test_sparse_match git status --porcelain &&
>> 			cd "$TRASH_DIRECTORY" &&
>> 			test_cmp expect actual
>> 		)
>> 	done
>> '
>>
>> Please do not let this test delay the advancement of this series. As we
>> find these kinds of issues, we can fix them one-by-one as needed.
> 
> Not to pile on about "the core idea", just a question while this is
> fresh in your mind:
> 
> I think that those cases would per [1] be ones where a more isolated
> change of reading the $PWD from the environment would make all those
> commands work as expected. Or would the "$TRASH_DIRECTORY" also
> otherwise go away in this examples?

I have read this message and the one you are referring two twice and
I cannot understand what you are trying to say here.

> Anyway, just per [1] and the potential future follow-ups is this (I
> don't think so, but maybe I'm wrong) or other examples you have things
> that specifically need the "retain the getcwd()" part of this series?
> 
> Or just (as I think would be the case with that "git status") to not
> have setup.c die quite as eagerly as it does now when getcwd() fails,
> but it can find its way back to the .git via the environment's $PWD?

Are you implying that Git will be the only thing broken by a missing
directory after we leave in this state? I doubt that is true, and we
should be good citizens here by leaving the directory around.

> There *are* definitely cases where not-just-that-setup.c change but also
> the "don't remove the CWD" is an inherently better & more complete
> solution. But I think that's mainly to do with 3rd party shellscripts &
> other programs outside of our control.

Exactly. We should take this change because it is valuable to not cause
a confusing error in other tools.
 
> I'm assuming that you were working with this on Windows, where
> presumably there's fewer/none such shellscripts you rely on, but that's
> now two presumes in a row, so... :)

I'm working on Ubuntu, where I do all of my Git development unless there
is a platform specific reason to do so.

Thanks,
-Stolee



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux