All of lore.kernel.org
 help / color / mirror / Atom feed
* Introducing a test_create_repo_bare (was Re: [PATCHv2 6/6] t5543-atomic-push.sh: add basic tests for atomic pushes)
@ 2014-12-17 23:20 Stefan Beller
  2014-12-17 23:51 ` Junio C Hamano
  0 siblings, 1 reply; 5+ messages in thread
From: Stefan Beller @ 2014-12-17 23:20 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git, Michael Haggerty, Jonathan Nieder

On Tue, Dec 16, 2014 at 11:46 AM, Junio C Hamano <gitster@pobox.com> wrote:

>> +     (
>> +             cd upstream && git config receive.denyCurrentBranch warn
>> +     ) &&
>
> I was wondering how you would do this part after suggesting use of
> test_create_repo, knowing very well that one of them was a bare one
> ;-).
>
> We might want to extend test_create_repo to allow creating a bare
> repository, but this is also OK.

So I searching through all the tests, where it would make sense to do that.
I searched for "denyCurrentBranch" and came up with this list where I think
it makes sense to replace (git init | test_create_repo | or alike) by a
test_create_repo_bare or add the --bare option to test_create_repo

places where test_create_repo_bare is easily introducable:
t5517-push-mirror.sh # setup an upstream repo
t5543-atomic-push.sh # setup an upstream repo
t5701-clone-local.sh # Test  'clone empty repository'

not as easy:
t5400-send-pack.sh # we commit to that repo while being inside
t5405-send-pack-rewind.sh # we commit to that repo while being inside
t5516-fetch-push.sh # we test the various denyCurrentBranch options

unsure:
t5522-pull-symlink.sh # just cloning the repo

So I think we don't need the test_create_repo_bare yet.

Thanks,
Stefan

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Introducing a test_create_repo_bare (was Re: [PATCHv2 6/6] t5543-atomic-push.sh: add basic tests for atomic pushes)
  2014-12-17 23:20 Introducing a test_create_repo_bare (was Re: [PATCHv2 6/6] t5543-atomic-push.sh: add basic tests for atomic pushes) Stefan Beller
@ 2014-12-17 23:51 ` Junio C Hamano
  2014-12-18  0:14   ` Stefan Beller
  2014-12-18  0:28   ` Jonathan Nieder
  0 siblings, 2 replies; 5+ messages in thread
From: Junio C Hamano @ 2014-12-17 23:51 UTC (permalink / raw)
  To: Stefan Beller; +Cc: git, Michael Haggerty, Jonathan Nieder

Stefan Beller <sbeller@google.com> writes:

> On Tue, Dec 16, 2014 at 11:46 AM, Junio C Hamano <gitster@pobox.com> wrote:
>
>>> +     (
>>> +             cd upstream && git config receive.denyCurrentBranch warn
>>> +     ) &&
>>
>> I was wondering how you would do this part after suggesting use of
>> test_create_repo, knowing very well that one of them was a bare one
>> ;-).
>>
>> We might want to extend test_create_repo to allow creating a bare
>> repository, but this is also OK.
>
> So I searching through all the tests, where it would make sense to do that.
> I searched for "denyCurrentBranch" and came up with this list where I think
> it makes sense to replace (git init | test_create_repo | or alike) by a
> test_create_repo_bare or add the --bare option to test_create_repo
>
> places where test_create_repo_bare is easily introducable:
> t5517-push-mirror.sh # setup an upstream repo
> t5543-atomic-push.sh # setup an upstream repo
> t5701-clone-local.sh # Test  'clone empty repository'
>
> not as easy:
> t5400-send-pack.sh # we commit to that repo while being inside
> t5405-send-pack-rewind.sh # we commit to that repo while being inside
> t5516-fetch-push.sh # we test the various denyCurrentBranch options
>
> unsure:
> t5522-pull-symlink.sh # just cloning the repo
>
> So I think we don't need the test_create_repo_bare yet.

Thanks for digging.

We already knew we do not *NEED* it.  We have been surviving without
one.

You need to remember that adding and using a new helper is *NOT* the
ultimate goal; categorizing those that do not want bare repositories
as "not as easy" is misguided.  They truly do not want bare, so they
are not our target audience in the first place.  For the same reason,
"easily introduceable" is not a good criteria to look for.

The issue is if some existing tests will be helped, if we had such a
helper.  That is, do we "git init --bare" by hand in some test?  Are
these tests in such a hand-crafted repositories more susceptible to
future breakages because they do not use the template from the built
location or they do not disable hooks?  If we had such tests, then
they would benefit by having a "bare" mode of test_create_repo.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Introducing a test_create_repo_bare (was Re: [PATCHv2 6/6] t5543-atomic-push.sh: add basic tests for atomic pushes)
  2014-12-17 23:51 ` Junio C Hamano
@ 2014-12-18  0:14   ` Stefan Beller
  2014-12-18  0:28   ` Jonathan Nieder
  1 sibling, 0 replies; 5+ messages in thread
From: Stefan Beller @ 2014-12-18  0:14 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git, Michael Haggerty, Jonathan Nieder

On Wed, Dec 17, 2014 at 3:51 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Stefan Beller <sbeller@google.com> writes:
>
>> On Tue, Dec 16, 2014 at 11:46 AM, Junio C Hamano <gitster@pobox.com> wrote:
>>
>>>> +     (
>>>> +             cd upstream && git config receive.denyCurrentBranch warn
>>>> +     ) &&
>>>
>>> I was wondering how you would do this part after suggesting use of
>>> test_create_repo, knowing very well that one of them was a bare one
>>> ;-).
>>>
>>> We might want to extend test_create_repo to allow creating a bare
>>> repository, but this is also OK.
>>
>> So I searching through all the tests, where it would make sense to do that.
>> I searched for "denyCurrentBranch" and came up with this list where I think
>> it makes sense to replace (git init | test_create_repo | or alike) by a
>> test_create_repo_bare or add the --bare option to test_create_repo
>>
>> places where test_create_repo_bare is easily introducable:
>> t5517-push-mirror.sh # setup an upstream repo
>> t5543-atomic-push.sh # setup an upstream repo
>> t5701-clone-local.sh # Test  'clone empty repository'
>>
>> not as easy:
>> t5400-send-pack.sh # we commit to that repo while being inside
>> t5405-send-pack-rewind.sh # we commit to that repo while being inside
>> t5516-fetch-push.sh # we test the various denyCurrentBranch options
>>
>> unsure:
>> t5522-pull-symlink.sh # just cloning the repo
>>
>> So I think we don't need the test_create_repo_bare yet.
>
> Thanks for digging.
>
> We already knew we do not *NEED* it.  We have been surviving without
> one.
>
> You need to remember that adding and using a new helper is *NOT* the
> ultimate goal; categorizing those that do not want bare repositories
> as "not as easy" is misguided.  They truly do not want bare, so they
> are not our target audience in the first place.  For the same reason,
> "easily introduceable" is not a good criteria to look for.
>
> The issue is if some existing tests will be helped, if we had such a
> helper.  That is, do we "git init --bare" by hand in some test?  Are
> these tests in such a hand-crafted repositories more susceptible to
> future breakages because they do not use the template from the built
> location or they do not disable hooks?  If we had such tests, then
> they would benefit by having a "bare" mode of test_create_repo.
>
>

You're right, I was looking at the wrong criteria. There are rougly 125
" --bare" outside outside of the t0001-init.sh and t5601-clone.sh
which are not relying on the template nor the $GIT_EXEC_PATH/git-init

The occurrences outside these two tests are mostly init and clone with --bare
although we also have a few "git --bare foo" commands to operate on
the bare repos.

Looking at it the other way round it seems to be more work to fix it. :/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Introducing a test_create_repo_bare (was Re: [PATCHv2 6/6] t5543-atomic-push.sh: add basic tests for atomic pushes)
  2014-12-17 23:51 ` Junio C Hamano
  2014-12-18  0:14   ` Stefan Beller
@ 2014-12-18  0:28   ` Jonathan Nieder
  2014-12-18 17:06     ` Junio C Hamano
  1 sibling, 1 reply; 5+ messages in thread
From: Jonathan Nieder @ 2014-12-18  0:28 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Stefan Beller, git, Michael Haggerty

Junio C Hamano wrote:

> The issue is if some existing tests will be helped, if we had such a
> helper.

Since both bin-wrappers/git and test-lib.sh set GIT_TEMPLATE_DIR and
templates/blt doesn't contain any enabled hooks, I don't see how such
a helper would be useful.

If making things more consistent were worth the churn, then if
anything it would make sense to make test_create_repo private to the
setup code in test-lib.sh and to use plain 'git init <directory>' in
tests.

Jonathan

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Introducing a test_create_repo_bare (was Re: [PATCHv2 6/6] t5543-atomic-push.sh: add basic tests for atomic pushes)
  2014-12-18  0:28   ` Jonathan Nieder
@ 2014-12-18 17:06     ` Junio C Hamano
  0 siblings, 0 replies; 5+ messages in thread
From: Junio C Hamano @ 2014-12-18 17:06 UTC (permalink / raw)
  To: Jonathan Nieder; +Cc: Stefan Beller, git, Michael Haggerty

Jonathan Nieder <jrnieder@gmail.com> writes:

> Junio C Hamano wrote:
>
>> The issue is if some existing tests will be helped, if we had such a
>> helper.
>
> Since both bin-wrappers/git and test-lib.sh set GIT_TEMPLATE_DIR and
> templates/blt doesn't contain any enabled hooks, I don't see how such
> a helper would be useful.

Probably bin-wrappers/git has gained it after test_setup_repo
protected itself manually, and I obviously forgot about it. I agree
with your conclusion below, if test_create_repo has become a no-op
these days.  Thanks.

> If making things more consistent were worth the churn, then if
> anything it would make sense to make test_create_repo private to the
> setup code in test-lib.sh and to use plain 'git init <directory>' in
> tests.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-12-18 17:06 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-17 23:20 Introducing a test_create_repo_bare (was Re: [PATCHv2 6/6] t5543-atomic-push.sh: add basic tests for atomic pushes) Stefan Beller
2014-12-17 23:51 ` Junio C Hamano
2014-12-18  0:14   ` Stefan Beller
2014-12-18  0:28   ` Jonathan Nieder
2014-12-18 17:06     ` Junio C Hamano

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.