Skip to content

Commit 3283445

Browse files
committed
Remove LFS CI step and modify docs/comments
This modifies the readme and one source code file to no longer say that Git LFS is required to get generated archives, because they are checked in as regular blobs instead these days, ever since 35439de (#1176). This may simplfy onboarding since readers are no longer told they must do anything with `git lfs` to get started. It also removes the LFS step from a CI test job definition that had it, for the same reason: the generated archives are no longer stored in LFS, so the only current expected effects of that step are to make the job slightly more complicated and very slightly slower. See also 7b3104d (#1360) and c60f270.
1 parent c60f270 commit 3283445

File tree

3 files changed

+23
-29
lines changed

3 files changed

+23
-29
lines changed

.github/workflows/ci.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,6 @@ jobs:
7979
- name: "cargo check default features"
8080
if: startsWith(matrix.os, 'windows')
8181
run: cargo check --all --bins --examples
82-
- run: |
83-
# it should never be a failure not to get the caches, as they can be regenerated.
84-
git lfs fetch && git lfs checkout || true
8582
- uses: taiki-e/install-action@v2
8683
with:
8784
tool: nextest

README.md

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
<img src="etc/msrv-badge.svg">
44

55
`gitoxide` is an implementation of `git` written in Rust for developing future-proof applications which strive for correctness and
6-
performance while providing a pleasant and unsurprising developer experience.
6+
performance while providing a pleasant and unsurprising developer experience.
77

88
`gitoxide` provides the `gix` and `ein` binaries for use on the command-line to allow experimentation with key features
9-
like `fetch` and `clone`, and to validate the usability and control of the API offered by the [`gix`] crate.
9+
like `fetch` and `clone`, and to validate the usability and control of the API offered by the [`gix`] crate.
1010

1111
`gitoxide` aspires to be a production-grade server implementation and the `ein` binary aspires to become the default way to interact with git repositories.
1212

@@ -16,10 +16,10 @@ like `fetch` and `clone`, and to validate the usability and control of the API o
1616

1717
## Development Status
1818

19-
The command-line tools as well as the status of each crate is described in
19+
The command-line tools as well as the status of each crate is described in
2020
[the crate status document](https://github.com/Byron/gitoxide/blob/main/crate-status.md).
2121

22-
For use in applications, look for the [`gix`](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix) crate,
22+
For use in applications, look for the [`gix`](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix) crate,
2323
which serves as entrypoint to the functionality provided by various lower-level plumbing crates like
2424
[`gix-config`](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix-config).
2525

@@ -66,10 +66,10 @@ Follow linked crate name for detailed status. Please note that all crates follow
6666

6767
* **Stability Tier 1**
6868
- [gix-lock](https://github.com/Byron/gitoxide/blob/main/gix-lock/README.md)
69-
69+
7070
* **Stability Tier 2**
7171
- [gix-tempfile](https://github.com/Byron/gitoxide/blob/main/gix-tempfile/README.md)
72-
72+
7373
### Stabilization Candidates
7474

7575
Crates that seem feature complete and need to see some more use before they can be released as 1.0.
@@ -144,13 +144,13 @@ is usable to some extent.
144144
* [gix-tix](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix-tix)
145145
* [gix-bundle](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix-bundle)
146146
* [gix-fsck](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix-fsck)
147-
147+
148148
### Stress Testing
149149
* [x] Verify huge packs
150-
* [x] Explode a pack to disk
150+
* [x] Explode a pack to disk
151151
* [x] Generate and verify large commit graphs
152152
* [ ] Generate huge pack from a lot of loose objects
153-
153+
154154
### Stability and MSRV
155155

156156
Our [stability guide] helps to judge how much churn can be expected when depending on crates in this workspace.
@@ -161,7 +161,7 @@ Our [stability guide] helps to judge how much churn can be expected when dependi
161161

162162
### Download a Binary Release
163163

164-
Using `cargo binstall`, one is able to fetch [binary releases][releases]. You can install it via `cargo install cargo-binstall`, assuming
164+
Using `cargo binstall`, one is able to fetch [binary releases][releases]. You can install it via `cargo install cargo-binstall`, assuming
165165
the [rust toolchain][rustup] is present.
166166

167167
Then install gitoxide with `cargo binstall gitoxide`.
@@ -200,7 +200,7 @@ for packagers who need to tune external dependencies.
200200
```
201201
# A certain way to install `gitoxide` with just Rust and a C compiler installed.
202202
# If there are problems with SSL certificates during clones, try to omit `--locked`.
203-
cargo install gitoxide --locked --no-default-features --features max-pure
203+
cargo install gitoxide --locked --no-default-features --features max-pure
204204
205205
# The default installation, 'max', is the fastest, but also needs some libraries available to build successfully.
206206
# Installing these is platform-dependent and thus can't be explained here.
@@ -227,7 +227,7 @@ What follows is a list of known failures.
227227
- On Fedora, `perl` needs to be installed for `OpenSSL` to build properly. This can be done with the following command:
228228
`dnf install perl` (see [this issue](https://github.com/Byron/gitoxide/issues/592)).
229229

230-
[releases]: https://github.com/Byron/gitoxide/releases
230+
[releases]: https://github.com/Byron/gitoxide/releases
231231
[rustup]: https://rustup.rs
232232

233233
## Usage
@@ -269,7 +269,7 @@ Project goals can change over time as we learn more, and they can be challenged.
269269
* With the tools and experience available here there is no reason not to support Windows.
270270
* [Windows is tested on CI](https://github.com/Byron/gitoxide/blob/df66d74aa2a8cb62d8a03383135f08c8e8c579a8/.github/workflows/rust.yml#L34)
271271
and failures do prevent releases.
272-
272+
273273
## Non-Goals
274274

275275
Project non-goals can change over time as we learn more, and they can be challenged.
@@ -282,7 +282,7 @@ Project non-goals can change over time as we learn more, and they can be challen
282282
* **use async IO everywhere**
283283
* for the most part, git operations are heavily reliant on memory mapped IO as well as CPU to decompress data,
284284
which doesn't lend itself well to async IO out of the box.
285-
* Use `blocking` as well as `gix-features::interrupt` to bring operations into the async world and to control
285+
* Use `blocking` as well as `gix-features::interrupt` to bring operations into the async world and to control
286286
long running operations.
287287
* When connecting or streaming over TCP connections, especially when receiving on the server, async seems like a must
288288
though, but behind a feature flag.
@@ -291,12 +291,9 @@ Project non-goals can change over time as we learn more, and they can be challen
291291

292292
If what you have seen so far sparked your interest to contribute, then let us say: We are happy to have you and help you to get started.
293293

294-
> ❗️Note❗️: For cloning, `gix-lfs` needs to be locally installed or the checkout will fail. `git lfs install` must have been called once, followed
295-
by `git lfs pull` to replace the `lfs`-pointer files.
296-
297294
We recommend running `just test check-size` during the development process to assure CI is green before pushing.
298295

299-
A backlog for work ready to be picked up is [available in the Project's Kanban board][project-board], which contains instructions on how
296+
A backlog for work ready to be picked up is [available in the Project's Kanban board][project-board], which contains instructions on how
300297
to pick a task. If it's empty or you have other questions, feel free to [start a discussion][discussions] or reach out to @Byron [privately][keybase].
301298

302299
For additional details, also take a look at the [collaboration guide].
@@ -314,7 +311,7 @@ For additional details, also take a look at the [collaboration guide].
314311
- Get an introduction to `gitoxide` itself which should be a good foundation for any contribution, but isn't a requirement for contributions either.
315312
- [Gifting Gitoxide](https://www.youtube.com/playlist?list=PLMHbQxe1e9MlhyyZQXPi_dc-bKudE-WUw)
316313
- See how PRs are reviewed along with a lot of inner monologue.
317-
314+
318315
#### Other Media
319316

320317
- [Rustacean Station Podcast](https://rustacean-station.org/episode/055-sebastian-thiel/)
@@ -376,20 +373,20 @@ Provide a CLI to for the most basic user journey:
376373
## Shortcomings & Limitations
377374

378375
Please take a look at the [`SHORTCOMINGS.md` file](https://github.com/Byron/gitoxide/blob/main/SHORTCOMINGS.md) for details.
379-
376+
380377
## Credits
381378

382379
* **itertools** _(MIT Licensed)_
383380
* We use the `izip!` macro in code
384381
* **deflate2** _(MIT Licensed)_
385382
* We use various abstractions to implement decompression and compression directly on top of the rather low-level `miniz_oxide` crate
386-
383+
387384
## 🙏 Special Thanks 🙏
388385

389386
At least for now this section is exclusive to highlight the incredible support that [Josh Triplett](https://github.com/joshtriplett) has provided to me
390387
in the form of advice, sponsorship and countless other benefits that were incredibly meaningful. Going full time with `gitoxide` would hardly have been
391388
feasible without his involvement, and I couldn't be more grateful 😌.
392-
389+
393390
## License
394391

395392
This project is licensed under either of
@@ -405,6 +402,6 @@ at your option.
405402

406403
* Originally @Byron was really fascinated by [this problem](https://github.com/gitpython-developers/GitPython/issues/765#issuecomment-396072153)
407404
and believes that with `gitoxide` it will be possible to provide the fastest solution for it.
408-
* @Byron has been absolutely blown away by `git` from the first time he experienced git more than 13 years ago, and
405+
* @Byron has been absolutely blown away by `git` from the first time he experienced git more than 13 years ago, and
409406
tried to implement it in [various shapes](https://github.com/gitpython-developers/GitPython/pull/1028) and [forms](https://github.com/byron/gogit)
410407
multiple [times](https://github.com/Byron/gitplusplus). Now with Rust @Byron finally feels to have found the right tool for the job!

tests/tools/src/lib.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ pub use tempfile;
2929
///
3030
/// #[test]
3131
/// fn this() -> Result {
32-
/// let x: usize = "42".parse()?;
32+
/// let x: usize = "42".parse()?;
3333
/// Ok(())
3434
///
3535
/// }
@@ -264,8 +264,8 @@ fn fixture_bytes_inner(path: impl AsRef<Path>, root: DirectoryRoot) -> Vec<u8> {
264264
/// If a script result doesn't exist, these will be checked first and extracted if present, which they are by default.
265265
/// This behaviour can be prohibited by setting the `GIX_TEST_IGNORE_ARCHIVES` to any value.
266266
///
267-
/// To speed CI up, one can add these archives to the repository. It's absolutely recommended to use `gix-lfs` for that to
268-
/// not bloat the repository size.
267+
/// To speed CI up, one can add these archives to the repository. Since LFS is not currently being used, it is
268+
/// important to check their size first, though in most cases generated archives will not be very large.
269269
///
270270
/// #### Disable Archive Creation
271271
///

0 commit comments

Comments
 (0)