Colin Walters
4f95106cda
core: Prefer packed metadata
2012-05-18 16:30:44 -04:00
Colin Walters
f95090095e
core: Map metadata from repository as trusted
...
ot_util_variant_map() assumed untrusted; add a boolean, and use it for
the repository internals.
2012-05-18 16:30:44 -04:00
Colin Walters
cf53ed5cef
core: Limit recursion during traversal
...
The related objects commit introduced OSTREE_MAX_RECURSION; use it.
2012-05-18 16:30:44 -04:00
Colin Walters
d7a15b381e
core: Allow adding related objects to commits
...
This will be used to store the set of components.
2012-05-14 21:58:22 -04:00
Colin Walters
2fbf864251
core: Clarify error message
2012-05-14 11:22:18 -04:00
Colin Walters
4fa14eb712
core: Don't look in packs if we found loose object
...
Unless the caller wants us to; which at present none do, but let's be
forward looking and add an option.
2012-05-12 10:46:25 -04:00
Colin Walters
a04ef7ba10
core: Fix ostree-pull to be able to look up remotes in parent repo
...
We should probably add a generalized inheritance mechanism.
2012-05-10 08:50:37 -04:00
Colin Walters
38dd179017
core: Compile again on GLib 2.28
2012-05-05 11:45:19 -04:00
Colin Walters
0660d9e5cf
core: Improve error message if we hit an unreadable file
2012-05-04 16:14:47 -04:00
Colin Walters
26c484faed
core: Add a mutex to cache data structures in preparation for threading
...
Conflicts:
src/libostree/ostree-repo.c
2012-05-04 16:14:28 -04:00
Colin Walters
ac38a7e1b1
core: Avoid checksumming hardlinks that point into repository
...
By default, when doing a commit, scan all of our loose objects and
build up a (device,inode) -> checksum hash. Then when we're doing a
commit, if we see a file with that (device,inode) pair, we can avoid
checksumming it.
2012-05-04 16:10:30 -04:00
Colin Walters
0fc291b954
core: Drop --link-cache option, we do it by default now for archives
2012-05-04 16:10:30 -04:00
Colin Walters
27358a8de6
core: [INCOMPATIBLE CHANGE] Re-split archive content into .file and .filecontent
...
This will allow us to use hard links again for user-mode checkouts,
rather than the hackish link cache. It was pretty silly anyways to
have file objects be stored with just a small metadata header
prepended, but uncompressed.
Either they should be hardlinkable, or compressed (in pack files).
2012-05-04 16:10:30 -04:00
Colin Walters
3321fa08d7
core: Handle zero-sized archives, improve fsck error message
2012-05-04 13:40:25 -04:00
Colin Walters
8d926c3e36
core: Add valgrind framework, plug various memory leaks
2012-05-04 10:04:32 -04:00
Colin Walters
7ce587da30
core: Optimize commits to raw repositories
...
Avoid creating a temporary intermediate file in the case where we have
the total object length available.
2012-05-04 06:15:47 -04:00
Colin Walters
67f61976f4
core: Clean up object storage API
...
Rather than passing xattr/file_info for all objects, change the API to
assume we're passing the defined object stream for each type. Namely,
for OSTREE_OBJECT_TYPE_FILE, we're now giving the "archive file" data.
This significantly cleans up the code for committing to archive mode
repositories, at the cost of having to (at present) create an
intermediate temporary file when committing to raw repositories.
2012-05-03 19:59:13 -04:00
Colin Walters
749bf56917
core: Fix gcc uninitialized-variable warning
2012-05-01 18:53:00 -04:00
Colin Walters
8d6bdaedfe
core: Fix 32/8 bit confusion in pack index listing
2012-05-01 17:44:14 -04:00
Colin Walters
da3b17be1e
core: Fix uninitialized variable
2012-04-26 11:52:26 -04:00
Colin Walters
5947b5b145
core: Add ability for repositories to have a "parent"
...
This will be useful for ostbuild; a user can create their own archive
mode repository which transparently inherits objects from the
root-owned one in /ostree.
2012-04-18 23:12:34 -04:00
Colin Walters
255b7d1309
core: Pull pack files individually
2012-04-16 18:17:11 -04:00
Colin Walters
3f02a1fd56
core: Cache pack indexes
...
This is a 10x speedup on heavy users of ostree_repo_find_object(),
such as ostree-pull.
2012-04-16 18:17:06 -04:00
Colin Walters
262f426997
core: Add --link-cache option to checkout
...
This is a convenient way to have a lookaside directory of hard links,
which can greatly speed up checkouts. In the future we probably want
to push this down into the repository.
2012-04-13 14:33:38 -04:00
Colin Walters
38ef75e6e0
core: Re-unify on one OSTREE_OBJECT_TYPE_FILE
...
Having the archived vs not distinction in the object system wasn't
useful in light of pack files. In fact, we should probably move
towards generating a pack file per commit by default.
2012-04-11 22:27:59 -04:00
Colin Walters
f15c184584
core: Clean up checksumming
...
Don't expose GChecksum in APIs. Add a new stream class which allows
us to pass an input stream somewhere, but gather a checksum as it's
read.
Move some bits of the internals towards binary csums.
2012-04-11 22:04:06 -04:00
Colin Walters
fa4cbc8b89
core: Drop wrapping of metadata variants
2012-04-11 22:04:05 -04:00
Colin Walters
5a82b141ae
core: Split pack files into data/metadata
...
This will allow us to download metadata first (separately), and in the
future we can have an improved metadata pack format that compresses
heavily.
2012-04-11 22:04:05 -04:00
Colin Walters
11c0fbc738
core: Switch to 'ay' for checksums, drop versions/metadata
2012-04-11 22:04:00 -04:00
Colin Walters
0e8149eb83
core: Clean up checksum API
...
We want to move towards guchar * for binary checksums.
2012-04-11 19:54:55 -04:00
Colin Walters
d63ec5c2ff
core: Fix uninitialized variables
2012-04-11 19:54:30 -04:00
Colin Walters
8b6bf09d7a
core: Port libostree to local alloc
2012-04-09 15:57:46 -04:00
Colin Walters
72398ab62c
core: Fix xattr API to conform to coding style
2012-04-09 15:56:27 -04:00
Colin Walters
3c39a5bfa7
core: Fix a minor memory leak
2012-04-09 14:18:00 -04:00
Colin Walters
bae584c64a
core: Associate branches with remotes, move trigger runs into checkout
...
Also add --atomic-retarget option to checkout. This does the magical
symlink dance to do atomic swaps between trees.
2012-04-03 23:46:34 -04:00
Colin Walters
3f23ac156a
core: Clean up stale packfiles
2012-04-03 23:46:34 -04:00
Colin Walters
8792007bc1
core: Validate structure of objects in fsck
2012-04-03 08:52:58 -04:00
Colin Walters
9c7a47434d
core: Drop "staged" state for objects, refactor pull to split metadata/data
...
Previously we had the "staged" state to ensure we didn't add a commit
object without the associated dirtree, etc. However it's
easier/better to just ensure in the pull command that we have all
referenced objects.
Also change pull to download metadata first. This will allow adding
a progress bar later.
2012-04-02 19:52:22 -04:00
Colin Walters
d8173a5125
core: Move commit/dirtree traversal into library
...
So it can more easily be reused by other builtins.
2012-04-02 18:32:40 -04:00
Colin Walters
a0b7d94cb6
core: Fix a few memory leaks
2012-04-02 18:32:40 -04:00
Colin Walters
ea4d2be39c
core: Return input stream for raw repositories too
...
This bug is more obvious when fsck is rebased on top of
ostree_repo_load_file().
2012-04-02 18:32:40 -04:00
Colin Walters
b971ce0dfa
core: Only depend on GLib 2.30
2012-04-02 13:42:09 -04:00
Colin Walters
80bdfd7f42
core: Add pack files
...
This concept is also directly inspired by git. At present, our
implementation is quite similar, except we don't have delta
compression.
2012-03-31 11:51:47 -04:00
Colin Walters
70afd6011f
core: Add helper functions to convert (checksum, objtype) pair to/from string
2012-03-14 09:37:00 -04:00
Colin Walters
db93c43255
core: Fix "cat" crashing when it should have returned ENOENT
2012-03-08 12:10:58 -05:00
Colin Walters
76bc35186e
core: Add --union mode to checkout
...
This is another step towards ostbuild using this instead of the
"compose" builtin.
2012-03-06 11:59:06 -05:00
Colin Walters
83fb6d56e1
core: Don't call unlink() on directory if it already exists
...
If we fail to make a directory because it exists, we shouldn't call
unlink() on it.
2012-03-06 11:59:06 -05:00
Colin Walters
1513f29495
core: Pull diff functionality out into "diff" builtin
...
There's no good reason for this to be in core when it's only in use by
the diff builtin.
2012-03-06 11:59:06 -05:00
Colin Walters
1f7d776a18
core: Improve checkout API
...
Expose the lower-level functionality in libostree, change checkout
builtin to be a higher level driver. This will allow us to more
easily improve the "checkout" builtin..
2012-03-06 11:59:06 -05:00
Colin Walters
f44b8aca44
core: Add ostree-types.h
...
This allows us to have circular references between the headers.
2012-03-06 11:59:06 -05:00