git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH] t9104: kosherly remove remote refs
@ 2018-06-01  5:08 Christian Couder
  2018-06-01 11:25 ` Johannes Schindelin
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Christian Couder @ 2018-06-01  5:08 UTC (permalink / raw)
  To: git
  Cc: Junio C Hamano, Ævar Arnfjörð Bjarmason,
	Stefan Beller, Jonathan Nieder, Jonathan Tan, Duy Nguyen,
	Derrick Stolee, Carlos Martín Nieto, Michael Haggerty,
	David Turner, Johannes Schindelin, SZEDER Gábor, Jeff King,
	Christian Couder

As there are plans to implement other ref storage systems,
let's use a way to remove remote refs that does not depend
on refs being files.

This makes it clear to readers that this test does not
depend on which ref backend is used.

Suggested-by: Michael Haggerty <mhagger@alum.mit.edu>
Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
This was suggested and discussed in:

https://public-inbox.org/git/20180525085906.GA2948@sigill.intra.peff.net/

 t/t9104-git-svn-follow-parent.sh | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/t/t9104-git-svn-follow-parent.sh b/t/t9104-git-svn-follow-parent.sh
index 9c49b6c1fe..5e0ad19177 100755
--- a/t/t9104-git-svn-follow-parent.sh
+++ b/t/t9104-git-svn-follow-parent.sh
@@ -215,7 +215,9 @@ test_expect_success "multi-fetch continues to work" "
 	"
 
 test_expect_success "multi-fetch works off a 'clean' repository" '
-	rm -rf "$GIT_DIR/svn" "$GIT_DIR/refs/remotes" &&
+	rm -rf "$GIT_DIR/svn" &&
+	git for-each-ref --format="option no-deref%0adelete %(refname)" refs/remotes |
+	git update-ref --stdin &&
 	git reflog expire --all --expire=all &&
 	mkdir "$GIT_DIR/svn" &&
 	git svn multi-fetch
-- 
2.17.0.1035.g12039e008f


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

* Re: [PATCH] t9104: kosherly remove remote refs
  2018-06-01  5:08 [PATCH] t9104: kosherly remove remote refs Christian Couder
@ 2018-06-01 11:25 ` Johannes Schindelin
  2018-06-02  9:43 ` Michael Haggerty
  2018-06-02 12:28 ` SZEDER Gábor
  2 siblings, 0 replies; 4+ messages in thread
From: Johannes Schindelin @ 2018-06-01 11:25 UTC (permalink / raw)
  To: Christian Couder
  Cc: git, Junio C Hamano, Ævar Arnfjörð Bjarmason,
	Stefan Beller, Jonathan Nieder, Jonathan Tan, Duy Nguyen,
	Derrick Stolee, Carlos Martín Nieto, Michael Haggerty,
	David Turner, SZEDER Gábor, Jeff King, Christian Couder

Hi Chris,

On Fri, 1 Jun 2018, Christian Couder wrote:

> As there are plans to implement other ref storage systems,
> let's use a way to remove remote refs that does not depend
> on refs being files.
> 
> This makes it clear to readers that this test does not
> depend on which ref backend is used.
> 
> Suggested-by: Michael Haggerty <mhagger@alum.mit.edu>
> Helped-by: Jeff King <peff@peff.net>
> Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
> ---
> This was suggested and discussed in:
> 
> https://public-inbox.org/git/20180525085906.GA2948@sigill.intra.peff.net/
> 
>  t/t9104-git-svn-follow-parent.sh | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/t/t9104-git-svn-follow-parent.sh b/t/t9104-git-svn-follow-parent.sh
> index 9c49b6c1fe..5e0ad19177 100755
> --- a/t/t9104-git-svn-follow-parent.sh
> +++ b/t/t9104-git-svn-follow-parent.sh
> @@ -215,7 +215,9 @@ test_expect_success "multi-fetch continues to work" "
>  	"
>  
>  test_expect_success "multi-fetch works off a 'clean' repository" '
> -	rm -rf "$GIT_DIR/svn" "$GIT_DIR/refs/remotes" &&
> +	rm -rf "$GIT_DIR/svn" &&
> +	git for-each-ref --format="option no-deref%0adelete %(refname)" refs/remotes |
> +	git update-ref --stdin &&

Apart from the line longer than our conventions allow, this looks fine to
me!

>  	git reflog expire --all --expire=all &&
>  	mkdir "$GIT_DIR/svn" &&
>  	git svn multi-fetch
> -- 
> 2.17.0.1035.g12039e008f

Please upgrade ;-)

Ciao,
Dscho

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

* Re: [PATCH] t9104: kosherly remove remote refs
  2018-06-01  5:08 [PATCH] t9104: kosherly remove remote refs Christian Couder
  2018-06-01 11:25 ` Johannes Schindelin
@ 2018-06-02  9:43 ` Michael Haggerty
  2018-06-02 12:28 ` SZEDER Gábor
  2 siblings, 0 replies; 4+ messages in thread
From: Michael Haggerty @ 2018-06-02  9:43 UTC (permalink / raw)
  To: Christian Couder
  Cc: Git Mailing List, Junio C Hamano,
	Ævar Arnfjörð Bjarmason, Stefan Beller,
	Jonathan Nieder, Jonathan Tan, Duy Nguyen, Derrick Stolee,
	Carlos Martín Nieto, David Turner, Johannes Schindelin,
	SZEDER Gábor, Jeff King, Christian Couder

On Fri, Jun 1, 2018 at 7:08 AM, Christian Couder
<christian.couder@gmail.com> wrote:
> As there are plans to implement other ref storage systems,
> let's use a way to remove remote refs that does not depend
> on refs being files.
>
> This makes it clear to readers that this test does not
> depend on which ref backend is used.
>
> Suggested-by: Michael Haggerty <mhagger@alum.mit.edu>
> Helped-by: Jeff King <peff@peff.net>
> Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
> ---
> This was suggested and discussed in:
>
> https://public-inbox.org/git/20180525085906.GA2948@sigill.intra.peff.net/
>
>  t/t9104-git-svn-follow-parent.sh | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/t/t9104-git-svn-follow-parent.sh b/t/t9104-git-svn-follow-parent.sh
> index 9c49b6c1fe..5e0ad19177 100755
> --- a/t/t9104-git-svn-follow-parent.sh
> +++ b/t/t9104-git-svn-follow-parent.sh
> @@ -215,7 +215,9 @@ test_expect_success "multi-fetch continues to work" "
>         "
>
>  test_expect_success "multi-fetch works off a 'clean' repository" '
> -       rm -rf "$GIT_DIR/svn" "$GIT_DIR/refs/remotes" &&
> +       rm -rf "$GIT_DIR/svn" &&
> +       git for-each-ref --format="option no-deref%0adelete %(refname)" refs/remotes |
> +       git update-ref --stdin &&
>         git reflog expire --all --expire=all &&
>         mkdir "$GIT_DIR/svn" &&
>         git svn multi-fetch
> --
> 2.17.0.1035.g12039e008f

+1 LGTM.

Michael

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

* Re: [PATCH] t9104: kosherly remove remote refs
  2018-06-01  5:08 [PATCH] t9104: kosherly remove remote refs Christian Couder
  2018-06-01 11:25 ` Johannes Schindelin
  2018-06-02  9:43 ` Michael Haggerty
@ 2018-06-02 12:28 ` SZEDER Gábor
  2 siblings, 0 replies; 4+ messages in thread
From: SZEDER Gábor @ 2018-06-02 12:28 UTC (permalink / raw)
  To: Christian Couder
  Cc: Git mailing list, Junio C Hamano,
	Ævar Arnfjörð Bjarmason, Stefan Beller,
	Jonathan Nieder, Jonathan Tan, Duy Nguyen, Derrick Stolee,
	Carlos Martín Nieto, Michael Haggerty, David Turner,
	Johannes Schindelin, Jeff King, Christian Couder

On Fri, Jun 1, 2018 at 7:08 AM, Christian Couder
<christian.couder@gmail.com> wrote:
>  test_expect_success "multi-fetch works off a 'clean' repository" '
> -       rm -rf "$GIT_DIR/svn" "$GIT_DIR/refs/remotes" &&
> +       rm -rf "$GIT_DIR/svn" &&
> +       git for-each-ref --format="option no-deref%0adelete %(refname)" refs/remotes |
> +       git update-ref --stdin &&

Is that "option no-deref" really necessary when deleting refs?  Does
it have any effect at all?

The synopsis in 'git update-ref's manpage indicates that '--no-deref'
is only applicable when updating a ref, but not when deleting one;
though the usage shown by 'git update-ref -h' doesn't indicate this.
Anyway, it appears that when deleting refs no symref dereferencing is
performed and '--no-deref' is simply ignored:

  $ git branch one
  $ git branch two
  $ git symbolic-ref ONE refs/heads/one
  $ git symbolic-ref TWO refs/heads/two
  $ cat .git/{ONE,TWO}
  ref: refs/heads/one
  ref: refs/heads/two
  $ git update-ref -d ONE
  $ git update-ref --no-deref -d TWO
  $ cat .git/{ONE,TWO}
  cat: .git/ONE: No such file or directory
  cat: .git/TWO: No such file or directory
  $ git for-each-ref
  95c5b8654fd75df13ed29f43cff52287414c3877 commit       refs/heads/master
  95c5b8654fd75df13ed29f43cff52287414c3877 commit       refs/heads/one
  95c5b8654fd75df13ed29f43cff52287414c3877 commit       refs/heads/two

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

end of thread, other threads:[~2018-06-02 12:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-01  5:08 [PATCH] t9104: kosherly remove remote refs Christian Couder
2018-06-01 11:25 ` Johannes Schindelin
2018-06-02  9:43 ` Michael Haggerty
2018-06-02 12:28 ` SZEDER Gábor

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).