Commit Graph

70 Commits

Author SHA1 Message Date
Colin Walters e36c48f923 core: Fix compose tests 2012-01-11 14:33:13 -05:00
Colin Walters 0044ff133a core: Add from-file argument to compose
We don't want to have to pass a million arguments.
2012-01-10 18:55:00 -05:00
Colin Walters 95d0e94370 core: Make --recompose skip passed arguments if they were already composed
This allows us to do "--recompose -b foo bar baz" and add bar and baz
iff they weren't already there.
2012-01-06 14:04:39 -05:00
Colin Walters 5119cbdb7c core: Add --no-xattrs option for commit
Will be used by ostbuild.
2012-01-05 19:10:26 -05:00
Colin Walters af62271eed tests: Fix metadata test, we removed the spurious = 2011-12-27 10:31:23 -05:00
Colin Walters 1687f3efa8 core: Add --add-metadata-string option for commit
A convenience function for the common case of slapping a string into
the metadata.
2011-12-23 07:17:46 -05:00
Colin Walters 2e48474263 core: Fix libarchive test count 2011-12-23 07:12:03 -05:00
Colin Walters 3e59cc1305 core: Add --tar-autocreate-parents option for commit
The tar files we're making of artifacts don't include parent
directories.  Now we could change the builder to make them, but we can
also just autocreate them on import.  Mode 0755 with no xattrs seems
OK here.
2011-12-23 06:49:04 -05:00
Colin Walters dab4611263 core: Add --skip-if-unchanged option for commit
There's not much point for OS builds to have "empty" commits.
2011-12-22 18:47:30 -05:00
Colin Walters 3292dcb6d6 core: Allow / in ref names like git does
Using / is nice basically.
2011-12-22 15:59:47 -05:00
Colin Walters 8a499c4a2a core: Add --recompose option for compose
This will allow us to easily regenerate a compose without passing the
full list of components each time.
2011-12-22 10:29:16 -05:00
Colin Walters e9fd921afe core: Change compose to operate purely in-memory
This is *significantly* faster than checking out each branch into the
real filesystem, then importing it again.
2011-12-21 21:42:13 -05:00
Colin Walters add55849ab core: Allow specifying a previous commit tree as a basis for a new commit
It's pretty trivial to map a previously existing commit tree into a
mutable tree too.  While we're here change the command line arguments
for commit so that we can now properly overlay any combination of
directory, commit, or tarfile.
2011-12-21 20:10:10 -05:00
Colin Walters bdfde03b61 core: Support committing multiple tarballs in the same transaction
ostbuild will generate two artifacts: foo-runtime.tar.gz and
foo-devel.tar.gz in the general case.  When committing to the devel
tree, it'd be lame (i.e. slower and not atomic) to have to commit
twice.
2011-12-20 17:21:15 -05:00
Colin Walters 11d57d63e3 core: Support --owner-uid and --owner-gid options for commit
This allows us to more easily import user-built tarballs into
a root-owned OSTree repo.
2011-12-18 17:36:46 -05:00
Colin Walters a287274935 tests: Ensure we quote grep pattern
Otherwise we fail if the pattern starts with -
2011-12-18 17:35:30 -05:00
Colin Walters 134283afbf core: In user mode checkouts of archives, use hard links
Now that we've done all the gyrations to separate content from
metadata in archives, we can just hard link when doing user checkouts.
2011-12-15 16:12:31 -05:00
Colin Walters 78f435d245 core: Fix handling of hardlinks for tar commits
We were creating files with the wrong name.  Add a test.
2011-12-04 14:38:30 -05:00
Colin Walters 17cc772cf3 core: Support for committing from any libarchive-supported format
We really want the ability to take a .tar.gz and directly import
it into a repository, without creating a temporary filesystem tree.

First, doing it this way is significantly faster.  Also, this allows
us to handle importing tar files with e.g. uid 0 files into packed
repositories as non-root, which is very useful for tests and builds.
2011-12-04 14:08:55 -05:00
Colin Walters e8865af09e core: Split pull functionality into separate ostree-pull binary
This is to avoid everything depending on libsoup.
2011-11-30 09:21:14 -05:00
Colin Walters 7e32bc6cd7 core: Make commit always operate on directory contents, not file list
This simplifies things significantly, at some cost in flexibility.
We'll later add the ability to e.g. filter out files by regular
expression.
2011-11-28 12:57:25 -05:00
Colin Walters a042731673 core: Add local-clone builtin
This is useful for converting between e.g. archive and non-archive
repositories.
2011-11-18 18:50:53 -05:00
Colin Walters 12f2d89174 core: Add checksum builtin
This necessitated reworking things so that builtins can specify no
--repo is required.
2011-11-18 07:29:13 -05:00
Colin Walters b8cef545d1 core: CHANGE CHECKSUM ALGORITHM, port checksum API to GFile
This commit originally was to port ostree_stat_and_checksum_file() to
GFile*, but I noticed that the checksum code was reading data in host
endianness.  Fix that while we're here.

This invalidates all existing repositories.
2011-11-17 19:32:01 -05:00
Colin Walters 8e9b9c59d6 core: Fix pull to actually download files too 2011-11-17 10:40:55 -05:00
Colin Walters 4a26be1bef core: diff: Correctly handle files changing type 2011-11-16 23:09:32 -05:00
Colin Walters e759c1cce5 tests: Fix number of tests 2011-11-16 22:51:56 -05:00
Colin Walters 9fb390664a core: Implement diff command 2011-11-16 18:16:41 -05:00
Colin Walters 659c99417c Switch to LGPLv2+ for most code
Since we're making a shared library, it should be usable by non-GPL
apps.

To allow more code sharing between the core and the tests, move them
to the LGPLv2+ too.

A few bits of test and other code are still GPL.  See the new COPYING
file for more information.
2011-11-10 13:17:04 -05:00
Colin Walters a103218fd1 core: Support named pipes
This is mainly useful for sysvinit's "/dev/initctl".
2011-11-09 09:08:58 -05:00
Colin Walters 1d23e4b8e8 core: Actually return an error from fsck
And add some tests that fsck reports an error.
2011-11-09 08:27:47 -05:00
Colin Walters 8bda1c6a84 tests: Add OT_TEST_DEBUG environment variable 2011-11-09 05:29:53 -05:00
Colin Walters 2be1407622 commit: Drop the ability to --add --remove
This forces us to have two code paths for doing a commit; let's just
drop this ability for now since it's not very useful.
2011-11-08 18:58:01 -05:00
Colin Walters ea6a761265 Reorder compose and pull tests 2011-11-04 16:14:12 -04:00
Colin Walters 9877f7eea3 tests: A few more compose tests 2011-11-04 16:13:21 -04:00
Colin Walters ed90bf77cc core: Make compose commits contain metadata about their composition
This allows tracking of their history better.
2011-11-04 15:59:08 -04:00
Colin Walters d2cb5fb49a core: Support actually adding metadata to commits 2011-11-04 15:59:08 -04:00
Colin Walters 889f454cb1 tests: Make GLib warnings fatal 2011-11-04 15:59:08 -04:00
Colin Walters dd37e46172 tests: Output errors to stderr, so they show up under "prove" 2011-11-04 12:31:40 -04:00
Colin Walters b15eee447a commit: Support reading current directory rather than requiring 'find'
Implement 'find' internally.
2011-11-04 10:53:47 -04:00
Colin Walters d6b3fb5118 core: Take --repo as the first argument
I kept doing this over and over...it feels more natural.  The "prefix"
thing was (almost) unused anyways, and it was easy enough to replace.
2011-11-03 23:08:28 -04:00
Colin Walters 3b61a21c0f tests: Add some more tests of compose content 2011-11-03 22:35:42 -04:00
Colin Walters 69f104c558 core: Make compose its own builtin
This will allow more flexibility down the line.
2011-11-03 22:32:06 -04:00
Colin Walters d23f203108 core: Add ostree checkout --compose
This allows merging e.g. multiple artifact trees into one big tree.
2011-11-03 21:50:00 -04:00
Colin Walters 2b00cf3810 core: add ^ for rev-parse 2011-11-02 13:22:13 -04:00
Colin Walters 796dc7fc57 core: remove stub http backend for now
The plain http pull is probably good enough.
2011-11-02 12:43:25 -04:00
Colin Walters 3ceec68a54 pull: Properly clean up after test 2011-11-01 12:35:50 -04:00
Colin Walters e125dffbfd misc test fixes 2011-11-01 08:49:01 -04:00
Colin Walters c910f29c00 Consolidate tests
Rather than having a ton of separate tests, be like git and have
a "basic" test that does a lot of the, well, basics.
2011-10-31 22:42:14 -04:00
Colin Walters a160a2a5fa Add support for pulling from remote archives
This necessitated a large set of changes.

We now support an "archive" mode for repositories.  In this mode,
files are stored "packed" rather than hard linked.  This allows one to
e.g. store an OSTree repository with root-owned files as non-root.  It
is also used as the basis for serving repositories via HTTP.

While doing this I realized that GVariant is endianness-dependent; I
decided to just store all data in big endian.
2011-10-31 20:28:47 -04:00