Comment 2 for bug 1661600

On Tue, Jul 25, 2017 at 10:43:19AM -0000, Colin Watson wrote:
> IMO this is only a problem because we haven't yet taken a project-wide
> decision to bless the importer branches as the default repositories for
> their corresponding source packages (i.e. lp:ubuntu/+source/PACKAGE).
> Once that happens, object sharing will automatically be set up for
> newly-pushed repositories.

FTR, we probably don't want to do that until the importer team declares
"commit hash stability" (IOW, a branch fast-forwarding guarantee). So
this may merely become an ordering issue. We may not want to do this
until we've seen wider use to gain confidence, and may not want wider
use until we've got object sharing sorted :)

An example is how we're handling empty directories in source packages
(bug 1687057). We discovered that problem only after some level of
increased use, and the current plan (implemented in the importer) is to
put them into the git commit DAG even though the git porcelain doesn't
yet support them. This makes all previously imported commits of sources
with empty directories "wrong", which makes us want to re-import and
break fast-forwarding. Ideally we'd avoid declaring commit hash
stability until upstream have accepted empty directory support in git
porcelain (yet to be written).

There may be other issues like this one that we have yet to discover.

At some point we'll have to draw a line I expect, and accept any
historical errors in the importer in already import commits after that
point. But it'd be nice to get wider testing before we do, so I'm not
sure where that sits with the lack of git object sharing with the
repositories as they are at the moment.