diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-03-06 13:28:39 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-03-06 14:52:03 -0800 |
commit | 689fe36030537ab57d3a5a1a55baf86675d5ecdb (patch) | |
tree | 4cd3ddc4fe114a288267e1c1d4cdd5c5badca246 /subsurface.pro | |
parent | c64227efe02868438c7afe2339c89014fc285ee2 (diff) | |
download | subsurface-689fe36030537ab57d3a5a1a55baf86675d5ecdb.tar.gz |
Initial implementation of git save format
This saves the dive data into a git object repository instead of a
single XML file.
We create a git object tree with each dive as a separate file,
hierarchically by trip and date.
NOTE 1: This largely duplicates the XML saving code, because trying to
share it seemed just too painful: the logic is very similar, but the
details of the actual strings end up differing sufficiently that there
are tons of trivial differences.
The git save format is line-based with minimal quoting, while XML quotes
everything with either "<..\>" or using single quotes around attributes.
NOTE 2: You currently need a dummy "file" to save to, which points to
the real save location: the git repository and branch to be used. We
should make this a config thing, but for testing, do something like
this:
echo git /home/torvalds/scuba:linus > git-test
to create that git information file, and when you use "Save To" and
specify "git-test" as the file to save to, subsurface will use the new
git save logic to save to the branch "linus" in the repository found at
"/home/torvalds/scuba".
NOTE 3: The git save format uses just the git object directory, it does
*not* check out the result in any git working tree or index. So after
you do a save, you can do
git log -p linus
to see what actually happened in that branch, but it will not affect any
actual checked-out state in the repository.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'subsurface.pro')
-rw-r--r-- | subsurface.pro | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/subsurface.pro b/subsurface.pro index 81cb9061e..e664f6a75 100644 --- a/subsurface.pro +++ b/subsurface.pro @@ -115,6 +115,7 @@ SOURCES = \ qt-ui/subsurfacewebservices.cpp \ qt-ui/tableview.cpp \ qt-ui/exif.cpp \ + save-git.c \ save-xml.c \ sha1.c \ statistics.c \ |