Project

General

Profile

Actions

Patch #22798

open

fetching of Git changesets sometimes fails due to non existant revisions in prev_db_heads

Added by Jens Krämer over 8 years ago. Updated over 8 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
SCM
Start date:
Due date:
% Done:

0%

Estimated time:

Description

Under certain circumstances it may happen that revisions disappear from a git repository (i.e. when the repository is compacted / garbage collected after doing force pushes).

Redmine stores a prev_db_heads list in the repositories extra_info, which may contain hashes pointing to such no more existing objects. In this case, Repository#fetch_changesets will fail silently and not fetch anything, since the underlying git log command refuses to work when non existing revisions are given on the command line.

The attached patch was extracted from Planio and checks each entry in prev_db_heads, keeping only those that still exist.


Files

Actions

Also available in: Atom PDF