-
Notifications
You must be signed in to change notification settings - Fork 445
Discrepancy in events raised by RepositoryWatcher #421
Description
On some workstations the action of git commit
is producing a different output in the RepositoryWatcher
.
Executing the integration test ShouldAddAndCommitAllFiles
from #418 demonstrates the issue more closely.
Workstations seem consistent in their ability to reproduce the issue or not.
I have one workstation where this works and one where it does not.
This log shows what we expect:
17:52:20.600 PM TRACE [ 9] <GitClient> Add all files
17:52:20.609 PM TRACE [ 9] <GitClient> Commit
17:52:20.625 PM TRACE [15] <RepositoryManager> IsBusyChanged Value:True
17:52:20.633 PM TRACE [15] <IRepositoryManagerListener> OnIsBusyChanged: True
17:52:20.777 PM TRACE [15] <RepositoryManager> IsBusyChanged Value:False
17:52:20.783 PM TRACE [15] <IRepositoryManagerListener> OnIsBusyChanged: False
17:52:20.789 PM TRACE [15] <RepositoryWatcher> Handling 57 Events
17:52:20.800 PM TRACE [15] <RepositoryWatcher> IndexChanged
17:52:20.806 PM TRACE [15] <RepositoryWatcher> LocalBranchChanged: master
17:52:20.812 PM TRACE [15] <IRepositoryManagerListener> OnLocalBranchUpdated Name:master
17:52:20.817 PM TRACE [15] <RepositoryWatcher> Processed 2 Events
17:52:20.831 PM TRACE [ 4] <RepositoryManager> Stop
17:52:20.839 PM TRACE [ 4] <RepositoryWatcher> Stopping watcher
17:52:20.845 PM TRACE [ 4] <RepositoryManager> Stop
17:52:20.852 PM WARN [ 4] <RepositoryWatcher> Watcher already stopped
17:52:20.859 PM WARN [ 4] <RepositoryWatcher> Watcher already stopped
In error scenarios this is what we receive:
18:34:55.346 PM TRACE [ 9] <GitClient> Add all files
18:34:55.355 PM TRACE [ 9] <GitClient> Commit
18:34:55.368 PM TRACE [15] <RepositoryManager> IsBusyChanged Value:True
18:34:55.377 PM TRACE [15] <IRepositoryManagerListener> OnIsBusyChanged: True
18:34:55.576 PM TRACE [15] <RepositoryManager> IsBusyChanged Value:False
18:34:55.580 PM TRACE [15] <IRepositoryManagerListener> OnIsBusyChanged: False
18:34:55.586 PM TRACE [15] <RepositoryWatcher> Handling 62 Events
18:34:55.594 PM TRACE [15] <RepositoryWatcher> IndexChanged
18:34:55.598 PM TRACE [15] <RepositoryWatcher> LocalBranchCreated: master
18:34:55.604 PM TRACE [15] <IRepositoryManagerListener> OnLocalBranchAdded Name:master
18:34:55.608 PM TRACE [15] <RepositoryWatcher> LocalBranchDeleted: master
18:34:55.613 PM TRACE [15] <IRepositoryManagerListener> OnLocalBranchRemoved Name:master
18:34:55.617 PM TRACE [15] <RepositoryWatcher> Processed 3 Events
18:34:55.658 PM TRACE [ 4] <RepositoryManager> Stop
18:34:55.664 PM TRACE [ 4] <RepositoryWatcher> Stopping watcher
18:34:55.674 PM TRACE [ 4] <RepositoryManager> Stop
18:34:55.683 PM WARN [ 4] <RepositoryWatcher> Watcher already stopped
18:34:55.689 PM WARN [ 4] <RepositoryWatcher> Watcher already stopped
This issue existed before the batching changes made to the FileWatcher
.
https://ci.appveyor.com/project/github-windows/unity/build/1912.releases/0.21/artifacts
170921-16:51:09 TRACE [ 7] <GitClient> Add all files
170921-16:51:09 TRACE [ 7] <GitClient> Commit
170921-16:51:09 TRACE [15] <RepositoryManager> IsBusyChanged Value:True
170921-16:51:09 TRACE [15] <IRepositoryManagerListener> OnIsBusyChanged: True
170921-16:51:09 TRACE [15] <RepositoryManager> IsBusyChanged Value:False
170921-16:51:09 TRACE [15] <IRepositoryManagerListener> OnIsBusyChanged: False
170921-16:51:09 TRACE [15] <RepositoryWatcher> Handling 55 Events
170921-16:51:09 TRACE [15] <RepositoryWatcher> LocalBranchChanged: master
170921-16:51:09 TRACE [15] <RepositoryManager> Updating Git Status
170921-16:51:09 TRACE [15] <GitClient> Status
170921-16:51:09 TRACE [15] <RepositoryWatcher> IndexChanged
170921-16:51:09 TRACE [15] <RepositoryWatcher> Processed 2 Events
170921-16:51:09 TRACE [ 7] <RepositoryManager> Stop
170921-16:51:09 TRACE [ 7] <RepositoryWatcher> Stopping watcher
170921-16:51:09 TRACE [ 7] <RepositoryManager> Stop
170921-16:51:09 WARN [ 7] <RepositoryWatcher> Watcher already stopped
170921-16:51:09 WARN [ 7] <RepositoryWatcher> Watcher already stopped
Running the same integration test from 0.21 locally results in the following
18:50:28.474 PM TRACE [ 4] <GitClient> Add all files
18:50:28.483 PM TRACE [ 4] <GitClient> Commit
18:50:28.492 PM TRACE [11] <RepositoryManager> IsBusyChanged Value:True
18:50:28.497 PM TRACE [11] <IRepositoryManagerListener> OnIsBusyChanged: True
18:50:28.767 PM TRACE [11] <RepositoryManager> IsBusyChanged Value:False
18:50:28.772 PM TRACE [11] <IRepositoryManagerListener> OnIsBusyChanged: False
18:50:28.782 PM TRACE [11] <RepositoryWatcher> Handling 62 Events
18:50:28.789 PM TRACE [11] <RepositoryWatcher> LocalBranchDeleted: master
18:50:28.796 PM TRACE [11] <IRepositoryManagerListener> OnLocalBranchListChanged
18:50:28.803 PM TRACE [11] <RepositoryWatcher> LocalBranchCreated: master
18:50:28.822 PM TRACE [11] <IRepositoryManagerListener> OnLocalBranchListChanged
18:50:28.828 PM TRACE [11] <RepositoryWatcher> IndexChanged
18:50:28.834 PM TRACE [11] <RepositoryWatcher> Processed 3 Events
18:50:28.871 PM TRACE [ 4] <RepositoryManager> Stop
18:50:28.877 PM TRACE [ 4] <RepositoryWatcher> Stopping watcher
18:50:28.884 PM TRACE [ 4] <RepositoryManager> Stop
18:50:28.890 PM WARN [ 4] <RepositoryWatcher> Watcher already stopped
18:50:28.895 PM WARN [ 4] <RepositoryWatcher> Watcher already stopped
Due to the chain of events that follow the ChangesView
does not refresh after a git commit
and the branch master
disappears.