Add change 05 instructions

This commit is contained in:
David Doblas Jiménez 2024-02-14 20:23:44 +01:00
parent 71abdf3454
commit 9634544d68
1 changed files with 24 additions and 0 deletions

24
how_to/Change_05.md Normal file
View File

@ -0,0 +1,24 @@
- cat-file: Print hashed objects
This command is the "opposite" of `hash-object`: it can print an object by its
OID. Its implementation just reads the file at ".ugit/objects/{OID}".
The names `hash-object` and `cat-file` aren't the clearest of names, but they
are the names that Git uses so we'll stick to them for consistency.
We can now try the full cycle:
```
$ cd /tmp/new
$ ugit init
Initialized empty ugit repository in /tmp/new/.ugit
$ echo some file > bla
$ ugit hash-object bla
0e08b5e8c10abc3e455b75286ba4a1fbd56e18a5
$ ugit cat-file 0e08b5e8c10abc3e455b75286ba4a1fbd56e18a5
some file
```
Note that the name of the file (bla) wasn't preserved as part of this process,
because, again, the object database is just about storing bytes for later
retrieval and it doesn't care which filename the bytes came from.