Homec4science

Don't try to prune unreachable commits from repositories with no outdated refs

Authored by epriestley <git@epriestley.com> on Jul 5 2016, 17:24.

Description

Don't try to prune unreachable commits from repositories with no outdated refs

Summary:
Fixes T11269. The basic issue is that git log in an empty repository exits with an error message.

Prior to recent Git (2.6?), this message reads:

fatal: bad default revision 'HEAD'

This message was somewhat recently changed by https://github.com/git/git/commit/ce113604672fed9b429b1c162b1005794fff6a17. After that, it reads:

fatal: your current branch 'master' does not have any commits yet

This change isn't technically a complete fix because you could still hit this issue like this:

  • Create an empty repository.
  • Push some stuff to master.
  • Delete master.

However, this is very rare and even in this case the repository will fix itself once you push something again. We can try to fix that if any users ever actually hit it.

Test Plan:

  • Created a new empty Git repository.
  • Ran bin/repository update Rxx.
  • Before patch: "git log" error because of the empty repository.
  • After patch: clean update.
  • Also ran repository update on a non-empty repository.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T11269

Differential Revision: https://secure.phabricator.com/D16234

Details

Committed
epriestley <git@epriestley.com>Jul 5 2016, 18:09
Pushed
aubortJan 31 2017, 17:16
Parents
rPH62131de8cd16: Don't wrap task/revision titles in graph tables
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPH5ffdb732735c: Don't try to prune unreachable commits from repositories with no outdated refs (authored by epriestley <git@epriestley.com>).Jul 5 2016, 18:09