Commit graph

452 commits

Author SHA1 Message Date
Christoph Rüßler
3af256c75a Show remote branches in revlog 2023-04-12 11:53:08 +02:00
extrawurst
c3e318fdd5 fix clippy nightly 2023-02-27 23:26:14 +01:00
extrawurst
9d83ce358e
Reword commit (#1553)
* reuse commit popup for reword
* switch to status after reword
* show command
* prepopulate with old msg
* changelog

Closes #829
2023-02-18 20:47:24 +00:00
extrawurst
8ab62244ce
support reset from log view (#1534) 2023-02-04 16:15:26 +01:00
Andrey Krupskiy
57a5322fa7
Checkout commit (#1499)
* Add keybind to checkout commit in log view
* Extract commit checkout into method
* add quckbar hint for checkout commit
* add a smoke test
* update changelog
* show an error in popup

---------

Co-authored-by: Omnikar <omnikar5@gmail.com>
Co-authored-by: extrawurst <776816+extrawurst@users.noreply.github.com>
2023-02-04 07:00:19 +01:00
hamflx
5411397f9a
Fix commit hooks error and "no such file" error on Windows with wsl2 installed. (#1532)
* use git bash instead of wsl bash
* add unittest for some simple shell commands.
* fix incompatible unitest with macOS
2023-02-02 10:33:57 +01:00
extrawurst
c6dec379f2 clippy nightly fixes 2022-12-30 09:42:50 +01:00
extrawurst
289eddd9be fix nightly clippy 2022-12-10 11:27:59 +01:00
extrawurst
6c4ee56eed remove debug sleep (fixes #1451) 2022-11-25 21:16:47 +01:00
extrawurst
8d2de65868 fix clippy nightly 2022-11-23 15:14:12 +01:00
extrawurst
bea70306e2 fix up for 8e8c5fa never showing file tree 2022-11-22 10:55:25 +01:00
extrawurst
8e8c5fad55 make fetching tree files async 2022-11-21 20:16:48 +01:00
extrawurst
92f63d107c support fetching branch_infos async 2022-11-21 16:32:17 +01:00
Alexandru Macovei
6b5745f6c2
Fix Clippy Lints (#1390)
* apply latest nigtly clippy lints
* temporarily disable const fn lints due to nigh false positive count on nightly
2022-10-19 13:45:12 +02:00
extrawurst
16a537c102
Persist all options (#1342)
closes #1340
2022-09-20 08:23:04 +02:00
extrawurst
0ddec47611 cleanup 2022-09-03 10:22:24 +02:00
extrawurst
4249a278b6 nightly clippy fixes 2022-09-02 09:09:29 +02:00
extrawurst
4e0da37230
Support updating submodules (#1305) 2022-08-31 11:40:52 +02:00
extrawurst
986d34a5ac
support opening submodule (#1298) 2022-08-31 10:51:08 +02:00
extrawurst
ef3ece552d
PoC list submodules (#1090) 2022-08-27 17:55:06 +02:00
extrawurst
0e2262882b fix some clippy workarounds 2022-08-20 11:52:13 +02:00
Chigozie Joshua
edf798b91b
Refactor async tags (follow up PR) (#1245)
* AsyncTags
* Verify hash of last hash
* Make default Tags notification 'FinishUnchanged'
* fixed bug preventing tags from displaying

Co-authored-by: Martijn van Eijk <mfveijk@gmail.com>
Co-authored-by: extrawurst <mail@rusticorn.com>
2022-07-04 10:45:26 +02:00
extrawurst
1985fd2dbc clippy nighytly fix 2022-07-04 10:43:30 +02:00
extrawurst
c1cb868c4b fix nightly clippy 2022-07-02 08:17:15 +02:00
extrawurst
cce49a34b7 Revert "Change diff renamed files (#1040)"
This reverts commit 5f466ff983.
2022-04-24 22:30:40 +02:00
Gleb Davydov
5f466ff983
Change diff renamed files (#1040) 2022-04-24 19:25:50 +02:00
Stephan D
2a578889f3
switch focus to index after staging last file (#1170) 2022-03-10 00:50:37 +01:00
Stephan Dilly
4f3ecfcd7c
fix left arrow closing popup (#1121)
* fix left arrow closing popup
* fix pageup/down being borked
* adhere to global diff options
* fix build for rust 1.50
* show revision count in header
* allow blaming any specific file revision
* show blame command
* allow opening history from blame
2022-01-31 20:56:59 +01:00
Stephan Dilly
f2b09d39c6 clippy nightly fixes 2022-01-30 19:28:45 +01:00
Christoph Rüßler
b622ceef94
Add popup for file history (#841) 2022-01-30 18:50:50 +01:00
Stephan Dilly
53e855e488 use auto proxy option 2022-01-26 09:54:48 +01:00
Stephan Dilly
317b245ba0
fix credential.helper config usage inside repo (#1091) 2022-01-24 00:36:58 +01:00
Stephan Dilly
9653545c81 debug print sideband progress 2022-01-22 18:53:59 +01:00
Stephan Dilly
614040b854 add note 2022-01-22 18:50:51 +01:00
Stephan Dilly
166826f5ea allow inspecting tag annotation 2022-01-22 01:21:15 +01:00
Stephan Dilly
435de9cda3
support hookspath (#1054) 2022-01-17 15:06:54 +01:00
Stephan Dilly
13b6b2fdc6
support deleting tag on remote (#1079) 2022-01-16 22:56:39 +01:00
Stephan Dilly
132559ea7f
support annotated tags (#1073) 2022-01-12 12:44:34 +01:00
Stephan Dilly
d5d36de01e
implement reverting commit from revlog (#1057) 2021-12-29 16:40:22 +01:00
Stephan Dilly
d790b48f5d fix nightly clippy 2021-12-19 21:05:05 +01:00
Stephan Dilly
10b4704662
run hooks in correct pwd (#1049)
see #1046
2021-12-17 00:46:08 +01:00
Stephan Dilly
55b9877e93 use .git path instead of workdir finding hooks
fixes #1046
2021-12-15 15:33:09 +01:00
Martin Kühl
5550415e3c
cred: check pushurl before checking url (#967)
* cred: check pushurl before checking url

if a remote has both a pushurl and a url, need_username_password should check the pushurl before checking the url since we might not need credentials for the former
2021-12-09 22:47:27 +01:00
Stephan Dilly
6249491484
keep commit msg on hook-fail (#1036)
fixes #1035
2021-12-09 21:12:31 +01:00
Stephan Dilly
eddc703fb8 fix windows build 2021-12-08 22:24:56 +01:00
Stephan Dilly
a947ce35e7
fix status fetch hanging on bare repos w/o worktree (#1032)
closes #1029
2021-12-08 22:00:55 +01:00
Stephan Dilly
006cdd6373
support bare repos (#1028) 2021-12-05 00:35:45 +01:00
Stephan Dilly
f4ee24055b Add debug log 2021-11-29 23:28:36 +01:00
Stephan Dilly
74c3d6f21c fetch all branches fetches tags aswell 2021-11-28 16:54:37 +01:00
Stephan Dilly
9038b1d07d pull gets tags on current branch (closes #1013) 2021-11-28 13:37:36 +01:00
Stephan Dilly
33ac72c8e7
fetch/prune branches (#1000) 2021-11-23 22:14:37 +01:00
Stephan Dilly
a55dcf62a3
blame: fixup windows paths (#984)
closes #981
2021-11-12 15:52:29 +01:00
Stephan Dilly
3c8eb7e049
improve files in diff speed (#979)
closes #976
2021-11-11 13:36:17 +01:00
Stephan Dilly
c42c9f900a nightly clippy fix 2021-11-09 14:00:41 +01:00
Stephan Dilly
389bd75d46 honor options in stage_all command (see #933) 2021-10-23 15:34:49 +02:00
R0nd
153c79a828
support pull from remote (#945)
closes #920
2021-10-13 15:34:58 +02:00
dm9pZCAq
31f677187b
add trace-libgit feature (#905) 2021-10-13 15:32:17 +02:00
Stephan Dilly
c6abbaf4d4
fix hirarchical branch names (#931) 2021-10-06 10:50:57 +02:00
R0nd
48f9331b0d
Use git_message_prettify (#924) 2021-09-30 23:20:43 +02:00
Stephan Dilly
e4c7867564
allow rebase with conflicts (#897) 2021-09-29 18:55:47 +02:00
Stephan Dilly
9f8fc6b907 cleanup 2021-09-29 17:38:26 +02:00
Stephan Dilly
23516f1a41 docs 2021-09-29 17:35:47 +02:00
Stephan Dilly
f8bad7d541 cleanup 2021-09-29 17:07:59 +02:00
Stephan Dilly
d2bdec43a1 cleanup 2021-09-26 10:40:55 +02:00
Stephan Dilly
fa051e9226 nightly clippy fixes 2021-09-17 09:14:28 +00:00
Stephan Dilly
f27227af41
Conflict free rebase (#896)
* unittest for rebasing with conflicts
* hide branchlist after rebase
2021-09-07 00:04:54 +02:00
Stephan Dilly
cfea72d709 rebase returns generated commit + unittest 2021-09-06 21:20:45 +02:00
Stephan Dilly
40e03ba7de allow async jobs to set intermediate progress 2021-09-02 18:29:03 +02:00
Stephan Dilly
0454e2a1cd asyncjob supports sending arbitrary notifications
this is used to send progress reports during work on the job
2021-09-02 13:14:36 +02:00
Stephan Dilly
b9e4631ff4 allow async job to return dynamic notification 2021-09-02 11:36:46 +02:00
Stephan Dilly
e5688e3b8b make async test even more resilient 2021-09-02 10:38:37 +02:00
Stephan Dilly
8905fd22ea make test more stable 2021-09-01 23:02:08 +02:00
Stephan Dilly
777d362dfc less unneeded sleep 2021-08-31 18:12:09 +02:00
Stephan Dilly
9c7ac0f84d some more immutable string optimizations
and precompute diff line trimming (newlines)
2021-08-27 09:40:45 +02:00
Stephan Dilly
8353dfdd36 use less memory per hunk (immutable string) 2021-08-27 09:31:31 +02:00
Stephan Dilly
a8654329ec allow rebase of a branch (#816) 2021-08-26 20:31:37 +02:00
Stephan Dilly
81924fb9f8 show subject line of commits compared 2021-08-21 16:11:33 +02:00
Stephan Dilly
5672cfd033
compare two commits (#860) 2021-08-21 15:49:39 +02:00
jedel1043
13a0f4e9e2
Display mark for remote branches with tracking branches (#861) 2021-08-20 13:03:02 +02:00
Stephan Dilly
7cc19f673a
support options for the way we calculate the status (#849) 2021-08-19 02:19:36 +02:00
Stephan Dilly
dad8e8d43d cargo fmt: use hardtabs
since it does not support hard-whitespaces its the only way to make whitespaces consisitent and checked
2021-08-17 14:24:25 +02:00
Stephan Dilly
0b48e6f4ff
fix tags being fetched every scroll in revlog (#851) 2021-08-17 13:35:59 +02:00
zcorniere
56502ad3fd
ability to delete remote branch (#838)
* added ability to delete remote branch (closes #622)
2021-08-15 17:44:55 +02:00
Stephan Dilly
62ea1dea04 fix progress 0/0 panic 2021-08-15 17:42:25 +02:00
Stephan Dilly
d42b00389c
check branch name validity while typing (#842)
closes #559
2021-08-15 15:14:35 +02:00
Stephan Dilly
e16dfcaee7
hook into libgit2 tracing (#822) 2021-08-15 14:24:20 +02:00
Stephan Dilly
71e3d9a9b8 get_commit_diff on commit with unknown parent (#836) 2021-08-11 13:25:38 +02:00
Stephan Dilly
29f71f50d4 do not allow to ignore gitignore (fixes #825) 2021-08-03 23:47:41 +02:00
Stephan Dilly
19f2fd03cf
app has its own async notifications now (#813)
* app has its own async notifications now
2021-07-11 13:24:19 +02:00
Stephan Dilly
23944dc608
error if force push was rejected (#810)
* error if force push was rejected
2021-07-10 14:11:01 +02:00
Stephan Dilly
3a1bcb74a2 try fix ci 2021-07-05 11:18:22 +02:00
Stephan Dilly
c2e6f9ff7e filetree paniced on non utf8 files/paths 2021-07-05 00:26:32 +02:00
Christoph Rüßler
bce652ecca Add filter to AsyncLog
This is a small change that makes it possible to reuse the logic in
`AsyncLog` for the file history view. `AsyncLog` passes the filter to
`FileLogWalker` unchanged.
2021-06-26 13:07:03 +02:00
Christoph Rüßler
f132722272 Add filter to LogWalker
This is the first step towards adding a file history view. The filter
itself is not related to files specifically, though. It could also be
used for different purposes.
2021-06-14 00:18:10 +02:00
Stephan Dilly
850a930053 some cleanup and changelog 2021-06-12 22:41:10 +02:00
Christoph Rüßler
0fa3e0f5a8 Show symbol if tag is not yet pushed
This partly addresses #742.
2021-06-12 22:35:57 +02:00
Stephan Dilly
8032c35902 refactor better name 2021-06-07 23:04:07 +02:00
Emil Jaszczuk
b2b5a0faa0
Add undo_last_commit command (#769)
closes #758
2021-06-07 16:46:45 +02:00
Stephan Dilly
5b07c48234 nightly clippy fixes 2021-06-05 10:28:18 +02:00
Stephan Dilly
6006e7aebd use new custom logwalker 2021-06-04 09:55:19 +02:00
Stephan Dilly
e8c2dc25d4 simplify log walker 2021-06-03 23:55:30 +02:00
Stephan Dilly
3adcb4b8c8 turning time slow sorted revlog off again 2021-06-03 17:47:39 +02:00
Kieran Siek
a11c0b5eb6
Use libgit2 to get the merge commit message. (#755) 2021-06-01 17:29:24 +02:00
Stephan Dilly
53f65c8377 assert that merge msg is populated correctly 2021-06-01 16:27:37 +02:00
Stephan Dilly
3cd218de57
honor showUntrackedFiles config (#753) 2021-06-01 09:56:55 +02:00
Stephan Dilly
65524edf0b allow walking repo including all available refs 2021-05-30 12:03:03 +02:00
Stephan Dilly
680b178a37 make revlog sorted by time 2021-05-29 15:42:17 +02:00
Stephan Dilly
bfa83ae343 move async_job abstraction into asyncgit for now 2021-05-28 11:02:31 +02:00
Christoph Rüßler
2ed6f53dcf Add popup for tags
This closes #483.
2021-05-27 21:02:30 +02:00
Stephan Dilly
246ea9195d more warnings as errors 2021-05-26 09:13:24 +02:00
Stephan Dilly
7177bb223b change temporary commit msg file path
we now use `.git/COMMIT_EDITMSG` for vim to recognise
2021-05-24 10:37:58 +02:00
Stephan Dilly
6ace7f8eea cleanup 2021-05-24 00:35:00 +02:00
Stephan Dilly
7ac40f73eb warning as error 2021-05-23 13:47:14 +02:00
Stephan Dilly
1034dc1aaf
add syntax highlighting (#727) 2021-05-23 02:45:22 +02:00
Stephan Dilly
a31f185154 loss non-utf8 files lossily (fix #726) 2021-05-22 13:36:16 +02:00
Stephan Dilly
9ffe52634e treeview shows selectd file content 2021-05-22 00:47:06 +02:00
Stephan Dilly
0e31d57a33
New file tree (#718) 2021-05-21 14:52:05 +02:00
Stephan Dilly
5ba657cabe
file tree of a commit (#715) 2021-05-18 00:21:05 +02:00
Lee Bradley
fc5deec424 Allow unit tests to be run offline
Currently unit tests require a remote git repository from GitHub. This
change allows unit tests to be run offline. Closes #613
2021-05-16 14:17:53 +02:00
Stephan Dilly
8767642f93 allow pull that creates conflicts now 2021-05-12 15:24:35 +02:00
Stephan Dilly
f35ce0cbf4
support doing merge commit (#701) 2021-05-12 11:20:39 +02:00
Stephan Dilly
a073e0ac02 preserve ref name in annotated commit 2021-05-12 09:13:28 +02:00
Stephan Dilly
b5327a65c1 rename 2021-05-12 09:01:08 +02:00
Stephan Dilly
f30ec49886
show merge head ids in merge state (#697) 2021-05-11 18:26:12 +02:00
Stephan Dilly
4f6aceb3ec
merging a branch (#696)
* merging arbitrary branch
* cleanup intermediate in-merge state
2021-05-09 22:53:12 +02:00
Stephan Dilly
386a31067f cleanup 2021-05-07 12:00:13 +02:00
Stephan Dilly
147f65562c cleanup some TODO 2021-04-27 17:51:29 +02:00
Stephan Dilly
6c1d9e529b add timing 2021-04-25 14:50:44 +02:00
Wander Nauta
c42d369d60
Use git2::DiffLineType enum instead of char values (#668)
closes #655
2021-04-25 14:17:57 +02:00
Stephan Dilly
a3f7d189e5
Fix 663 msg scroll (#669)
* fix line skipping and added unittest
2021-04-25 14:09:53 +02:00
Christoph Rüßler
26fbc8650f Add async wrapper to blame
- Rename `self.path` to `self.file_path`.
- Take into account that `draw_scrollbar` subtracts the area’s height
  before calculating the scrollbar’s position.
- Show in title if blame is pending.
2021-04-25 13:35:34 +02:00
Stephan Dilly
82c52cec37 todo 2021-04-24 15:28:16 +02:00
Christoph Rüßler
3b1a004657 Call get_commits_info instead of get_commit_info
This results in far fewer calls to `repo.find_commit` in almost all
cases.
2021-04-24 15:21:12 +02:00
Stephan Dilly
95c41dbf45
limit log message to first line of commit msg (#662) 2021-04-24 14:55:26 +02:00
Stephan Dilly
97985bfe62 do not run blame on a binary file (earlier out) 2021-04-24 14:05:34 +02:00
Christoph Rüßler
e7b703b922 Improve blame view
- Set default shortcut to `B` instead of `b` because the latter would
  shadow `[b]ranches`.
- Add scrollbar.
- Show resolved commit id in title instead of `HEAD`.
- Make commit id bold if it is the commit id the file is blamed at.
- Don’t run blame on a binary file.
- Add shortcut for inspecting a commit in blame view.
2021-04-24 14:02:51 +02:00
Stephan Dilly
f081cbeb17 fix debug print when adding afile to ignore 2021-04-23 18:10:06 +02:00
Christoph Rüßler
b7eed4361e Add blame view
This closes #484.
2021-04-21 15:03:37 +02:00
Stephan Dilly
524add843d
more lints (#648) 2021-04-18 00:08:35 +02:00
Stephan Dilly
f0a367c3f5
more linting (#647) 2021-04-17 23:17:19 +02:00
Stephan Dilly
53b2c79877
even more clippy restrtictions (#646)
* even more clippy restrtictions
2021-04-17 18:55:59 +02:00
Stephan Dilly
ee5b9d9f4e
Fix exit on fetching a branch that has no upstream/remote (#638)
* do not assume remote/upstream of a branch anymore
2021-04-12 16:47:08 +02:00
brunohgouveia
79a38a70b9 Add pop stash command on Staches tab 2021-04-11 13:17:26 +02:00
Bruno Gouveia
1d90219df9 Fix CommitMessage combine wrongly concatenating subject to body 2021-04-08 20:49:11 +02:00
Stephan Dilly
b5f1e76455
Remote branches (#618)
* allow checking out remote branch
* set tracking branch on checking out remote
* fix unittests by making branch list stable sorted by name
2021-04-06 18:16:08 +02:00
Stephan Dilly
2596c8b1e3 fix panic on staging lines involving missing newline eof 2021-04-03 13:19:01 +02:00
Stephan Dilly
0e85896552 fix nightly 2021-03-29 13:08:20 +02:00
Stephan Dilly
dcc01fb80e migrate some more to unicode-truncate crate 2021-03-25 09:43:35 +01:00
Stephan Dilly
a2ca58a3f6
use branches upstream remote if it is already tracked (#598)
closes #597
2021-03-20 18:47:53 +01:00
Stephan Dilly
e9b296ac62 add remote name per branch 2021-03-20 17:58:03 +01:00