Commit Graph

180 Commits

Author SHA1 Message Date
599973e10a depcheck: Do index update before any other operations 2022-01-03 10:10:00 +01:00
0485facf33 Cargo.lock: Updating serde v1.0.132 -> v1.0.133 2022-01-03 10:10:00 +01:00
2f6405ea10 dependencies: Update serde to 1.0.133 2022-01-03 10:10:00 +01:00
a4e993b7fc e2e_tests/pip: Update typing_extensions to 4.0.1 2021-12-31 11:23:25 +01:00
0fb9a22d47 e2e_tests/pip: Update attrs to 21.4.0 2021-12-31 11:23:25 +01:00
76130c5b48 Add script to update pip requirements.txt 2021-12-31 11:23:25 +01:00
9f6c84d78c e2e-tests: Make commit messages more obvious 2021-12-31 11:20:01 +01:00
fc91ee7a01 Just: Allow running selected e2e tests 2021-12-31 11:20:01 +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
ef381c7421 e2e-tests: Return root commit SHA for worktree repo 2021-12-31 11:20:01 +01:00
fcbad5a3eb Refactor worktree into own struct 2021-12-31 10:58:11 +01:00
cbc9792755 Cargo.lock: Updating proc-macro2 v1.0.34 -> v1.0.36 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
3ac88260b5 Parameterize e2e tests using pytest 2021-12-23 18:33:14 +01:00
54fc48b37d Cargo.lock: Updating syn v1.0.82 -> v1.0.83 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
70eac10eaa Cargo.lock: Updating signal-hook v0.3.12 -> v0.3.13 2021-12-22 10:02:45 +01:00
1e941e02ed Cargo.lock: Updating serde v1.0.131 -> v1.0.132 2021-12-22 10:02:44 +01:00
1ffc522d51 dependencies: Update serde to 1.0.132 2021-12-22 10:02:43 +01:00
66814876a8 Cargo.lock: Updating openssl-sys v0.9.71 -> v0.9.72 2021-12-21 16:15:12 +01:00
3501b785c9 Cargo.lock: Updating once_cell v1.8.0 -> v1.9.0 2021-12-21 16:15:12 +01:00
24badb9b64 Cargo.lock: Updating signal-hook v0.3.10 -> v0.3.12 2021-12-21 16:15:12 +01:00
4c94ead06f Cargo.lock: Updating proc-macro2 v1.0.32 -> v1.0.34 2021-12-21 16:15:12 +01:00
7514d1fd3e Cargo.lock: Updating libc v0.2.108 -> v0.2.112 2021-12-21 16:15:12 +01:00
d85c98c3ef Cargo.lock: Updating git2 v0.13.24 -> v0.13.25 2021-12-21 16:15:12 +01:00
e3563fcaa6 depcheck: Add update for Cargo.lock 2021-12-21 16:15:12 +01:00
1a1231b672 depcheck: Add functionality to disable autoupdate for packages 2021-12-21 16:15:12 +01:00
a3ccea9dcb Justfile: Check cargo dep updates during "check" 2021-12-21 16:15:12 +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
6d747d8e89 dependencies: Update git2 to 0.13.25 2021-12-21 16:15:12 +01:00
72dd861677 dependencies: Update serde to 1.0.131 2021-12-21 16:15:12 +01:00
59c6164c1f depcheck: Commit updates automatically 2021-12-21 16:15:12 +01:00
4722d5a8ff Fix dependencies to exact version 2021-12-21 16:15:12 +01:00
4eb88260c8 Fix missed rename of RepoHandle 2021-12-02 12:43:53 +01:00
a51e5f8918 Fix regression of find with broken repos 2021-12-02 12:43:45 +01:00
c66620a0fc Merge branch 'refactor' into develop 2021-12-01 20:12:37 +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
da601c2d5f Always use color in pytest 2021-12-01 20:12:11 +01:00
ed06c52c8f Add e2e test for finding in tree with broken repos 2021-12-01 20:03:25 +01:00
14b200ee3d Add nonnominandus to contributors 2021-12-01 19:44:46 +01:00
d5eddc4476 Add contributing guidelines 2021-12-01 19:44:46 +01:00