Joe Thornber
642740e1b6
Merge branch '2016-03-08-cache-writeback' into v0.7-devel
2016-06-14 16:30:16 +01:00
Ming-Hung Tsai
e985b8b3be
[thin_scan][thin_ll_*] fix the data type for getopt_long return value to int
...
For toolchains represent char as unsigned type
2016-05-20 00:54:31 +08:00
Ming-Hung Tsai
55ecf87439
[thin_ll_restore] fix the data type of blocknr to uint64_t
2016-05-20 00:53:51 +08:00
Joe Thornber
3fb4177656
[thin_trim] more bug fixing
2016-04-08 17:07:04 +01:00
Joe Thornber
3c02151a4f
Merge branch 'master' into v0.7-devel
...
Conflicts:
persistent-data/file_utils.cc
persistent-data/file_utils.h
2016-04-05 13:13:10 +01:00
Thanos Makatos
431f2ab50a
allow tmakatos (a binary) emitter to be statically compiled
...
It is trivial to implement static compilation of the rest of the 3rd party
emitters.
2016-04-06 15:56:09 +03:00
Joe Thornber
866986b883
[thin_trim] FInally get thin_trim emitting the right discards
2016-04-05 12:27:00 +01:00
Ming-Hung Tsai
f20e2a0f40
[thin_check] cleanup: use metadata_counter
2016-04-05 16:09:58 +08:00
Ming-Hung Tsai
c8aabf2948
[metadata_counter] fix repeated counting of trees
2016-04-05 16:09:58 +08:00
Ming-Hung Tsai
c6c5086068
[thin_ll_dump] cleanup: use btree_node_checker
2016-04-05 16:09:58 +08:00
Joe Thornber
2288fc4565
Merge branch 'master' into 2016-02-03-fix-thin-trim
2016-03-31 16:39:54 +01:00
Joe Thornber
c7813e07e4
[thin_dump] --format custom=<shared lib>
...
Allow people to use their own emitters held in a shared library.
Put a trivial emitter in contrib/ as an example.
2016-03-24 13:59:08 +00:00
Joe Thornber
872a933072
[thin_dump] start refactoring format code
2016-03-23 10:52:04 +00:00
Joe Thornber
4370f048c0
[thin_dump] --skip-mappings
2016-03-22 15:01:37 +00:00
Joe Thornber
ad4fd30a27
Merge branch 'v0.7-devel' of github.com:jthornber/thin-provisioning-tools into v0.7-devel
2016-03-22 14:47:11 +00:00
Joe Thornber
a3f4940f1e
[thin_dump] --dev-id
2016-03-22 14:46:33 +00:00
Joe Thornber
8b2ec7a3aa
Merge branch 'master' into v0.7-devel
...
Conflicts:
VERSION
persistent-data/space-maps/disk.cc
persistent-data/space-maps/disk.h
2016-03-22 12:04:51 +00:00
Joe Thornber
b0e2d0e6a0
[thin_repair, metadata] Try harder to get the number of data blocks
...
when opening the metadata.
2016-03-21 17:17:57 +00:00
Joe Thornber
2cf0c84ce3
[thin_repair] we need to read the space maps after all to get the data
...
volume size.
2016-03-21 15:36:49 +00:00
Joe Thornber
e5363621ba
Merge pull request #51 from mingnus/v0.6.2-repairtool
...
[thin_ll_dump] Fix option -m to accept optional argument
2016-03-20 14:36:10 +00:00
Ming-Hung Tsai
055623b90f
[thin_ll_dump] Fix option -m to accept optional argument
2016-03-19 13:59:38 +08:00
Joe Thornber
0bc126fbeb
Merge branch 'v0.7-devel' into 2016-03-08-cache-writeback
...
Conflicts:
thin-provisioning/commands.h
2016-03-08 16:00:31 +00:00
Joe Thornber
5cbef4f6ef
[thin_ll_*] move these to dev tools
2016-03-08 15:52:12 +00:00
Joe Thornber
b8659853bb
[cache_writeback] stub cache_writeback
2016-03-08 15:27:22 +00:00
Seth Jennings
38f67676e4
get stats in bytes
2016-03-07 15:42:24 -06:00
Joe Thornber
e670a27638
Merge pull request #46 from mingnus/v0.6.2-repairtool
...
Code cleanup for new dev-tools
2016-03-06 16:15:35 +00:00
Ming-Hung Tsai
220ece1dc8
[thin] Cleanup: move methods before data member declaration
2016-03-06 23:21:09 +08:00
Ming-Hung Tsai
8232feb855
[thin_scan] Cleanup: remove unnecessary variables
2016-03-06 11:42:38 +08:00
Ming-Hung Tsai
9f15c5589f
[thin_scan] Cleanup: move methods before data member declaration
2016-03-06 11:42:38 +08:00
Joe Thornber
752163b681
Merge pull request #45 from mingnus/v0.6.2-repairtool
...
Minor fixes for new dev-tools
2016-03-05 15:36:12 +00:00
Ming-Hung Tsai
6fb5f8241d
[thin_scan] Factor out range manipulation code
2016-03-05 22:31:09 +08:00
Ming-Hung Tsai
400613305c
[thin_ll_restore] Cleanup: use device_details' constructor
2016-03-05 14:12:58 +08:00
Ming-Hung Tsai
08219a60b6
[thin] Add default constructor to struct device_details
2016-03-05 14:12:13 +08:00
Joe Thornber
8676198e76
[file_utils] rename get_nr_blocks() -> get_nr_metadata_blocks() and introduce get_nr_blocks()
2016-03-04 10:43:58 +00:00
Joe Thornber
286f70ceac
Merge remote-tracking branch 'remotes/github-m-h-tsai/v0.6.2-repairtool' into 2016-02-29-mingus-merge
...
Conflicts:
Makefile.in
VERSION
thin-provisioning/commands.cc
thin-provisioning/commands.h
thin-provisioning/thin_delta.cc
2016-02-29 10:29:28 +00:00
Ming-Hung Tsai
08a7093cd5
[thin_ll_dump][thin_ll_restore] first draft
2016-02-27 15:24:28 +08:00
Ming-Hung Tsai
b05b9aa227
[thin_scan] first draft
2016-02-27 15:24:14 +08:00
Ming-Hung Tsai
80783e7729
Add metadata_counter.{h,cc}
2016-02-27 15:23:06 +08:00
Ming-Hung Tsai
778c153c1e
[block-cache] Add check_raw() to bcache::validator
2016-02-27 15:21:13 +08:00
Ming-Hung Tsai
992ad02ce9
[restore_emitter] Recount device_details::mapped_blocks_
2016-02-27 15:20:56 +08:00
Ming-Hung Tsai
ced9929ca6
[metadata_dumper] Support dump a bottom-level data mapping tree
2016-02-27 15:20:31 +08:00
Ming-Hung Tsai
7ec47158b5
[emitter] Preserve the flags and version entries in superblock
2016-02-27 15:20:02 +08:00
Ming-Hung Tsai
b47c02ed8b
Show the wanted checksum in bad-superblock-checksum exception
2016-02-27 15:04:08 +08:00
Joe Thornber
e78de5d3ad
[thin_show_metadata] ncurses render
2016-02-26 12:50:17 +00:00
Joe Thornber
c4215c0cf6
[thin_show_metadata] thin_show_blocks.cc -> thin_show_metadata.cc
2016-02-24 15:32:05 +00:00
Joe Thornber
0349956015
Merge branch 'low_level_examine_metadata' into merge-show-blocks
...
Conflicts:
.gitignore
Makefile.in
persistent-data/space-maps/disk.cc
2016-02-24 15:24:43 +00:00
Joe Thornber
a5a53648c9
Merge branch '2015-08-19-thin-show-duplicates' into merge-thin-ls
...
Conflicts:
Makefile.in
block-cache/block_cache.h
main.cc
thin-provisioning/commands.h
2016-02-24 14:31:51 +00:00
Joe Thornber
5f879237f5
[build] add --enable-dev-tools configure flag
...
This builds tools that I want to keep in the same code base, but not
intended for general release.
2016-02-24 13:41:43 +00:00
Joe Thornber
0ec27c7835
[thin_delta] backport cherry-picked changes to c++98
2016-02-18 11:37:51 +00:00
Joe Thornber
a21cee55c7
[thin-delta] fix bug in earlier refactor
2016-02-18 11:34:19 +00:00
Joe Thornber
2461cdce43
[thin_delta] tidy up the comparison function
2016-02-18 11:34:09 +00:00
Joe Thornber
f193a70a31
[thin-delta] fix bug in earlier refactor
2016-02-18 11:31:43 +00:00
Joe Thornber
1f10017635
[thin_delta] tidy up the comparison function
2016-02-17 15:17:02 +00:00
Joe Thornber
7c2b3fb671
[thin_delta] Fix bug when comparing the mappings
2016-02-17 14:35:11 +00:00
Joe Thornber
0d510924d5
[thin_delta] set nr_data_blocks to zero if there are no space maps.
...
ie. a metadata_snap is being used.
2016-02-17 14:35:02 +00:00
Joe Thornber
768bbd2715
[thin_delta] Fix bug when comparing the mappings
2016-02-17 11:44:44 +00:00
Joe Thornber
09ce099c2f
[thin_delta] set nr_data_blocks to zero if there are no space maps.
...
ie. a metadata_snap is being used.
2016-02-17 10:42:42 +00:00
Joe Thornber
767c39cf71
[build] switch to c++11
...
Conflicts:
Makefile.in
chunker/cache_stream.cc
chunker/cache_stream.h
thin-provisioning/thin_archive.cc
thin-provisioning/thin_show_duplicates.cc
unit-tests/Makefile.in
2016-02-16 16:45:44 +00:00
Joe Thornber
2815aeace9
[thin_repair] fix regression in thin_repair
...
When opening the corrupted metadata we don't need to touch the space
maps. This used to be achieved by pretending we were opening a
metadata snap at block 0 (superblock location). But got changed in
the recent rationalisation of the metadata constructors.
This patch introduces a bool to the metadata OPEN constructor that
says whether the space maps are needed or not.
2016-02-16 14:08:43 +00:00
Joe Thornber
6101398b02
Merge branch 'master' of github.com:jthornber/thin-provisioning-tools
2016-02-10 14:25:50 +00:00
Joe Thornber
c8c4442b2f
[thin_dump] We can't give the number of data blocks with a metadata snap.
...
No space maps.
2016-02-10 13:34:07 +00:00
Joe Thornber
0fced25b3e
[thin_dump, thin_restore] remove some dead code
2016-02-04 15:24:16 +00:00
Joe Thornber
c369045790
Merge branch 'master' of github.com:jthornber/thin-provisioning-tools
...
Conflicts:
thin-provisioning/metadata.cc
thin-provisioning/thin_trim.cc
2016-01-20 15:37:04 +00:00
Joe Thornber
f385198cfc
[thin_ls] get it working with a metadata snap
2016-01-20 14:45:38 +00:00
Joe Thornber
7a4a5aa87e
[thin_ls] fluff
2016-01-20 13:25:09 +00:00
Joe Thornber
944b9c0c57
[thin_ls] wire up -o
2016-01-20 06:59:55 +00:00
Joe Thornber
e15b11edb1
[thin_ls, base] Factor out grid_layout
2016-01-20 06:58:59 +00:00
Joe Thornber
5aaa26fe34
[thin_ls] only run pass1 if needed
2016-01-19 15:50:15 +00:00
Joe Thornber
f3e23c5417
[thin_ls] add --no-headers
2016-01-19 14:56:48 +00:00
Joe Thornber
f6f38fbc1f
[thin_ls] tweak enum names
2016-01-19 14:50:04 +00:00
Joe Thornber
8030a98bd8
[thin_ls] add MAPPED_SECTORS, EXCLUSIVE_SECTORS, SHARED_SECTORS
2016-01-19 14:43:37 +00:00
Joe Thornber
3dd45e1ceb
[thin_ls] tweak the field names
2016-01-19 14:30:13 +00:00
Joe Thornber
87d8d630f6
[thin_ls] more tidying
2016-01-19 14:16:02 +00:00
Joe Thornber
c5a1a814f3
[thin_ls] rationalise the field names by using a static array of names
2016-01-19 14:11:31 +00:00
Joe Thornber
d65bf29eb7
[thin_ls] change default fields
2016-01-19 13:54:15 +00:00
Joe Thornber
208fdd86e6
[thin_ls] add support for --format
2016-01-19 13:40:36 +00:00
Joe Thornber
7ce4e451ff
[base, thin_ls] factor out disk_units code
2016-01-19 11:40:00 +00:00
Joe Thornber
47bd31da8d
[thin_ls] more work on thin_ls
2016-01-19 11:16:25 +00:00
Joe Thornber
c3973c044c
[thin_ls] First code drop.
...
Output still needs formatting. More testing needed in dmtest.
2016-01-12 15:02:19 +00:00
Joe Thornber
c93e728ef4
[base] introduce a command type that gets registered with the app
2016-01-08 12:51:52 +00:00
Joe Thornber
a709b9718b
[thin] Make the metadata class resposible for locating metadata snapshots
2015-12-15 10:08:07 +00:00
Joe Thornber
30a3bf67d1
[thin tools] Change the metadata contructors to take a block_manager<>::ptr
...
Also check any metadata snap passed in matches what's in the superblock.
2015-12-14 15:29:57 +00:00
Ming-Hung Tsai
e528fa1972
Add BLKDISCARD definition
2015-11-27 23:38:42 +08:00
Ming-Hung Tsai
856bd95d8e
Fix the unit of superblock::metadata_block_size_ to be sector-based
2015-11-27 23:38:37 +08:00
Ming-Hung Tsai
03590d3c91
Fix bug in superblock UUID string copy
2015-11-27 23:38:27 +08:00
Joe Thornber
664841ad03
[thin_show_dups] Support fractions of a pool block size
2015-09-08 17:09:41 +01:00
Joe Thornber
c58c15e788
[thin_show_dups] move scan_with_variable_sized_chunks() into the dup detector
2015-09-08 13:17:52 +01:00
Joe Thornber
b6e3a12297
[thin_show_dups] move scan into the duplicate_detector
2015-09-07 15:40:35 +01:00
Joe Thornber
cb56b47400
[thin-show-dups] add --content-based-chunks
2015-09-04 15:27:48 +01:00
Joe Thornber
251762e6d9
[thin_show_dups] tidy up reporting
2015-09-04 15:16:49 +01:00
Joe Thornber
41a1b85c27
[thin_show_dups] take out some old assertions
2015-09-04 13:56:38 +01:00
Joe Thornber
216e5acb6c
[thin_show_dups] remove variable number of mems per chunks.
...
Too slow and not used.
2015-09-04 13:48:02 +01:00
Joe Thornber
7633c5d7ae
[thin_show_dups] get the progress bar working again
2015-09-04 10:36:39 +01:00
Joe Thornber
5d383c0293
[thin_show_dups] get the backup break working in the rolling hash
2015-09-04 10:10:41 +01:00
Joe Thornber
750ce0f47b
[thin_show_dups] variable_chunk_stream
2015-09-03 13:02:29 +01:00
Joe Thornber
d44a817c60
[thin_show_dups] Track zero blocks
2015-08-25 09:14:40 +01:00
Joe Thornber
6dd6fcb4cd
[thin_show_dups] fix bug calculating block size for linear volumes
2015-08-25 08:38:01 +01:00
Joe Thornber
10f93be8b1
[thin_show_dups] put linear branch back in
2015-08-25 08:22:16 +01:00
Joe Thornber
3470ede50b
[thin_show_dups] pull the various streams out to their own files
2015-08-24 16:55:53 +01:00
Joe Thornber
46fe4525bb
[thin_show_dups] factor out a pool stream
2015-08-24 14:29:06 +01:00
Joe Thornber
ac4104d063
add prefetching
2015-08-24 11:24:55 +01:00
Joe Thornber
c8d3ce6af5
[thin_show_duplicates] start factoring out a chunk_stream abstraction
2015-08-24 11:18:31 +01:00
Joe Thornber
d954f230fa
[thin_show_duplicates] wip
2015-08-21 13:10:49 +01:00
Joe Thornber
94636b63d7
[thin_show_duplicates] print out the percentage of duplicates
2015-08-19 13:46:02 +01:00
Joe Thornber
929a824184
[thin_show_duplicates] add --block-sectors switch
2015-08-19 13:07:56 +01:00
Joe Thornber
519cbfd855
[thin_show_duplicates] add a progress bar
2015-08-19 12:53:11 +01:00
Joe Thornber
59a622670c
[thin_show_duplicates] wip
2015-08-19 12:32:57 +01:00
Joe Thornber
dbd0c65088
[thin_show_duplicates] stub new command
2015-08-19 09:41:14 +01:00
Joe Thornber
29c2a949f4
remove a bit of debug
2015-08-13 14:56:30 +01:00
Joe Thornber
5d28c05dc3
[thin_check] detail and mapping trees weren't being counted properly for the metadata snap.
...
This could result in block counts being unexpectedly non zero.
2015-08-04 15:14:02 +01:00
Joe Thornber
7134a58134
[thin_metadata_size] use floor rather than truncl
2015-07-30 11:45:13 +01:00
Joe Thornber
3a881e9513
[thin_delta] Allow optional arg when using -m
2015-07-28 11:29:00 +01:00
Joe Thornber
93fb540bd4
[thinp tools] move find_metadata_snap to superblock.cc
2015-07-27 14:30:09 +01:00
Joe Thornber
642ae6e7c2
Tools now open the metadata device in O_EXCL mode.
...
An attempt to stop people running the tools on active metadata.
2015-07-07 13:47:00 +01:00
Joe Thornber
f85b7cef3f
thin_dump, thin_check: Fix bug in damage reporting
2015-07-03 13:00:13 +01:00
Joe Thornber
082491d140
thin_check: tidy up some unintuitive code
2015-06-22 11:13:19 +01:00
Joe Thornber
270c0f7041
[thin_check] factor out check_space_map_counts()
2015-04-08 14:07:38 +01:00
Joe Thornber
0fee897fda
[thin_check] A space map count being too high should be a NON_FATAL error.
2015-04-08 12:32:31 +01:00
Joe Thornber
20079f3d28
Pass tm's by reference
2015-04-07 13:31:45 +01:00
Joe Thornber
ee200ba85b
Merge branch 'master' into space-map-checking
2015-04-07 12:18:23 +01:00
Joe Thornber
7f643b7050
[thin] Use specific damage visitors to improve error messages.
...
There's now a damage visitor for dev_trees, mapping_trees and
single_mapping_trees.
2015-04-07 12:16:46 +01:00
Joe Thornber
f581f34be8
add comment explaining mtree_traits
2015-04-07 12:10:38 +01:00
Joe Thornber
cc44652cc3
[thin_delta] support metadata snapshots
2015-03-25 11:10:18 +00:00
Joe Thornber
0e72f772d0
[thin_delta] Add superblock and diff tags
2015-03-25 10:09:39 +00:00
Joe Thornber
45422dbf7a
[thin_delta] Mappings were being missed off from the tail of a device
2015-03-24 13:36:45 +00:00
Joe Thornber
c6ae25417b
Add missing include to thin_trim
2015-01-17 11:45:09 +00:00
Joe Thornber
fe64da2c7c
Fix these errors:
...
thin-provisioning/thin_pool.cc:206: error: reference to 'sector_t' is ambiguous
./thin-provisioning/metadata.h:40: error: candidates are: typedef uint64_t thin_provisioning::sector_t
./block-cache/block_cache.h:20: error: typedef uint64_t bcache::sector_t
thin-provisioning/thin_pool.cc:206: error: reference to 'sector_t' is ambiguous
./thin-provisioning/metadata.h:40: error: candidates are: typedef uint64_t thin_provisioning::sector_t
./block-cache/block_cache.h:20: error: typedef uint64_t bcache::sector_t
thin-provisioning/thin_pool.cc:206: error: 'sector_t' does not name a type
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
2015-01-16 10:14:28 +00:00
Joe Thornber
8e92158055
[thin_trim] first code drop.
...
No testing done as yet.
2014-11-18 16:03:03 +00:00
Joe Thornber
41354f10f5
provide << operator for optionals
2014-09-04 11:26:43 +01:00
Joe Thornber
6f8b7e2914
[all] Build a single executable
2014-08-27 14:01:31 +01:00
Joe Thornber
828f654800
[*_restore] Add progress bar to cache_restore and era_restore.
...
A lot of refactoring common code between the restore tools.
2014-08-26 13:05:21 +01:00
Joe Thornber
d17ad86a88
[*_restore] Use a little wrapper class for the expat XML_Parser to ensure it gets destroyed.
2014-08-26 11:23:29 +01:00
Joe Thornber
a7c96c0e1e
[everything] Fix circular shared pointer references.
...
We had a cycle from transaction_manager <-> space_map, and also from
the ref_counters back up to the tm.
This prevented objects being destroyed when various programs exited.
From now on we'll try and only use a shared ptr if ownership is
implied. Otherwise a reference will be used (eg, for up pointers).
2014-08-26 11:14:49 +01:00
Joe Thornber
936e14441f
Merge branch 'master' of github.com:jthornber/thin-provisioning-tools
2014-08-06 16:32:04 +01:00
Joe Thornber
1d38b390b5
Factor common code out of the xml_format files.
2014-08-06 15:29:02 +01:00
Joe Thornber
d00aef9219
[thini_restore] add a quiet option to turn off the progress monitor
2014-08-05 12:10:34 +01:00
Joe Thornber
fccc1dfcb0
[thin_restore] Add a progress monitor
2014-08-05 11:47:57 +01:00
Joe Thornber
8321bdcf59
Merge pull request #13 from bgilbert/fix-units
...
thin_metadata_size: Fix long names of units
2014-08-05 09:34:37 +01:00
Joe Thornber
7e870ea5a6
start removing block_manager<>::block
2014-07-25 14:46:51 +01:00
Joe Thornber
b32908d5c2
work in progress
2014-07-25 10:35:04 +01:00
Joe Thornber
d517684c95
Initial code drop for merging block_cache
2014-07-22 16:41:39 +01:00
Joe Thornber
e77e8715b0
Remove ambiguity between boost::uint64_t and ::uint64_t.
...
This has been causing people problems on uclibc builds.
2014-07-02 08:19:20 +00:00
Joe Thornber
e4d82d04bd
[thin_delta] Fix bug when detecting right_only mappings
2014-06-17 16:20:38 +01:00
Joe Thornber
c8f408ac3c
[thin_delta] Update the usage
2014-06-17 15:00:38 +01:00
Joe Thornber
bb57104542
[thin_delta] By default output a simpler format that ignores the data locations.
...
Most people will access the data via the thin device itself, so
there's really no need to output the locations of the data on pool
device. Doing this allows us to run together adjacent thin blocks
(even if they are not adjacent on the pool dev).
Simple format:
<same begin="0" length="1"/>
<different begin="1" length="4"/>
<same begin="5" length="1"/>
<different begin="6" length="6"/>
<same begin="12" length="1"/>
<different begin="13" length="9"/>
<same begin="22" length="1"/>
<different begin="23" length="4"/>
<same begin="27" length="1"/>
<different begin="28" length="3"/>
<same begin="31" length="1"/>
<different begin="32" length="1"/>
The old format is available using the --verbose switch:
<same>
<range begin="0" data_begin="0" length="1"/>
</same>
<different>
<range begin="1" left_data_begin="24576" right_data_begin="16384" length="1"/>
<range begin="2" left_data_begin="24577" right_data_begin="2" length="1"/>
<range begin="3" left_data_begin="24578" right_data_begin="16385" length="1"/>
<range begin="4" left_data_begin="24579" right_data_begin="4" length="1"/>
</different>
<same>
<range begin="5" data_begin="5" length="1"/>
</same>
<different>
<range begin="6" left_data_begin="24580" right_data_begin="16386" length="1"/>
<range begin="7" left_data_begin="7" right_data_begin="16387" length="1"/>
<range begin="8" left_data_begin="24581" right_data_begin="8" length="1"/>
<range begin="9" left_data_begin="24582" right_data_begin="16388" length="1"/>
<range begin="10" left_data_begin="10" right_data_begin="16389" length="1"/>
<range begin="11" left_data_begin="24583" right_data_begin="11" length="1"/>
</different>
<same>
<range begin="12" data_begin="12" length="1"/>
</same>
<different>
<range begin="13" left_data_begin="24584" right_data_begin="13" length="1"/>
<range begin="14" left_data_begin="24585" right_data_begin="16390" length="1"/>
<range begin="15" left_data_begin="24586" right_data_begin="15" length="1"/>
<range begin="16" left_data_begin="16" right_data_begin="16391" length="1"/>
<range begin="17" left_data_begin="24587" right_data_begin="16392" length="1"/>
<range begin="18" left_data_begin="18" right_data_begin="16393" length="3"/>
<range begin="21" left_data_begin="24588" right_data_begin="21" length="1"/>
</different>
<same>
<range begin="22" data_begin="22" length="1"/>
</same>
<different>
<range begin="23" left_data_begin="24589" right_data_begin="23" length="1"/>
<range begin="24" left_data_begin="24590" right_data_begin="16396" length="1"/>
<range begin="25" left_data_begin="24591" right_data_begin="25" length="1"/>
<range begin="26" left_data_begin="26" right_data_begin="16397" length="1"/>
</different>
<same>
<range begin="27" data_begin="27" length="1"/>
</same>
<different>
<range begin="28" left_data_begin="24592" right_data_begin="28" length="2"/>
<range begin="30" left_data_begin="30" right_data_begin="16398" length="1"/>
</different>
<same>
<range begin="31" data_begin="31" length="1"/>
</same>
<different>
<range begin="32" left_data_begin="24594" right_data_begin="32" length="1"/>
</different>
2014-06-17 14:20:33 +01:00
Joe Thornber
0e62a1c4de
[thin_delta] provide a more complete diff output.
2014-06-17 12:39:13 +01:00
Joe Thornber
f80c2dc77f
[thin_delta] Don't use endl which also flushes
2014-06-16 13:58:25 +01:00
root
72e20c2d40
remove some dead code
2014-06-16 13:41:07 +01:00
Joe Thornber
d7d293ee4f
thin_delta now works
2014-06-10 16:38:20 +01:00
Joe Thornber
d1989f4a14
whitespace
2014-06-10 16:38:10 +01:00