Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .rustfmt.toml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
edition = "2021"
edition = "2024"
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "yact"
version = "2.3.3"
edition = "2021"
edition = "2024"
readme = "README.md"
license = "GPL-3.0-or-later"
authors = ["Nelson Penn"]
Expand Down
17 changes: 12 additions & 5 deletions src/bin/yact.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@
*/
use std::{path::PathBuf, process::ExitCode};

use clap::{crate_version, Parser};
use clap::{Parser, crate_version};
use semver::Version;
use yact::{pre_commit, Error};
use yact::{Error, pre_commit};

#[derive(Parser)]
#[command(version, about)]
Expand All @@ -46,11 +46,16 @@ pub fn main() -> ExitCode {
ExitCode::FAILURE
}
Err(Error::RepositoryNotFound) => {
eprintln!("Repository not found in current or parent directories. yact must be run from within a git repository.");
eprintln!(
"Repository not found in current or parent directories. yact must be run from within a git repository."
);
ExitCode::FAILURE
}
Err(Error::InvalidYactVersion(requirement, version)) => {
eprintln!("Repository is configured to require yact version {}, but current version is {}. Please install an appropriate version or update the requirement.", requirement, version);
eprintln!(
"Repository is configured to require yact version {}, but current version is {}. Please install an appropriate version or update the requirement.",
requirement, version
);
ExitCode::FAILURE
}
Err(Error::GitError(err)) => {
Expand All @@ -74,7 +79,9 @@ pub fn main() -> ExitCode {
ExitCode::FAILURE
}
Err(Error::ConfigurationNotFound) => {
eprintln!("Could not resolve yactrc.toml configuration file. Ensure it is located at the root of the repository");
eprintln!(
"Could not resolve yactrc.toml configuration file. Ensure it is located at the root of the repository"
);
ExitCode::FAILURE
}
Err(Error::InvalidGlob(glob)) => {
Expand Down
4 changes: 2 additions & 2 deletions src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
* Yet Another Commit Transformer. If not, see <https://www.gnu.org/licenses/>.
*/
use crate::{
builtin_transformers, create_shell_transformer, BuiltinTransformer, Error,
ShellCommandTransformer, Transformer,
BuiltinTransformer, Error, ShellCommandTransformer, Transformer, builtin_transformers,
create_shell_transformer,
};
use git2::Repository;
use glob::Pattern;
Expand Down
4 changes: 2 additions & 2 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ mod transformer;
pub use pre_commit::pre_commit;

pub use builtin_transformers::BuiltinTransformer;
pub use config::{load_configuration, Configuration, ConfigurationItem, TransformerOptions};
pub use config::{Configuration, ConfigurationItem, TransformerOptions, load_configuration};
pub use error::Error;
pub use external_transformers::ShellCommandTransformer;
pub use transformer::{apply_transform_pipeline, create_shell_transformer, transform, Transformer};
pub use transformer::{Transformer, apply_transform_pipeline, create_shell_transformer, transform};
21 changes: 10 additions & 11 deletions src/pre_commit.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@
* You should have received a copy of the GNU General Public License along with
* Yet Another Commit Transformer. If not, see <https://www.gnu.org/licenses/>.
*/
use crate::{apply_transform_pipeline, load_configuration, Error};
use crate::{Error, apply_transform_pipeline, load_configuration};
use git2::{
build::{CheckoutBuilder, TreeUpdateBuilder},
FileMode, MergeOptions, Repository, Tree, TreeWalkMode, TreeWalkResult,
build::{CheckoutBuilder, TreeUpdateBuilder},
};
use glob::{MatchOptions, Pattern};
use semver::Version;
Expand Down Expand Up @@ -94,15 +94,14 @@ pub fn pre_commit<P: AsRef<Path>>(path: P, check_version: Option<Version>) -> Re
std::env::set_current_dir(repository_path)?;
let configuration = load_configuration(&repository)?;

if let Some(ref version) = check_version {
if let Some(version_requirement) = configuration.requires_yact_version {
if !version_requirement.matches(version) {
return Err(Error::InvalidYactVersion(
version_requirement.clone(),
version.clone(),
));
}
}
if let Some(ref version) = check_version
&& let Some(version_requirement) = configuration.requires_yact_version
&& !version_requirement.matches(version)
{
return Err(Error::InvalidYactVersion(
version_requirement.clone(),
version.clone(),
));
}

let mut index = repository.index()?;
Expand Down