27 lines
1.1 KiB
Markdown
27 lines
1.1 KiB
Markdown
- write-tree: List files
|
|
|
|
The next command is `write-tree`. This command will take the current working
|
|
directory and store it to the object database. If `hash-object` was for storing
|
|
an individual file, then `write-tree` is for storing a whole directory.
|
|
|
|
Like `hash-object`, `write-tree` is going to give us an OID after it's done and
|
|
we'll be able to use the OID in order to retrieve the directory at a later time.
|
|
|
|
In Git's lingo a "tree" means a directory.
|
|
|
|
We'll get into the details in later changes, in this change we'll only prepare
|
|
the code around the feature:
|
|
|
|
+ Create a `write-tree` CLI command
|
|
|
|
+ Create a `write_tree()` function in base module. Why in base module and not
|
|
in data module? Because `write_tree()` is not going to write to disk directly
|
|
but use the object database provided by data to store the directory. Hence it
|
|
belongs to the higher-level base module.
|
|
|
|
+ Add code to `write_tree()` to print a directory recursively. For now nothing
|
|
is written anywhere, but we just coded the boilerplate to recursively scan a
|
|
directory.
|
|
|
|
We continue in the next change.
|