62c1e430b2
Derive Eq when deriving PartialEq
...
There is a clippy lint for this.
2022-05-26 18:57:31 +02:00
1212917fae
Add unit tests for Repo::fullname()
2022-05-26 18:57:31 +02:00
b17f4d68ef
Fix handling of unmanaged repositories
...
Before, there were warnings in case of nested trees.
2022-05-26 18:57:31 +02:00
b8c552fb62
Give repos a namespace to allow subdirectories
2022-05-26 18:57:31 +02:00
6ef759a14e
Separate config structs from internal structs
2022-05-26 18:57:31 +02:00
35e7c34d11
Do not panic when finding unmanaged worktrees fails
2022-05-26 18:57:31 +02:00
50a0f4d766
Fail properly when default branch cannot be detected
2022-05-26 18:57:31 +02:00
1db3eadd4c
Fix formatting
2022-05-26 18:57:14 +02:00
127dd0535e
Normalize paths when printing configuration
2022-05-26 18:53:12 +02:00
664d44eddc
Only initialize worktrees for actually cloned repos
2022-05-26 18:53:12 +02:00
f2f1d5bcaf
Fix worktree initialization
2022-05-26 18:53:12 +02:00
38c66cad62
Add git forge integration
2022-05-26 17:55:07 +02:00
c3c1c98913
Run cargo fmt
2022-05-10 18:26:06 +02:00
e940ab69fb
Accept clippy suggestions
2022-05-10 18:25:45 +02:00
1cf4e85014
Fix non-worktree directory detection for status
2022-05-10 18:24:29 +02:00
14c95f2704
Fix worktree creation handling
2022-05-10 17:54:03 +02:00
584f68ba42
clap: Remove deprecation warning
2022-02-21 20:28:30 +01:00
7e673200c8
Fix error on empty cloned repository
2022-01-23 22:11:54 +01:00
9b64de7991
Add YAML as a config format option
...
@mustafa89 ;)
2022-01-22 11:23:53 +01:00
6e4c388195
Add --stash options to pull and rebase
2022-01-22 11:23:53 +01:00
6436a8194e
Disable "raw" SSH key usage
...
There is no sane way to get that fallback working with libgit2. Plus,
it's not a good practice anyway to have a non-password protected SSH
key.
2022-01-22 11:23:53 +01:00
1ae0ceff60
dependencies: Update clap to 3.0.5
2022-01-08 14:47:29 +01:00
ff48b2a017
Properly set up remote & branches after cloning
2022-01-08 14:26:16 +01:00
ec45678ce3
Fix SSH auth, fall back to file if agent fails
2022-01-08 14:15:27 +01:00
9acf5b10d5
Make cargo fmt happy
2022-01-08 14:15:26 +01:00
eaf8e2bfa2
rebase: Just continue on empty patch
2022-01-07 10:15:05 +01:00
31b90af066
Properly report status on worktree repos
2022-01-04 12:22:02 +01:00
a94bd19362
repos: Set error code correctly when status fails
2022-01-04 11:55:00 +01:00
ef8a57c60e
Add rebase option for worktrees
2022-01-04 11:18:48 +01:00
c0168c3650
Add helper function on RepoStatus to check clean state
2021-12-31 11:20:01 +01:00
717b0d3a74
Add fetch & pull option to worktrees
2021-12-31 11:20:01 +01:00
fcbad5a3eb
Refactor worktree into own struct
2021-12-31 10:58:11 +01:00
ae9a928d45
Detect default branch from grm.toml if possible
2021-12-31 10:58:08 +01:00
3ff7b61518
Refuse to convert to worktree with ignored files
2021-12-23 18:33:14 +01:00
61a8d63374
Allow nested worktree directories
2021-12-23 18:33:14 +01:00
92e4856dd9
Remove branch-namespace option
2021-12-23 18:33:14 +01:00
02e9de0cbd
Proper formatting
2021-12-23 18:33:14 +01:00
552b3a6aad
SSH: Fall back to ~/.ssh/id_rsa when no agent available
2021-12-23 18:33:14 +01:00
fcc22791e5
Refuse to push against non-pushable remotes (e.g. HTTPS for now)
2021-12-23 18:33:14 +01:00
b183590096
Add default tracking configuration
2021-12-23 18:33:14 +01:00
27586b5ff0
Add functionality for persistent branches
2021-12-23 18:33:14 +01:00
4a9f1bc278
Make new clippy happy
2021-12-21 16:15:12 +01:00
0b181b9b79
Run cargo fmt with new cargo version
2021-12-21 16:15:12 +01:00
a51e5f8918
Fix regression of find with broken repos
2021-12-02 12:43:45 +01:00
f0c8805cf3
Refactor
...
This refactors a huge chunk of the code base to make it more maintainable.
Main points:
* Proper separation between bin and lib. Bin handles argument parsing &
validation and (most of) the output. Lib provides interfaces for all
opreations.
* Before, libgit2 internals were literred throughout the codebase,
mainly the `Repository` struct and `git2::Error` in Results. They
library is now properly wrapped in `repo.rs`, which exposes only the
required functionality. It also standardizes the Error messages
(they're just Strings for now) and handles stuff like the copious
usage of Options to wrap maybe-invalid-utf-8 values. The program will
still panic on non-utf-8 Strings e.g. in git remotes, but I guess this
is acceptable. If you actually manage to hit this case, I promise I'll
fix it :D
* Many unwraps() are now gone and properly handled.
* The table printing functionality is now confined to `table.rs`,
instead of passing tables as parameters through the whole program.
2021-12-01 20:12:24 +01:00
Douwe Schulte
8b7b91d005
Made a single error message not stall the repo finding process
2021-11-29 21:13:39 +01:00
4e83aba672
Fix formatting of push error message
2021-11-29 00:42:36 +01:00
e2e55b8e79
Properly handle error during repo open
2021-11-29 00:42:36 +01:00
655379cd61
Return failures during sync
2021-11-29 00:42:36 +01:00
340085abf8
Detect change from worktree to non-worktree during sync
2021-11-29 00:42:36 +01:00