annotate rust/hg-core/src/transaction.rs @ 52970:e4ff37b5317c

stream-bundle: simple use of `mode` argument of `os.open` This argument have been around for a while and simplify the code. This is especially true as Windows does not have `os.fchmod` so we would have had to deal with this special case.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Tue, 18 Feb 2025 17:21:42 +0100
parents e01e84e5e426
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
52160
e01e84e5e426 rust-revlog: add a Rust-only `InnerRevlog`
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
1 use std::path::Path;
e01e84e5e426 rust-revlog: add a Rust-only `InnerRevlog`
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
2
e01e84e5e426 rust-revlog: add a Rust-only `InnerRevlog`
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
3 /// The Mercurial transaction system is based on the append-only nature
e01e84e5e426 rust-revlog: add a Rust-only `InnerRevlog`
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
4 /// of its core files. This exposes the necessary methods to safely write to
e01e84e5e426 rust-revlog: add a Rust-only `InnerRevlog`
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
5 /// the different core datastructures.
e01e84e5e426 rust-revlog: add a Rust-only `InnerRevlog`
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
6 pub trait Transaction {
e01e84e5e426 rust-revlog: add a Rust-only `InnerRevlog`
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
7 /// Record the state of an append-only file before update
e01e84e5e426 rust-revlog: add a Rust-only `InnerRevlog`
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
8 fn add(&mut self, file: impl AsRef<Path>, offset: usize);
e01e84e5e426 rust-revlog: add a Rust-only `InnerRevlog`
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
9
e01e84e5e426 rust-revlog: add a Rust-only `InnerRevlog`
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
10 // TODO the rest of the methods once we do more in Rust.
e01e84e5e426 rust-revlog: add a Rust-only `InnerRevlog`
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
11 }