Skip to content

Commit 3a5be26

Browse files
Add josh cli tool
Change: add-cli
1 parent 734a836 commit 3a5be26

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+4334
-461
lines changed

.dockerignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
!hyper_cgi
66
!hyper-reverse-proxy
77
!josh-core
8+
!josh-cli
89
!josh-filter
910
!josh-proxy
1011
!josh-rpc

.github/dependabot.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ updates:
55
- "/"
66
- "hyper_cgi"
77
- "josh-core"
8+
- "josh-cli"
89
- "josh-filter"
910
- "josh-graphql"
1011
- "josh-proxy"

Cargo.lock

Lines changed: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ members = [
44
"hyper_cgi",
55
"hyper-reverse-proxy",
66
"josh-core",
7+
"josh-cli",
78
"josh-filter",
89
"josh-graphql",
910
"josh-proxy",
@@ -22,6 +23,7 @@ codegen-units = 1
2223
base64 = "0.22.1"
2324
defer = "0.2.1"
2425
env_logger = "0.11.5"
26+
log = "0.4.28"
2527
futures = "0.3.31"
2628
gix = { version = "0.73.0", default-features = false }
2729
hyper-reverse-proxy = { path = "hyper-reverse-proxy", version = "0.0.1" }

docs/src/reference/filters.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,22 @@ tree.
121121
Normally Josh will keep all commits in the filtered history whose tree differs from any of it's
122122
parents.
123123

124+
### Freeze tree updates
125+
126+
`:freeze` filter prevents appearance of selected subtrees for a given revision.
127+
128+
In practical terms, it means that file and folder updates are "held off" or "frozen".
129+
If a tree entry already existed in the parent revision, that version will be chosen.
130+
Otherwise, the tree entry will not appear in the filtered commit.
131+
132+
The source of the parent revision is always the first commit parent.
133+
134+
Note that this filter is only practical when used with `:hook` or `workspace.josh`,
135+
as it should apply per-revision only. Applying `:freeze` for the whole history
136+
will result in the subtree being excluded from all revisions.
137+
138+
Refer to `freeze_filter_workspace.t` and `freeze_filter_hook.t` for reference.
139+
124140
Filter order matters
125141
--------------------
126142

josh-cli/Cargo.toml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
[package]
2+
authors = ["Christian Schilling <christian.schilling@esrlabs.com>"]
3+
description = "Josh CLI"
4+
edition = "2024"
5+
keywords = ["git", "monorepo", "workflow", "scm"]
6+
license-file = "LICENSE"
7+
name = "josh-cli"
8+
readme = "../README.md"
9+
repository = "https://github.com/josh-project/josh"
10+
version = "22.4.15"
11+
12+
[dependencies]
13+
josh = { path = "../josh-core" }
14+
josh-graphql = { path = "../josh-graphql" }
15+
josh-templates = { path = "../josh-templates" }
16+
env_logger = { workspace = true }
17+
log = { workspace = true }
18+
serde_json = { workspace = true }
19+
defer = { workspace = true }
20+
clap = { workspace = true }
21+
rs_tracing = { workspace = true }
22+
juniper = { workspace = true }
23+
git2 = { workspace = true }

0 commit comments

Comments
 (0)