1
lorentz
160d

I played around with Git Rebase today to learn a bit about it, and it was fun, but in the process I completely obscured my process and erased a commit that has a published artifact associated with it. What remains is a few incremental preparation commits hoisted up from today's cleanup, then a pair of commits on two projects both of which only compile against the version of the other repo built from the other commit.

Comments
  • 3
    Just fyi, you can probably still recover the original lineage with the reflog.
  • 0
    @saucyatom It's not that I lost it, it's that the state of the repo at that time makes no sense at all compared to anything else. I edited a bunch of code to break a cyclical dependency just so I can rename some symbols and then reconnect the cycle because the project demands it.
  • 1
    Azure DevOps actually holds onto the commit even though no branches reference it, it's actually accessible from the release run.
  • 0
    @saucyatom it's incredibly fucked, NuGet shouldn't allow cycles at all but somehow by mixing modern dependency declarations with obsolete formats from 7 years ago we managed to bend it into a pretzel so now if we need to update the types on the boundary we have to create a stub release that doesn't work (and thus doesn't call the cyclical codependency) but all the types and methods are in place.
  • 0
    @lorentz pretzel dependencies .. hmm ..
  • 3
    This is why humans are not allowed to time travel.
Add Comment