Skip to content

Commit

Permalink
Merge branch 'main' into fix/lint-md
Browse files Browse the repository at this point in the history
  • Loading branch information
bicschneider authored May 17, 2024
2 parents 82ed984 + 21a32ce commit 33dd60c
Showing 1 changed file with 34 additions and 13 deletions.
47 changes: 34 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
I have, over the years in the embbeded enterprise industry, constantly come across many scenarios where zipping, downloading and unzipping generic dependencies and maintaining workspace
has slowed down turn around time for developers and CI system. Git is a fantastic zipper it self and you get integrity of workspaces for free.

Git has always been mentioned to be bad for storing artifacts due to the block chain technology and distrubuted architecture. Git-artifact make sure this problem is handled by storing commits "horisontally" using tags rather than the default "stacked" way. It gives a few advantages compared to standard usage of git:

Git has always been mentioned to be bad for storing artifacts due to the block chain technology and distrubuted architecture. `git-artifact` makes sure this problem is handled by storing commits "horisontally" using tags rather than the default "stacked" way. It gives a few advantages compared to standard usage of git:
- Firstly; You can garbage collect intermidiate artifacts by just deleting the tag
- Secondly; You only fetch what you need - even without using shallow.

Expand Down Expand Up @@ -41,17 +40,39 @@ A few remarks, aspects and thoughts when retrieving the artifacts

Git normally stacks the history hence you cannot delete commit in the middle of the history. `git-artifact` make a "horizontal" history - i.e the commits are not stacked on top of each other, but next to each other.

The history is basically like this

```log
[0.2/test]
|
[0.1/bin] [0.2/bin] [0.3/bin]
| / /
<main>
```

`git-artifacts` has all the functions available that make the above history straight for and natural workflow.
The history is basically like this:

``` mermaid
%%{init: {
'gitGraph': {
'loglevel' : 'debug',
'orientation': 'vertical',
'showCommitLabel': true,
'showBranches': false
}} }%%
gitGraph:
commit id: "init" tag: "init" type: HIGHLIGHT
branch latest-1.0 order: 2
branch latest-1.1 order: 3
branch latest-1.2 order: 4
branch latest-2.0 order: 5
checkout latest-1.0
commit id: "1.0/bin" tag: "1.0/bin"
commit id: "1.0/src" tag: "1.0/src"
checkout latest-1.1
commit id: "1.1/bin" tag: "1.1"
checkout latest-1.2
commit id: "1.2/bin" tag: "1.2"
checkout latest-2.0
commit id: "2.0/bin" tag: "2.0"
checkout main
commit id: "update scripts" tag: "main" type: HIGHLIGHT
branch foo order: 1
checkout foo
commit id: "3.0/bin" tag: "3.0/bin"
checkout latest-1.0
commit id: "2.0/test" tag: "2.0/test"
```

### Prerequisites

Expand Down

0 comments on commit 33dd60c

Please sign in to comment.