You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: DEVELOPMENT.md
+7-2
Original file line number
Diff line number
Diff line change
@@ -17,6 +17,11 @@
17
17
* ...even if that includes only the most common usecases.
18
18
***Prefer to increment major version rapidly...**
19
19
* ...instead of keeping major version zero for longer than needed.
20
+
***stability**
21
+
* we adhere to semantic versioning
22
+
* while below 1.0, expect a greater amount of breaking changes, which are announced with minor versions
23
+
* From 1.0, we will try hardest to keep the API and user interface non-breaking the closer to the user a library is. Thus the CLI should remain at version
24
+
1 for a long times. However, crates that make it up can change more rapidly and may see more major version changes over time.
20
25
21
26
### Guidelines
22
27
@@ -30,15 +35,15 @@
30
35
*`blocking` can be used to make `Read` and `Iterator` async, or move any operation onto a thread which blends it into the
31
36
async world.
32
37
* Most operations are fast and 'interrupting' them is as easy as ignoring their result by cancelling their task.
33
-
* Long-running operations can be roughly interacted with using `git_features::interruptible::interrupt()` function, and after a moment
38
+
* Long-running operations can be roughly interacted with using `git_features::interrupt::trigger()` function, and after a moment
34
39
of waiting the flag can be unset with the `…::uninterrupt()` function to allow new long-running operations to work.
35
40
Every long running operation supports this.
36
41
***server-side**
37
42
* Building a pack is CPU and at some point, IO bound, and it makes no sense to use async to handle more connections - git
38
43
needs a lot of resources and threads will do just fine.
39
44
40
45
***interruption of long-running operations**
41
-
* Use `git-features::interruptible::*` for building support for interruptions of long-running operations only.
46
+
* Use `git-features::interrupt::*` for building support for interruptions of long-running operations only.
42
47
* It's up to the author to decide how to best integrate it, generally we use a poll-based mechanism to check whether
0 commit comments