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
This pull request fixes various spelling mistakes across documentation, tests, and production code.
Corrects typos in comments and function names in the Go and Rust source files.
Fixes spelling errors in markdown documentation and GitHub workflow files.
---------
Signed-off-by: Josh Soref <[email protected]>
Copy file name to clipboardExpand all lines: docs/src/faq.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ Josh creates an alternate history that has no reference to the skipped parts. It
12
12
13
13
## How is it different from submodules?
14
14
15
-
Where git submodules are multiple, independant repos, referencing each other with SHAs, Josh supports the monorepo approach.
15
+
Where git submodules are multiple, independent repos, referencing each other with SHAs, Josh supports the monorepo approach.
16
16
All of the code is in one single repo which can easily be kept in sync, and Josh provides any sub folder (or in the case of workspaces, more complicated recombination of folders) as their own git repository.
17
17
These repos are transparently synchronised both ways with the main monorepo.
18
18
Josh can thus do more than submodules can, and is easier and faster to use.
@@ -32,8 +32,8 @@ for the same purpose.
32
32
Which one is right in more advanced use cases depends on your goals: `git filter-repo` offers more flexibility and options
33
33
on what kind of filtering it supports, like rewriting commit messages or even plugging arbitrary scripts into the filtering.
34
34
35
-
Josh uses a DSL instead of arbitary scripts for complex filters and is much more restrictive in the kind of filtering
36
-
possilbe, but in exchange for those limitations offers incremental filtering as well as bidirectional operation, meaning converting changes between both the original and the filtered repos.
35
+
Josh uses a DSL instead of arbitrary scripts for complex filters and is much more restrictive in the kind of filtering
36
+
possible, but in exchange for those limitations offers incremental filtering as well as bidirectional operation, meaning converting changes between both the original and the filtered repos.
37
37
38
38
## How is Josh different from all of the above alternatives?
Each of the subprojects defines a `workspace.josh` file, defining the mapping between the original central.git repository and the hierarchy in use inside of the project.
75
75
76
-
In this setup, project1 and project2 can seemlessly depend on the latest version of library1, while only checking out the part of the central monorepo that's needed for their purpose.
76
+
In this setup, project1 and project2 can seamlessly depend on the latest version of library1, while only checking out the part of the central monorepo that's needed for their purpose.
77
77
What's more, any changes to a shared module will be synced in both directions.
78
78
79
79
If a developer of the library1 pushed a new update, both projects will get the new version, and the developer will be able to check if they broke any test.
@@ -83,8 +83,8 @@ If a developer of project1 needs to update the library, the changes will be auto
83
83
84
84
With everything stored in one repo, CI/CD systems only need to look into one source for each particular
85
85
deliverable.
86
-
However in traditional monorepo environments dependency mangement is handled by the build system.
87
-
Build systems are usually taylored to specific languages and need their input already checked
86
+
However in traditional monorepo environments dependency management is handled by the build system.
87
+
Build systems are usually tailored to specific languages and need their input already checked
88
88
out on the filesystem.
89
89
So the question:
90
90
@@ -93,11 +93,11 @@ So the question:
93
93
cannot be answered without cloning the entire repository and understanding how the languages
94
94
used handle dependencies.
95
95
96
-
In particular when using C familiy languages, hidden dependencies on header files are easy to miss.
96
+
In particular when using C family languages, hidden dependencies on header files are easy to miss.
97
97
For this reason limiting the visibility of files to the compiler by sandboxing is pretty much a requirement
98
98
for reproducible builds.
99
99
100
-
With Josh, each deliverable gets it's own virtual git repository with dependencies declared in the `workspace.josh`
100
+
With Josh, each deliverable gets its own virtual git repository with dependencies declared in the `workspace.josh`
101
101
file. This means answering the above question becomes as simple as comparing commit ids.
102
102
Furthermore due to the tree filtering each build is guaranteed to be perfectly sandboxed
103
103
and only sees those parts of the monorepo that have actually been mapped.
@@ -108,7 +108,7 @@ typically necessary with normal build tools.
108
108
### GraphQL API
109
109
110
110
It is often desireable to access content stored in git without requiring a clone of the repository.
111
-
This is usefull for CI/CD systems or web frontends such as dashboards.
111
+
This is useful for CI/CD systems or web frontends such as dashboards.
112
112
113
113
Josh exposes a GraphQL API for that purpose. For example, it can be used to find all workspaces currently
0 commit comments