Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
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.