Alexander Larsson
d69a6a20f0
Use ExportChanges() in runtime.Diff()
...
This code was duplicated in two places, one which was unused. This
syncs the code and removes the unused version.
2013-11-15 09:49:42 +01:00
Alexander Larsson
006e2a600c
ApplyLayer() use RemoveAll to handle removing directories
...
rmTargetPath can be a directory, so we have to use RemoveAll() or we
will fail to whiteout non-empty directories.
2013-11-14 22:56:18 +01:00
Michael Crosby
eace2dbe1d
Merge branch 'dm-plugin-new-ChangesDirs' of https://github.com/alexlarsson/docker into alexlarsson-dm-plugin-new-ChangesDirs
...
Conflicts:
archive/changes.go
2013-11-14 12:23:01 -08:00
Guillaume J. Charmes
50d80a8938
Merge pull request #17 from alexlarsson/dm-plugin-whiteout-directory
...
archive.ApplyLayer() - handle directory whiteouts
2013-11-12 12:16:30 -08:00
Alexander Larsson
6f3c32eb18
archive.ApplyLayer() - handle directory whiteouts
...
When directories are white-outed we can get called with the previously
removed directories. Handle this with os.IsNotExist(error).
2013-11-12 21:14:54 +01:00
Michael Crosby
5d9723002b
Allow drivers to implement ApplyDiff in Differ interface
2013-11-11 19:09:57 -08:00
Michael Crosby
2c7f50a77d
Add ability to exclude files from tar
2013-11-11 14:30:38 -08:00
Alexander Larsson
b6ef4bc952
archive.ChagesDir() - faster and better implementation
...
This replaces the current version with the latest version from the
dm branch. Advantages in this version:
We only scan each directory tree once, which means less i/o and less chance
of container changes inbetween the two scans causing inconsistencies.
We avoid comparing some fields for change detection:
* Inode
* size-in-blocks
These can change during a copy operation (e.g. in the dummy backend)
without needing to actually reflect a change in content or metadata.
* Ctime
Any copy operation will create a new Ctime value, and there is no
API to change it to the "source" value.
* size for directories
The size of a directory doesn't have to be the same just because you
recreated the same content as another director. Internal details in
the filesystem may make these different with no "real" change.
2013-11-11 14:51:19 +01:00
Solomon Hykes
78ef0bd998
Merge pull request #6 from alexlarsson/fix-ApplyLayer-remove
...
archive.ApplyLayer() remove files recursively
2013-11-08 11:46:55 -08:00
Solomon Hykes
99210c9c6e
Don't rely on drivers for diff and export
2013-11-08 02:48:52 +00:00
Solomon Hykes
9ae4bcaaf8
Move Change to the archive package, and fix a leftover merge in
...
Container.Inject()
2013-11-08 00:45:07 +00:00
Solomon Hykes
f1127b9308
gofmt
2013-11-07 23:58:03 +00:00
Alexander Larsson
484804abff
archive.ApplyLayer() remove files recursively
...
Some aufs metadata are directories, and whiteouts can be for
directories, so use os.RemoveAll() for these.
2013-11-07 22:46:44 +01:00
Solomon Hykes
318dd33fb7
archive.ApplyLayer(): parse a tar archive as a standard aufs-compatible diff, and apply it on a directory
2013-11-01 05:06:35 +00:00
Solomon Hykes
36c7a7ae94
Partial merge of devmapper/ in order to integrate it as a backend
...
plugin.
The merge is inert, in other words the devmapper code is not called
and the primary aufs backend is untouched.
2013-11-01 04:24:17 +00:00
Michael Crosby
96d1e9bb5a
Move archive.go to sub package
2013-10-31 16:57:45 -07:00