Homec4science

Add a heursitic for initial pushes which are really imports

Authored by epriestley <git@epriestley.com> on Feb 19 2015, 19:38.

Description

Add a heursitic for initial pushes which are really imports

Summary:
Fixes T7298. There are two ways to import a repository that you want to host, today:

  • Create it as "hosted", then push everything to it.
  • Create it as "imported", let it import, then switch it to "hosted".
  • (Neither of these work with SVN.)

We don't specifically recommend one or the other, although I believe both should work, and most users seem to go with the first one.

In the first workflow, the new empty repository imports completely and gets marked "imported", so our default behavior is then to publish commits. This can generate a lot of email/notification/feed spam.

If you're a fancy expert you might turn off "publish" before pushing, but normal users will frequently miss this.

Instead, when we receive an "import-like" push to an empty repository, put the repository back into "importing" after we accept the changes.

This has to be heuristic since we can't know for sure if a push is an import or new commits, but here's a simple rule that should do pretty well. We can refine it if necessary.

Test Plan:

  • Created a new empty repository.
  • Added some debugging code; verified the "commit count" and "empty" rules were calculated properly.
  • Pushed 8+ commits and saw the repo go into "importing", import, and leave "importing".
  • Pushed 8+ commits again and saw them publish.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T7298

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

Details

Committed
epriestley <git@epriestley.com>Feb 19 2015, 19:38
Pushed
aubortJan 31 2017, 17:16
Parents
rPH8599145b5eec: Implement more consistent publishing rules for repositories
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPHf6915a797573: Add a heursitic for initial pushes which are really imports (authored by epriestley <git@epriestley.com>).Feb 19 2015, 19:38