You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
host1 syncs again, but because we only do the equivalent of git fetch origin +refs/nomad/user/*:refs/nomad/*, it doesn't actually delete refs/nomad/host0/branch0:
host1$ git nomad sync
origin
host0
host1
refs/heads/master
refs/heads/master
refs/heads/master
refs/nomad/user/host0/master
refs/nomad/host0/master
refs/nomad/host0/master
refs/nomad/host0/branch0
refs/nomad/user/host1/master
refs/nomad/host1/master
refs/nomad/host1/master
This has the annoying end result of monotonically accumulating refs from other hosts if those refs have ever been observed.
The text was updated successfully, but these errors were encountered:
Also revealed a subtle issue where local and remote `NomadRef<GitRef>`
has slightly different `GitRef::name`s and thus were not compared as
equal when deciding whether the branch on another host was deleted (this
was a bug introduced by e2d3d58, which
itself was a fix for #2).
Use a dedicated `RemoteNomadRefSet` to eliminate this kind of mistake
entirely.
Consider a situation with a single
user
and two hosts:host0
andhost1
As an initial state, here are the refs:
host0
creates a new branchbranch0
and syncs.host1
syncs, fetching refs abouthost0
host1$ git nomad sync
host0
now deletes the branch and syncshost1
syncs again, but because we only do the equivalent ofgit fetch origin +refs/nomad/user/*:refs/nomad/*
, it doesn't actually deleterefs/nomad/host0/branch0
:host1$ git nomad sync
This has the annoying end result of monotonically accumulating refs from other hosts if those refs have ever been observed.
The text was updated successfully, but these errors were encountered: