Downloads

Download versioncontrol_git-6.x-2.0-beta1.tar.gztar.gz 62.92 KB
MD5: db2d990dc907d9f66351db779ff3395e
SHA-1: 08c973d4a12b20fc082f8085b446ac66a1b4abb0
SHA-256: b82121c54fcbefd9c5ae3c58a476b935d0babb8764d7de600a37e10cf1009cb3
Download versioncontrol_git-6.x-2.0-beta1.zipzip 85.43 KB
MD5: 0039abcca0681c66431cc3c7436d5fbe
SHA-1: cc607100e82dff436589cd220eb8ac3d004586d7
SHA-256: f725ffdb0ca3a88c74295b9703d8225cfab9580f2616bfbbc5199bacb7aee3d1

Release notes

Massive update!

Changes since 6.x-2.0-alpha1:

  • #1659676: Delete associated events when deleting a repository.
  • Provide a default reposync plugin with git backend.
  • #1546110: Merge remote-tracking branch 'origin/sync-tinkering' into 6.x-2.x
  • Make versioncontrol_git_cron wildly, WILDLY more efficient.
  • OOP_TODO file is long dead.
  • Remove versioncontrol_git_repo_manager.
  • Remove versioncontrol_git_help().
  • Chase repository init field and sync changes in vcapi.
  • Touchup tests, docs, and some sync logic.
  • Catch up with sync flow control shifts in vcapi.
  • Add a wealth of push-related tests.
  • Update event integrity tests to chase controller caching toggles.
  • Add verifyEvent() to default sync plugin.
  • Assorted doc updates and string massaging.
  • Start using special Versioncontrol exceptions for several errors.
  • Place event-fixup/ff-detection logic in separate method.
  • Change method naming to adhere with convention.
  • Default sync plugin now uses single branch/tag fetchers.
  • Add single-ref fetch methods to VersioncontrolGitRepository.
  • Merge in backported and tweaked grfu changes.
  • Use randomName() instead of randomString() for tests.
  • Backport fetchField on event test to use db_result
  • Fix event data integrity tests.
  • Numerous changes to event sync-related tests.
  • Smarter commit interval discovery logic in syncEvent().
  • Fix (sync)::getCommitInterval() logic surrounding null revs.
  • No need for commit reconciliation on branch deletion.
  • Add reference information about the test repo.
  • Allow simulated pushes in tests to write to the repo.
  • Prevent warnings when accessing a deleted label.
  • #1546110: Check existing labels before adding them to operations at default reposync plugin.
  • Missing constant change.
  • #1546110: Use new constants to refer event ref types.
  • Modify update hook for D6 format.
  • #1546110: Added reftype as part of the {versioncontrol_git_event_data} PK.
  • Identation fix
  • #1546110: Update git event tests to use new code.
  • #1546110: Remove drupal_write_record from event update.
  • #1546110: Avoid using refnames as event refs indexes.
  • Add another ref commits data member missing change.
  • #1546110: Move fast-forward detection to syncEvent method.
  • Add one ref commits data member missing change.
  • #1546110: Remove commits from ref changes.
  • #1546110: Change logic related to default reposyn plugin.
  • #1546110: Reuse repo exec on default reposync plugin.
  • Rename test file according to match test class name.
  • Better error message on git_default reposync plugin.
  • Updating comments for adherence to coding standards.
  • #1546110: Unify initialization of sync* methods for git_default reposync plugin.
  • #484366: Improve and document the serverside git hook script provided as example.
  • Add a DEAD-simple post-receive, really just for testing purposes.
  • #1497392: Fix passing by reference to reset().
  • #1007100, updating concatenation for coding standards.
  • Strip whitespace, minor coding standards bits, and some comment touchups.
  • Chase generateCodeArrivalEvent() changes in vcapi.
  • Remove update 6208 - it belongs in drupalorg module.
  • Added cgit webviewer url handler plugin.
  • Fix token tests
  • Sync git parser code from pre-merged 6.x-2.x into the history sync plugin and embrace it for all cases.
  • Merge branch 'generic-reposync' into 6.x-2.x
  • #1203268: Change default views to follow versioncontrol api change on views data.
  • #1291308: Populate versioncontrol_git_repositories with empty rows before updating.
  • Merge branch '6.x-2.x' into generic-reposync
  • #1333810 by Niklas Fiekas: Fixed {versioncontrol_git_event_data()}.ff created in two update functions, second fails.
  • #1328638 by Niklas Fiekas: Fixed Autoload cache must be cleared before versioncontrol_git_update_6204() can run.
  • #1291308 by Niklas Fiekas: Added Add setDefaultBranch() and getDefaultBranch() method to VersioncontrolGitRepository.
  • #1291308: Add an update function for an initial synchronization
  • #1291308: Implement fetchDefaultBranch()
  • #1291308: Implement getDefaultBranch() and setDefaultBranch()
  • #1291308: Add VersioncontrolGitRepositoryController
  • #1291308: Add versioncontrol_git_repositories table
  • #1291272: Fixed VersionControlGitTestCase::versioncontrolCreateRepoFromClone() tries to call protected method VersioncontrolGitRepository::exec().
  • #1269288: Document $data in versioncontrol_git_repo_parsing_worker_callback().
  • #1252096 by marvil07 | Lazy: Use the new date data members from VersioncontrolOperation
  • Changed per-run limit to some absolute value
  • All kinds of bug fixes in the syncEvent logic
  • check_plain() on author and committer names to prevent db failure
  • Changed field type of commit in {versioncontrol_git_event_data} to large blob
  • Added support for syncing events that have been synced in the past
  • Tweaked the output of the VersioncontrolEvent theme function a bit
  • Added support for drupalorg_git_gateway's weird behaviour to use the complete opposite of the constants in the Versioncontrol API
  • Locking the repository before sync'ing an event
  • Small cosmetic change to VersioncontrolGitEvent theme function
  • Small bugfixes when loading VersioncontrolGitEvents and the commits associated with the ref changes
  • Fixed VersioncontrolGitEventController so that it fetches refs as associative arrays instead of objects
  • Added an update function that migrates git push log data from the drupalorg_git_gateway module to the new tables
  • Added an extra check to be in compliance with the query logic on the controllers
  • Finished work on event-git token integration test
  • Moved theme_versioncontrol_git_event() to seperate theme file and introduced theme_versioncontrol_git_operation().
  • Fixed small bugs that caused E_NOTICE to be thrown and some quick improvements
  • Moved helper function to parent TestCase class and made some small adjustments
  • #1244114: Align method names on VersioncontrolRepositoryHistorySynchronizerInterface
  • Added tests for VersioncontrolGitRepositoryHistorySynchronizerDefault::syncEvent
  • Refactored the VersioncontrolGitRefChange classes a bit to fix some bugs
  • Fixed logic on VersioncontrolGitEvent and more notably in the VersioncontrolGitRepositoryHistorySynchronizerDefault class
  • Follow versioncontrol api change on #998684: Remove the idea of operation label actions.
  • Added tokens for VersioncontrolEvents and non-working (to be improved) tests
  • Implemented VersioncontrolGitRepositoryHistorySynchronizerDefault::syncEvent
  • Fixed more bugs regarding insertion of reference changes.
  • Fixed small bug in VersioncontrolGitEvent class and implemented abstract method in VersioncontrolGitTagChange class.
  • Removed unused and non-working member functions from VersioncontrolGitEvent
  • Add extra parameter verification to VersioncontrolGitRepositoryHistorySynchronizerDefault::syncEvent() to ensure it's not just a VersioncontrolEvent being provided, but a VersioncontrolGitEvent.
  • Add quick filler reminder that event needs to be updated after syncing logic is run.
  • Chase updates to VersioncontrolRepositoryHistorySynchronizerInterface in vcapi. We still need to actually implement this separate logic path, but we're keeping up with the interface.
  • Missing a crucial final key in the field spec for {versioncontrol_git_event_data}.refname that would have caused nasty errors on non-mysql.
  • Extensive changes to how VersioncontrolGitEvent and VersioncontrolGitEventController work.
  • Starting to tweak VersioncontrolGitEvent tests, as they really no longer work. More notably, change the whole file from windows to unix line endings.
  • Add an 'ff' field to {versioncontrol_git_event_data} for recording whether or not a ref update was done by fast-forward.
  • Implement VersioncontrolBackend::generateCodeArrivalEvent().
  • Introduce the VersioncontrolGitRefChange family. Each object instance is used to represent exactly one of the N potential ref updates made in each git push.
  • Add docblock versioncontrol_git_update_6203() with info about the table being introduced.
  • Merge branch 'event-entities' into generic-reposync. Chasing the corresponding merge in versioncontrol, b51d1c0.
  • Refactored the old git log parsing code into the new Repository Synchronizer interface
  • Removed statical caching from loadCommits member in VersioncontrolEvent and fixed small bugs in tests.
  • Added tests for insertion, updating and deletion of VersioncontrolEvents and for loadLabels, loadBranches and loadTags methods of VersioncontrolEvent
  • Wrote implementations for loadLabels, loadBranches and loadTags methods
  • Introduced skeletal VersioncontrolGitEvent class with loadCommits implementation and basic tests.
  • Fixed schema for git-specific VC event data
  • Introduce a skeletal VersioncontrolGitEventController class.
  • Initial schema for an intermediary table containing extended git-specific VC event data.
  • #1078392: Fixed Manage incorrect/mismatched string encoding gracefully.
  • Change watchdog category to versioncontrol from versioncontrol_git; the latter exceeded watchdog's character limit, and also made filtering silly.
  • feature #1064086: Add author and committer git specific views fields.
  • #1046524 by franskuipers, marvil07: Fixed Wrong variable name on repo manager configuration.
  • #1108390 follow-up: Several fixes to the initial gitphp webviewer url handler.
  • #1108390 by asanchez75, Mark Carver: Added webviewer_url_handler plugin for GitPHP.
  • Fix gitweb webviewer url handler diff url.
  • follow api change: Stop passing by reference item objects on webviewer url handlers.
  • Chase changes in reposync interface method names.
  • Make the tests use the new sync plugins, and make the methods on the default plugin actually work & return something.
  • Fix poor naming: VersioncontrolGitHistorySynchronizerDefault -> VersioncontrolGitRepositoryHistorySynchronizerDefault.
  • Fix FIXME.
  • Initial commit of VersioncontrolGitHistorySynchronizerDefault, a skeletal reposync plugin.
  • #1075702: Fixed Commits page does not preserve line breaks in commit messages.
  • Issues #1103784 and #1103788: Add tests verifying the accuracy of repository parsing and purging.
  • Add --no-color to the `git branch --contains` invocation so that repo sync (typically run from drush) doesn't blow up if branch color settings are set in the environment.
  • Account for the (normal) case where {versioncontrol_git_item_revisions} has fewer entries than {versioncontrol_item_revisions}.
  • Split the purge sanity test into two separate tests, one for each mode (bypassing & non-bypassing).
  • Use an object property to ensure we only run the test repo asserting verification logic once per test case - more than that is just noise.
  • Add an assertion to ensure we get the proper number of label/op mappings on the test repo sync helper method.
  • Move the docblock information with test repository information onto the right method. durrrr.
  • $op_label_count was selecting from the wrong table; copy/paste error.
  • Initial work on VersioncontrolGitDataIntegrityTests, which ensure Git repo data syncs in and gets subsequently manipulated in correct ways.
  • Everything being done in VersioncontrolGitTestCase::tearDown() was unnecessary, so blew it away.
  • Cloned testing repo should be --bare.
  • Add a parameter allowing the test repo creator helper method to also trigger a sync after creation; also assert that a valid git repository was created at the valid location (both clone & test).
  • Assign the repo path to the correct property, and make the counter that cleans up repositories start from 1.
  • cufa() wants a string-literal classname for the callback even when calling a a nonstatic method if it's in the parent. So weird.
  • Make the mkdir() call recursive, and actually pass args to cufa().
  • Add VersioncontrolGitTestCase::versioncontrolSyncTestRepository(), which will sync a test repo and optionally ensure the sync produced the expected data via assertions.
  • Just a squidge more info about the test repo in the docblock.
  • Add some more information about the contents of the test repository to the relevant docblock.
  • Prepend helper method names with 'versioncontrol' in keeping with test method naming conventions.
  • Add a $data parameter to the repository creator helpers that is passed to VersioncontrolTestCase::::versioncontrolCreateRepository().
  • Add docblocks for the repo creation methods.
  • Add a real implementation for VersioncontrolGitTestCase::createRepoFromClone().
  • Manage the path to the git binary across test environment setUp and tearDown.
  • Remove the $path from the repository creation methods, as the path is automatically determined. Also return the newly-created VersioncontrolGitRepository object from the test repo creator.
  • Add support for creating a test repo.
  • Add a tarball containing the static test repository.
  • Introduce a super-skeletal VersioncontrolGitTestCase that extends VersioncontrolTestCase.
  • Touch up the VersioncontrolGitRepositoryManagerWorkerDefault interface with some better error handling and input verification.
  • Remove commented views that have been moved into vc_project.
  • #1073526: Fixed Deleting tag via git does not remove the label from {versioncontrol_labels}.
  • Stripping CVS keywords
  • Roll back #1019976, as it's not quite ready for prime-time. We can stick with the older logic for now.
  • Some more log parser performance followups from halstead.
  • Followup on #1019976 by halstead: handle empty repositories gracefully. Not a situation we normally deal with, but not impossible either.
  • Followup on #1019976 by halstead to attempt better recovery in the event of sequencing errors.
  • #1019976 by halstead: introduce an entirely new import methodology based on git-fast-export.
  • Need to actually CALL proc_open() if we want to rm something. derrrrrr.
  • Restore the escaping of potential user input on shell commands.
  • Use the repo root as cwd since not all git commands are very smart about how & where they write.
  • lulz, put the default param values on the proc_open() invocation, instead of in the function signature.
  • Seriously upgrade the intelligence of git repomgr workers with proc_open.
  • Fix a rather nasty typo in the purgeData() override.
  • Override VersioncontrolRepository::purgeData() to make sure our additional tables get purged.
  • Grr, stupid variable rename.
  • Duh...finish implementing VersioncontrolGitRepositoryManagerWorkerInterface.
  • Make VersioncontrolGitRepositoryManagerWorkerDefault NOT a stub.
  • Add a configSet method to the git repomgr interface.
  • by marvil07, sdboyer: Follow versioncontrol API change at #1055504 about using timestamp on repository locked field.
  • No point in attaching label data to commit objects if the object's aren't cached in memory.
  • Got rid of the activity stream queue declaration, as we're not using it yet and it was causing thousands of constant queries to be run in search of jobs.
  • Evidently it's not OK to do strict typing with strings:
  • Expand the VersioncontrolGitRepositoryManagerWorkerInterface interface with two additional methods: reInit() and passthru().
  • bug #1048210 by marvil07: Parse commit/label relation correctly.
  • Shift out all repomgr functionality from the versioncontrol_git_repo_manager functionality into places it actually belongs.
  • Remove reliance on autoload for loading the backend object, autoload can get kinda dicey during install.
  • versioncontrol_git_cron() was using an old, no-longer-existing constant.
  • #1042730: Introduce a new hook to ease the basic push logging functionality in drupalorg_git_gateway. all push activity.
  • #1029502: Moved default vc_project git-specific views out of vc_git and into vc_project, as the architecture slightly privileges that awkwardness over the other option.
  • Add empty text to the vc_git_project views.
  • task #1043506: Use versioncontrol_handler_field_operation_labels views field handler to avoid operation duplicates
  • Keep parsing workers from caching repo data, which can cause problems when a project gets promoted.
  • #1040868: Fire notification hook when refs are updated.
  • Update the repo manager module to receive the new data form being passed through the hooks from the daemon.
  • bug #1040030 by marvil07 | eliza411: Do not link to deleted files on gitweb_rewrite() webviewer_url_handler() plugin.
  • Fix individual commit view based on API changes #1024960 and #1030266
  • Introduce a new operation and logic for moving repositories on disk when they are promoted from sandboxes to full projects.
  • Update the repo manager to create at a different path if the associated project is a sandbox or full project.
  • Make the git-attribution field draw from the committer name, as it should.
  • Remove the plugin for the webviewer, since we handle it with a default setting now.
  • Put the right type of validation onto the per-user project commit view's uid argument.
  • Make all the git commit views use the vc_git=specific attribution handler, which uses the safer full name instead of email on mapping failure.
  • Underscores, not dashes, in plugin names.
  • #1033918 by marvil07: Introduce a new gitweb url handler that works with gitwebs configured for friendly URLs.
  • Daemon is now fixed, we don't have to manipulate the incoming path.
  • Update the repo manager worker callback to use the template dir provided in drupalorg. Again, HORRIBLY drupalorg specific; this is very much waiting being moved into an encapsulated plugin.
  • Update the parsing worker callback with additional errors and some nasty temporary hacks specific to our ssh daemon.
  • #1028412 by justinrandell and sdboyer: Initial super-basic implementation of queue logic for parsing and activity stream.
  • #1032702 by Jonathan Webb: make VersioncontrolGitRepository::isValidGitRepo() return consistent.
  • Accidentally added some experimental lines to versioncontrol_git.info; reverting.
  • Slightly refactor the logic for checking the location of the git binary. Really just minor cleanup tweaks.
  • #1019976: more no-cache options to minimize clutter in the controllers.
  • Adding vc_git view for individual commit view_set
  • Missed one load call that we're removing caching from in a bid to improve performance.
  • Updating minimum views for demo on git-dev.drupal.org, based on changes to views in versioncontrol and versioncontrol_project
  • Add a bit more error handling in the event that repository insertion fails.
  • No longer explicitly set the label_version_mapper plugin on repos.
  • Add the new, latest plugins to the repo manager for when repo creation succeeds. Still super-uncomfortably drupalorg-specific.
  • Watchdog errors when failing to enqueue repository creation.
  • Fix update function to actually create the new {versioncontrol_git_item_revisions} table.
  • #1018942: properly initialize and associate new repos with their projects.
  • task #994870 follow-up: Missing controller.
  • Remove unnecessary line.
  • Properly create repository object in repo manager.
  • fixing an incompletely renamed variable
  • tweaking menu entry for versioncontrol_git_repo_manager settings
  • #1019976: Improving performance of log parser.
  • removing unwanted calls to releaseItem() in the process queue drush command
  • feature #1025654: Add gitweb url handler.
  • task #1024428: Add blob hashes for item revisions.
  • task #1025150, set time = 0 on the hook_cron_queue_info implementation for versioncontrol_git_repo_manager to allow it to work with a waiting queue (a queue worker that waits for new items rather than checking periodically for them)
  • Use a merge query for updating {versioncontrol_project_projects}.
  • Clean up the job-specific workers a bit, including especially making them sensitive to errors in the shell commands they make.
  • Implement hook_cron_queue_info() in the repo manager, and create a worker callback for it.
  • task #1018942 by sdboyer, tizzo: Added repository manager submodule
  • task #1019976: incremental: Avoid unnecessary calls to shell_exec().
  • #1013872 by mikey_p: Need to add all the views to the array for returning...
  • #1013872: Add the git-specific per-user commit view and make sure the views get returned from the default view hook.
  • Add default views set view suggestions to the Git backend class.
  • Add the git-specific per-repository commit log view.
  • Slight tweaks to the git-specific global commit view.
  • Add the git-specific global commit view.
  • Add basic views integration. Next come exported default views themselves.
  • Add the 'type' property to VersioncontrolGitBackend; required now for views sets to work.
  • OK, REALLY get the path we want for views plugins right this time.
  • Fix hooks_views_api() to actually point to this module. Duh.
  • Remove _versioncontrol_git_get_branch_intersect() as it contained calls to the utterly deprecated VersioncontrolOperationCache class.
  • Implement hook_views_api().
  • bug #998676: Remove update_method UI.
  • feature #1009480: Provide feedback when git is not on the path.
  • String tweaks on the error message for not having a git binary on your path.
  • Prevent echoing of the git binary location and improve error message for the case when no git binary could be found on the path.
  • Revert "Full-command escapeshellcmd() calls were causing many invocations to"
  • Full-command escapeshellcmd() calls were causing many invocations to echo instead of execute. Replaced with escapeshellarg.
  • Update VersioncontrolGitOperation method signatures for proper interface compliance.
  • feature #1001668 by marvil07, mikey_p: Configurable path for the git binary.
  • Add missing CRUD for git operation.
Created by: sdboyer
Created on: 27 Jun 2012 at 17:10 UTC
Last updated: 2 Nov 2014 at 04:08 UTC
New features
Bug fixes

Other releases