Details
-
Bug
-
Resolution: Fixed
-
Low
-
2.6.0
Description
In certain situations, ref syncing (fork syncing) can raise RepositoryRefsChangedEvent with one or more RefChange instances that have "short hashes" for getFromHash() and getToHash(). This does not impair Stash's built-in functionality. However, there are plugins which are relying on RefChange instances always having full 40-byte hashes. Such events from ref syncing cause those plugins to fail.
An example of such a failure:
2013-10-09 02:05:12,127 ERROR [AtlassianEvent::pool-3-thread-2] jdoe 125x1445462x4 1gvfqnp 127.0.0.1 SSH - git-receive-pack '/KEY/repo.git' c.a.e.i.AsynchronousAbleEventDispatcher There was an exception thrown trying to dispatch event 'com.atlassian.stash.repository.sync.RefsSynchronizedEvent[source=com.atlassian.stash.internal.repository.sync.DefaultRefSyncService@28f4a2f8]' from the invoker 'SingleParameterMethodListenerInvoker{method=public void com.wittified.TaskRepositoryEvent.postReceive(com.atlassian.stash.event.RepositoryRefsChangedEvent), listener=com.wittified.TaskRepositoryEvent@2dfe326f}'. java.lang.RuntimeException: An error occurred while executing an external process: [56bbef7]: Unexpected output; expected a 'commit' object at