Colin Walters
ee2b66ef00
core: Make a helper function private
...
Nothing was using this, so make it private.
2013-09-04 07:53:02 -04:00
Colin Walters
2534714501
core: Make ostree_write_variant_with_size() private
...
More work making the file formats and utilities private.
2013-09-04 07:49:41 -04:00
Colin Walters
0d72168961
libostree: Make the format of file objects private
...
It's now isolated almost entirely to ostree-core.c, except
ostree-repo.c needs to know how to create archive-z2 file headers. So
give it a private API for that.
2013-09-03 18:43:42 -04:00
Colin Walters
00c352ba67
libostree: Delete some leftover remnant API for archive files
2013-08-17 14:08:04 -04:00
Colin Walters
0f9d7d2179
libostree: More gtk-doc updates for ostree-core
2013-08-17 10:54:00 -04:00
Colin Walters
abe2320039
libostree: Fix many gtk-doc warnings
2013-08-17 08:41:31 -04:00
Colin Walters
c3121b52bc
libostree: Document more core macros
2013-08-17 08:21:04 -04:00
Colin Walters
17560a57bf
Add gtk-doc support
...
Yes, it's really me. Colin Walters. Writing documentation. You
don't need to do a DNA test.
2013-08-16 22:56:12 -04:00
Stef Walter
5efb8e86e9
Add ostree_commit_get_parent() to get parent from variant
...
https://bugzilla.gnome.org/show_bug.cgi?id=705973
2013-08-15 06:52:53 +02:00
Colin Walters
d9f59c6fd5
core: Add API to convert checksum -> csum in place
...
We already have the opposite, and this will be used in some
places to avoid a malloc.
https://bugzilla.gnome.org/show_bug.cgi?id=706031
2013-08-14 19:49:54 -04:00
Colin Walters
61773f6ca4
core: Add a comment header about the format
...
This should probably be a design document or something, but this is
useful for now.
2013-08-14 17:35:46 +02:00
Colin Walters
71c4ea67f7
core: Clean up temporary file creation
...
Use new libgsystem API, don't expose the repo's tmpdir.
2013-08-06 23:58:29 +02:00
Colin Walters
a5d43bb959
Install a shared library
...
This required a fair bit of surgery because previously ostree.h
included otutil.h, but that's supposed to be a private library.
2013-07-26 19:25:07 -04:00
Colin Walters
5ad0671cd2
Switch to #pragma once for headers
...
It's just less tedious, and we're GCC/LLVM specific anyways.
2013-07-09 18:53:22 -04:00
Colin Walters
1ba852ebaa
core: Add "refspec" which is remote:refname
...
This allows an unambiguous reference; otherwise, it was too easy to
have confusion between local heads and remotes.
2013-06-29 12:51:29 -04:00
Colin Walters
a821420711
core: Add API to convert csum -> checksum without malloc()
...
Just doing some profiling, this was in the top malloc() callers.
2013-02-23 11:02:56 -05:00
Colin Walters
0d04738801
core: Rework archive-z mode to have header be uncompressed
...
This is an incompatible change to archive-z, thus it is now renamed to
archive-z2 and ostree will no longer parse archive-z.
I noticed in perf that we were spending some time zlib-decompressing
file headers, which is just inefficient. Rather than do this, keep
the headers uncompressed, and just zlib-compress content.
2012-10-14 17:10:57 -04:00
Colin Walters
40ce43036f
Add an archive-z repository mode
...
This is where loose content objects are stored as one compressed file,
instead of the two separate ones for regular archive mode. This mode
would be suitable for HTTP servers, beause only one HTTP request is
necessary, and the result would be compressed.
2012-09-23 19:23:45 -04:00
Colin Walters
2a0601efc7
core: Drop packfiles as they are now
...
They're not a large efficiency win at the moment, because we don't
do any delta compression.
At the moment, they simply served to compress data, but we will change
the archive mode to do that by default.
2012-09-23 16:02:03 -04:00
Colin Walters
cbd4ade053
core: Switch to using mkdtemp() so we only depend on GLib 2.28
...
We claim to build against 2.28, let's actually make it work.
2012-05-29 22:34:11 -04:00
Colin Walters
f438d9aaa6
core: Drop some dead temporary file code
2012-05-29 22:09:31 -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
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
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
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
72398ab62c
core: Fix xattr API to conform to coding style
2012-04-09 15:56:27 -04:00
Colin Walters
8792007bc1
core: Validate structure of objects in fsck
2012-04-03 08:52:58 -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
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
b783ebc189
core: Add API to validate rev
2012-02-27 08:37:37 -05:00
Colin Walters
9a71ab187d
core: INCOMPATIBLE CHANGE: Split archive files in two parts (meta and content)
...
This will allow us to have hardlink checkouts of archives. A key use
case here is an archive repo of an OS (with root-owned files etc.)
where we want to do builds in a user tree.
A positive side effect of doing things this way is that now the SHA256
checksums for a given file should be identical regardless of whether
it's stored in an archive or bare repository.
2011-12-15 13:14:06 -05:00
Colin Walters
8ab2296a70
core: Add utility functions to convert a OstreeObjectType to/from a string
2011-12-15 13:09:51 -05:00
Colin Walters
b8e8b58585
core: INCOMPATIBLE CHANGE: Name repo files with their type (e.g. .dirmeta)
...
This makes inspection easier. Internally the code gets simpler because
metadata and files are more unified; there is just one object type.
2011-12-12 12:29:09 -05:00
Colin Walters
f6117de8d3
core: s/pack/archived/
...
This completes the rename from the previous commit.
2011-12-08 17:45:37 -05:00
Colin Walters
9d39517554
core: Add _from_input variant of checksum API
2011-12-05 10:28:42 -05:00
Colin Walters
d1950da1a0
core: Further unify API to create files
...
We now have just one place which writes to the filesystem. Wrap a
temporary file allocation API on top of that.
2011-12-02 13:42:25 -05:00
Colin Walters
7fc625c967
core: Move pack file parsing into core, add ostree_create_file_from_input() API
...
This moves us closer to consistently passing around a triple of:
(GFileInfo *info, GVariant *xattrs, GInputStream *content)
Which will help the libarchive work.
2011-12-02 10:11:09 -05:00
Colin Walters
f98e2a2ddb
core: Tweak dir metadata importing code for libarchive work
...
This will allow us to share a bit more code.
2011-12-01 19:45:00 -05:00
Colin Walters
177d845f5b
core: Modify pack file importer to also optionally checksum
...
For future work on importing from an archive.
2011-12-01 19:25:35 -05:00
Colin Walters
702c38739e
core: Drop some dead code from packfile writing, expose GInputStream API too
...
We never actually dropped into the bits to write metadata as packfiles,
because such a thing doesn't exist.
Also add a GInputStream-based API for writing packfiles.
2011-11-30 22:15:05 -05:00
Colin Walters
b0b0ffcd61
core: Add asynchronous checksum API, use it in checksum builtin
2011-11-27 17:21:04 -05:00
Colin Walters
aa69aae94e
core: Move merge dirs code into gio utils
2011-11-21 15:04:07 -05:00
Colin Walters
7d63ad5ae8
core: Switch to GFile* for unpacking and storing objects
2011-11-18 16:14:01 -05:00
Colin Walters
7f64d5cec7
core: Make checksum API also operate on directories
2011-11-18 06:34:54 -05:00