Overview

The versioncontrol + versioncontrol_git code we're running is more than a year old. We need to get it deployed in order to really do much of anything, but especially to create a clean D7 upgrade path. Let's use this as a meta-issue for whatever individual items there are. Mostly it's some small updates in drupalorg module (i already have a separate branch for these commits as i make them) and versioncontrol_project, as well as testing of the various things related to the events framework.

Related Issues

  1. BLOCKER - #1546110: Revisit syncEvent() logic on main repository sync plugin
  2. BLOCKER - #1653262: Create a vc_git-compliant update hook that will not OOM when trying to update all repository default branch info
  3. BLOCKER - #1653266: Implement exception-based control flow handling and synclogging on VersioncontrolRepository::sync()
  4. BLOCKER - #1443268: Move project_git_default_branch into this project
  5. possible blocker - #1653276: Investigate (and implement) array_chunk()ing of commits on new branches for large repos
  6. BLOCKER - #1655194: Reflect the default branch setting in Git instructions
  7. BLOCKER - #1657918: hook_versioncontrol_git_refs_updated() is going away, implement the new one
  8. BLOCKER - #1659574: Port old push data into new versioncontrol event tables
  9. BLOCKER - #1659676: Delete associated events when deleting a repository

that's our remaining list. we need to test, either manually or automatically, and then we can deploy. the deployment itself is gonna be a little tricky (workers need to be restarted, some nontrivial db updates that will take some time to run during which git should be shut off), but it's not too awful.

Full list of blockers

Comments

eliza411’s picture

Issue tags: +sprint 2

Tagging for sprint 2

senpai’s picture

Issue tags: +sprint 3
senpai’s picture

Issue summary: View changes

updated with some of the particular blocking issues

marvil07’s picture

Issue summary: View changes

Updated issue summary.

marvil07’s picture

We should deploy a releases instead of a dev tarballs. I am now making one more beta for versioncontrol project.

marvil07’s picture

Issue summary: View changes

Link to dynamic list of blockers

killes@www.drop.org’s picture

#1235638: Increase password security for *.drupal.org using phpass seems to depend on this. Since that one is getting urgent, when do you plan to move forward here?

sdboyer’s picture

the plan has been "asap" for the last two weeks. it's blocked on other issues - see the link in the summary. now that i'm settled into my new apartment, i can start making some proper progress again.

killes@www.drop.org’s picture

Thanks for the update. Please let others know if you need help.

senpai’s picture

Issue tags: +sprint 4

Tagging for Sprint 4.

sdboyer’s picture

ok, a ton of changes this week. gonna bullet-point them here:

  • DX improvement: we now have single-item loaders on the controllers - e.g., VersioncontrolRepository::loadBranch().
  • DX improvement: it is now possible to globally toggle entity controller in-memory caching for a given backend. this means that calls in the sync plugins, for example, can go from $repo->loadBranches(array(), array(), array('may cache' => FALSE)); to $repo->loadBranches();
  • rebuilt the framework for testing git synchronization logic. didn't finish filling it all in, but established rules and patterns that make me confident we will shortly be able to test every possible sync permutation with great confidence.
  • implemented a new exception-based flow control for syncing. this was predicated on refactoring the sync API to be oriented almost entirely towards callers only ever using VersioncontrolRepository::syncEvent() and VersioncontrolRepository::sync().
  • implement a sync logging system that provides a basis for statistics/analytics on what happens when syncs are run. will be handy in the future for performance metrics, auditing, and estimating repository "health" (as defined by the frequency of sync failures).

i'll update the issue summary with the remaining outstanding issues.

sdboyer’s picture

Issue summary: View changes

Adding a related issues section.

sdboyer’s picture

Issue summary: View changes

updated issue list

sdboyer’s picture

Issue summary: View changes

add default branch issue to list

eliza411’s picture

Issue summary: View changes

Adding blocker 1655194

sdboyer’s picture

Issue summary: View changes

added pift integration issue

sdboyer’s picture

Issue summary: View changes

add note about porting old push log data to new event format

drumm’s picture

Can we mark this fixed?

sdboyer’s picture

Status: Active » Fixed

ding ding ding.

senpai’s picture

Issue tags: +sprint 5

Tagging for Sprint 5.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

dww’s picture

Note: this broke adding projects on d.o since y'all removed the 'use version control systems' permission but project.module was still testing for that. ;) See #1708440: Can't create projects with versioncontrol 6.x-2.x for more. No biggie, just an FYI. Kinda funny how long this has been broken and how few people noticed or cared. Maybe Drupal is converging on "enough" modules on d.o. ;)

Cheers,
-Derek

senpai’s picture

#13 sounds like a job for a BDD test! :)

https://drupal.org/node/1706958

senpai’s picture

Issue summary: View changes

add deleting events on repo deletion