Commit Graph

65 Commits

Author SHA1 Message Date
Baptiste Roux
e796362e6b chore: Avoid passing unnecessary reference 2023-02-07 16:49:21 +01:00
Baptiste Roux
100bac8f87 chore: Return error if the regex is invalid 2023-02-01 18:24:39 +01:00
Baptiste Roux
fdafa3aa81 chore: Pass regex pattern as slice instead of string 2023-02-01 18:14:56 +01:00
Baptiste Roux
956b172426 chore(repo/find): Exlude paths based on regex 2023-01-14 14:40:11 +01:00
6e79dd318a Make clippy happy 2022-12-12 14:46:08 +01:00
7d8fbb844e Properly handle deletion of nested worktrees 2022-06-29 23:40:23 +02:00
b77c442f56 Forbid unsafe code 2022-06-17 02:24:15 +02:00
32eb4676ee Restructure into smaller modules 2022-05-27 23:37:54 +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
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
14c95f2704 Fix worktree creation handling 2022-05-10 17:54:03 +02: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
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
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
f5f8dfa188 Better error message when config not found 2021-11-29 00:42:36 +01:00
0973ae36b8 Properly report push errors 2021-11-28 16:22:22 +01:00
09c67d4908 Remove wrong error message about remote branch 2021-11-28 16:22:22 +01:00
1e6c9407b6 Do not remove worktree for default branch 2021-11-26 17:21:37 +01:00
b967b6dca3 Set git config properly for worktrees on init/clone
Close #1
2021-11-26 17:21:37 +01:00
83973f8a1a Fix unnecessary to_string() 2021-11-26 17:21:37 +01:00
ff32759058 Add subcommand that converts existing repository
Close #6
2021-11-26 17:21:37 +01:00
4ad4a55631 Use single quotes for remote/branch separator 2021-11-24 19:37:11 +01:00
0c6a4a72ef Move repo-tree functionality into own subcommand 2021-11-24 19:22:18 +01:00
ddce614009 Fix repo change detection 2021-11-24 17:22:10 +01:00
3aecee3549 Set up tracking branches if required 2021-11-24 17:22:10 +01:00
667ea87c39 Do not pass as value needlessly 2021-11-24 17:22:10 +01:00
3e18caf719 Use "namespace" instead of "prefix" for branches 2021-11-24 17:22:10 +01:00
711d9131da Expand the worktree functionality 2021-11-22 21:19:12 +01:00
8ba214d6cf Fix setting for root if there is a root-level repo 2021-11-22 21:19:10 +01:00
77c00cee5f Do not output anything when no repos found 2021-11-22 21:19:10 +01:00
12cb18c528 Fix output for ahead/behind branches 2021-11-22 21:19:02 +01:00
fa40f4d6aa Add some unit tests for path expansion 2021-11-22 21:11:41 +01:00