* Added the new view
* Add support for getting N number of commits
* Added view title actions
* More work to enable view/repository actions
* Expand the view by default, and always show the last N commits
* Add context menu actions
* Improve actions
* Basic infinite scrolling implemented
* Better implementation using --skip instead of a cursor
* Do not refresh graph when pressing Refresh
* Refactor load more/caching
* Rename the view
* Add support for the find widget
* Hacked up the starting point
* More progress
* More progress
* Simplified algo, basic support for colors
* Add the concept of secondary colors for merge commits
* Further optimizations of the algo
* Bug fixes to clean-up algo
* Add support for curved branches
* Keep track of nodes that are moved so that the second parent for the merge commit is rendered in the correct swimlane
* Account for offset when drawing a base commit
* Algo rework completed
* Revert some of the hacks that were put in place to quickly get going
* Add caching to the history items used in the graph
Remove more hacks that were in place
* Added initial tests
* More work so that incoming/outgoing works along history
* Uncomment more code
* Bug fixes to edge cases
* Experiment with a new rendering for curved branches
* Handle repository with a single commit
* Maintain swimlanes
* Fix condition
* Saving my changes
* More polish and clean-up
* Remove code that is not needed
* Revert change
* Revert more changes
* More fixes
* Rename interface
* One last minor change
* Pull request feedback
* More refactoring
* More pull request feedback
* Fix layering issues
* Allow to configure a list of encodings to use when guessing #36951
* Bump up the jschardet version into 3.1.2 #36951
* missing merge
* some polish
* renames
* some polish
* some polish
* cleanup
---------
Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
* Upstream commit + improve onDidChangeCurrentHistoryItemGroup
* Refactor expanding a history item group
* Wire up caching
* Invoking the git.refresh command invalidates the cache
* Clean up cache data structure
* Add support for `--force-if-includes` to force push
* Change force push failed error message
* Separate force push (no with lease) failed error message
* Switch to `"markdownDescription"`
* Add Git version requirement for config description
* Improve error message when safer force push is rejected
* Eliminate the option's effect if Git is too old
* Minor improvements to community contribution
---------
Co-authored-by: Ladislau Szomoru <3372902+lszomoru@users.noreply.github.com>