Commit Graph

464 Commits

Author SHA1 Message Date
Ladislau Szomoru
1d4130b8b3 Git - fix repository detection when rev-parse returns a UNC path on Windows (#230207) 2024-10-01 10:35:48 +02:00
Matt Bierner
d3596df9eb More type assertion fixes (#230181)
For #211878

Also adds a few suppressions
2024-09-30 16:21:12 -07:00
Ladislau Szomoru
44d05b9dfa Git - cheery-pick now handles the case where the changes are already present on the current branch (#229731) 2024-09-25 18:07:16 +02:00
Ladislau Szomoru
47a8de0b9f SCM Graph - add option to return only a subset of history item references (#228932) 2024-09-18 12:36:57 +02:00
Ladislau Szomoru
dfa3888fbd Git - use --stdin when running git log (#228817)
* Revert "Git - truncate commit hashes before running git log (#228643)"

This reverts commit 26ae4519ca.

* Use the --stdin flag when running git log
2024-09-17 13:36:14 +02:00
Ladislau Szomoru
8a9caf323a SCM Graph - Add "Create Tag" action to history item context menu (#228428) 2024-09-13 10:17:44 +02:00
Ladislau Szomoru
5ae8ffb7e3 SCM Graph - set the groundwork to show all history item groups (#227780) 2024-09-06 15:12:48 +02:00
Matt Bierner
8649c9c18b Allow lookbehind regexps in core
I believe safari was the last browser to add these, but they have been supported in safari since 16.4
2024-09-03 16:03:04 -07:00
Ladislau Szomoru
a3aedeae3e SCM - cleanup SourceControlHistoryProvider api (#227376)
* Remove provideHistoryItemSummary

* Remove resolveHistoryItemGroupCommonAncestor

* Remove provideHistoryItems

* Rename methods and remove unused code

* Remove duplicated code
2024-09-02 15:52:05 +02:00
Ladislau Szomoru
557228e262 SCM - Source Control Graph view (#226250)
* 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
2024-08-22 15:54:22 +02:00
Ladislau Szomoru
151e03b633 Git - add support for reftable storage format (#224395) 2024-07-31 08:49:46 -07:00
Ladislau Szomoru
9c9ef6614b Git - improve handling of first commit (#224165) 2024-07-29 11:01:34 +02:00
Ladislau Szomoru
9219bf5f1f Git - use first commit as common ancestor if the repository has not been published to a remote (#223476) 2024-07-24 01:38:31 -07:00
Ladislau Szomoru
cba3b82197 Git - get short stats for the common ancestor commit (#222937) 2024-07-22 10:47:07 +02:00
Ladislau Szomoru
7ed4861b96 Git - do not use commit^.. to get the list of commits (#221287) 2024-07-09 17:15:07 +02:00
Ladislau Szomoru
c040699c44 Git - standardize logging in the git extension (#220043)
* Git - more logging

* Git - more logging changes
2024-07-05 11:26:48 +02:00
Ladislau Szomoru
68ca9a7f4c SCM - improve merge-base detection (#216823) 2024-06-21 17:53:13 +02:00
Ladislau Szomoru
856fba0b67 SCM - more work related to history (#216641)
* Rename base to remote

* introduce base

* Remove resolveHistoryItemGroupBase

* 💄

* More 💄

* Remove file that is out of scope
2024-06-19 22:05:10 +02:00
Ladislau Szomoru
484cd68eff SCM - history view (#216629)
* 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
2024-06-19 19:45:06 +02:00
yutotnh
3ab7948e14 Add the ability to specify a list of candidate encodings when guessing encoding (#36951) (#208550)
* 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>
2024-06-05 10:23:20 +00:00
Ladislau Szomoru
45b5423f72 Git - only add --ignore-case if it is a supported flag (#209819) 2024-04-08 12:47:18 +02:00
Ladislau Szomoru
967170aa0a Git - add the capability to filter git log based on the author (#207169) 2024-03-08 16:41:40 +01:00
Ladislau Szomoru
0d22ba354b Git - 💄 remove duplicated code (#203609) 2024-01-27 17:16:16 +01:00
Ladislau Szomoru
fe0632cbb2 Git - handle stashes that contain untracked files (#203572) 2024-01-26 14:28:45 -08:00
Ladislau Szomoru
adf93c270a Git - view stash should use the stash's parent commit for the left hand side (#203450) 2024-01-25 15:53:20 +01:00
Ladislau Szomoru
97b8727343 Git - fix viewing stahes with added/deleted/renamed files (#203341) 2024-01-24 16:09:02 +01:00
Ladislau Szomoru
cfebdd863a Git - add open stash command (#201970)
* Initial implementation

* Add button to quick pick

* Improve stash picker

* Remove quick pick buttons
2024-01-08 09:48:51 +01:00
Ladislau Szomoru
bff3ef7651 Git - improve code that gets commit count (#201907) 2024-01-05 12:55:05 -08:00
Ladislau Szomoru
9098f756e8 Git - add missing error handler (#201160) 2023-12-18 14:43:44 -08:00
Ladislau Szomoru
4061a9a5e7 Git - log branch name in case the branch cannot be found (#201117) 2023-12-18 13:15:48 +01:00
Ladislau Szomoru
baab9bde4d Git - timeline provider should handle repository with no commits (#200962) 2023-12-15 15:17:38 +01:00
Ladislau Szomoru
81546fb355 Git - only add --diff-merges if flag is supported (#200954) 2023-12-15 14:39:46 +01:00
Ladislau Szomoru
b0b6913211 Git - gif config should not throw if key does not exist (#200358) 2023-12-08 15:10:52 +01:00
Francis Chartrand
bef295a70b timeline: use follow option so timeline follow file beyond renames (#187174)
feat(git): use follow option so timeline follow file beyond renames

Co-authored-by: Ladislau Szomoru <3372902+lszomoru@users.noreply.github.com>
2023-12-08 13:03:59 +00:00
Ladislau Szomoru
e0b70e58b3 SCM - add caching layer to incoming/outgoing tree nodes (#198306)
* 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
2023-11-15 15:09:18 +01:00
Ladislau Szomoru
ed30010d3f Git - better error handling for git merge-base (#198208) 2023-11-14 14:51:17 +01:00
Ladislau Szomoru
e447d54e1e SCM - Add short state badge for history items (#198126)
* Git - Extract parsing of git diff short stat

* Add shortStat badge for commits

* Git - specify diff-merges for merge commits

* Add tests
2023-11-13 16:49:28 +01:00
Ladislau Szomoru
64783a4eb9 Git - incoming/outgoing polish (#197877)
* Git - refactor diffBetweenShortStat to return an object with files, insertions, and deletions

* Add statistics label tooltip
2023-11-10 02:40:58 +01:00
Henning Dieterichs
090fd2c772 Implements first iteration of multi diff editors.
Co-authored-by: Ladislau Szomoru <3372902+lszomoru@users.noreply.github.com>
2023-11-07 16:51:38 +01:00
Tatsunori Uchino
2683aa01ac Add support for --force-if-includes to force push more safely (#187932)
* 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>
2023-10-23 17:47:46 +02:00
Ulugbek Abdullaev
c6dcdc753b git: print more info when relative path not found 2023-10-23 13:57:39 +02:00
Ulugbek Abdullaev
d4586b43cd git: GitError captures stacktrace 2023-10-23 13:57:39 +02:00
Ladislau Szomoru
3a0b6baa61 Git - provide correct editor title for resources under the "All Changes" node (#194273) 2023-09-27 12:05:58 +02:00
Ladislau Szomoru
8e80e950a4 Git - improve heuristics for determining branch base (#193986)
* Add getBranchBaseFromReflog

* Read/store branch merge base in the git config

* Add getBranchBase() extension api
2023-09-25 15:12:10 +01:00
Ladislau Szomoru
419e445f8d Git - fix regular expression for fully qualified ref names (#193953) 2023-09-25 11:25:51 +02:00
Ladislau Szomoru
1545aeab06 SCM - Initial implementation of the Sync view (#193440) 2023-09-19 15:58:22 +02:00
Ladislau Szomoru
3788d799d2 Git - improve logging for git detection (#192297) 2023-09-06 07:30:59 -07:00
Alex Ross
1ac6f50f44 Enable the .. argument for git log (#188500)
* Enable the `..` argument for git log
This will return the commits that the `toRef` has but the `fromRef` does not.

* Use range instead
2023-09-04 14:36:16 +02:00
Ladislau Szomoru
c7d46b2430 Git - improve getRepositoryExact() error handling (#191462)
* Git - improve getRepositoryExact() error handling

* Run async operations in parallel
2023-08-28 16:34:46 +02:00
Matt Bierner
3f8a55b32c trimLeft -> trimStart (#190601)
These should be the same but the `trimLeft` name has been deprecated
2023-08-16 11:11:20 -07:00