Re: [PATCH] t9104: kosherly remove remote refs

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

 



On Fri, Jun 1, 2018 at 7:08 AM, Christian Couder
<christian.couder@xxxxxxxxx> 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



[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