bendis 0.2.3

A patch tool for Bender to work better in HERIS project

# Bendis

[![Crates.io](https://img.shields.io/crates/v/bendis.svg)](https://crates.io/crates/bendis)
[![Crates.io Downloads](https://img.shields.io/crates/d/bendis)](https://crates.io/crates/bendis)
[![GitHub](https://img.shields.io/badge/GitHub-Bendis-black?logo=github)](https://github.com/albertc9/Bendis)
[![GitLab](https://img.shields.io/badge/GitLab-IHEP%20Repo-orange?logo=gitlab)](https://code.ihep.ac.cn/heris/bendis)


A patch tool for Bender to work better in the HERIS project.

> Author: Albert L. Cheung, IHEP 
> 
> Email: albert.cheung@cern.ch
---

### Links

- **Crates.io:** https://crates.io/crates/bendis  
- **GitHub:** https://github.com/albertc9/Bendis  
- **GitLab (IHEP internal):** https://code.ihep.ac.cn/heris/bendis  

---

### Features

- **URL Conversion**: Automatically converts GitHub URLs to IHEP internal Git URLs  
- **Seamless Integration**: Works as a drop-in replacement for Bender  
- **Fast**: Written in Rust for optimal performance  

---

### Installation

```bash
cargo install bendis
```

---

### Usage

#### Initialize a project

```bash
bendis init
```

Creates a `.bendis/` directory with blank `Bender.yml` and `.bender.yml`.

#### Update dependencies

When using Bendis, **only edit the configuration files inside `.bendis/`**.
The copies in the project root will be overwritten.

Update dependencies with:

```bash
bendis update
```

#### Other commands

All other commands are passed through to Bender transparently.

---

### File Structure

```
project_repo/
├── .bendis/                # Bendis working directory
│   ├── .bender/            # Bender initial cache folder (optional on Bendis config)
│   ├── Bender.yml          # (*)The config you need to edit
│   ├── .bender.yml         # (*)The overrides config you may need to edit
│   └── Bender.lock         # Generated by bendis automatically
├── Bender.yml              # Converted config, don't edit here
├── .bender.yml             # Converted overrides (IHEP URLs), don't edit here
├── Bender.lock             # Final lock file generated automatically
└── .bender/                # Dependencies directory generated automatically
```