Skip to content

Commit a05c795

Browse files
committed
Merge branch 'rewrite'
2 parents 44c8d5a + 0fb0a8e commit a05c795

360 files changed

Lines changed: 2886 additions & 22105 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.travis.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
jdk:
2-
- openjdk7
3-
- oraclejdk7
42
- oraclejdk8
53
language: java
6-
#needed as a work around for https://github.com/travis-ci/travis-ci/issues/5227 which is a buffer overflow in openjdk7 due to using IPV6 (due to docker)
7-
before_install:
8-
- sudo hostname "$(hostname | cut -c1-63)"
9-
- sed -e "s/^\\(127\\.0\\.0\\.1.*\\)/\\1 $(hostname | cut -c1-63)/" /etc/hosts | sudo tee /etc/hosts
104
install: /bin/true #skip having travis-ci trying to run assemble
115
script: "gradle clean check"

CHANGELOG.md

Lines changed: 219 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,219 @@
1+
#### Changes in 5.0.0
2+
1. Complete rewrite of the library to remove bad practices and to allow for a much better design using java best practices.
3+
2. Removal of creating a zipped bag. There are many good zip (or other serialization) libraries in Java, please use one of them instead.
4+
3. Allow for ignoring hidden files except if specified in manifest
5+
6+
#### Changes in 4.10.0
7+
1. Fixes defect in SimpleResult.add*Message() methods.
8+
2. Reports an error when verifying payloads for a bag with no payload manifests.
9+
3. Fix bugs causing streams to be left open after an exception is thrown.
10+
4. Upgraded Commons Compress to 1.8.1.
11+
12+
#### Changes in 4.9.0
13+
1. Bug fix for normalization conversion between stored manifest filenames and filenames on disk.
14+
2. Fixed bug in zip compression.
15+
3. Upgraded numerous dependencies.
16+
4. Removed all LC-specific configuration from pom.
17+
5. Added .travis.yml for integration with travis-ci (http://travis-ci.com/).
18+
6. Fixed problems so that compiles under Java 8.
19+
20+
#### Changes in 4.8.1
21+
1. Bug fix to FileSystemWriter to handle files that did do not already exist.
22+
2. Bug fix to SizeHelper.
23+
24+
#### Changes in 4.8
25+
1. Added additional convenience method to FileHelper.
26+
27+
#### Changes in 4.7
28+
1. Handle NPE when encountering improperly formatted bag-info.txt.
29+
2. Added progress reports to bag fetch.
30+
31+
#### Changes in 4.6
32+
1. Added tag file fetch-progress.txt to support progressive fetch and verification. The file
33+
will be removed once the bag is successfully fetched. In BagFetcher, added verification
34+
of a fetched file against the checksum in the manifest file. Added switch verify to fill
35+
holey bag and fetch remote bag command-line operations. This option enables bag verification
36+
before the fetch is resumed.
37+
38+
#### Changes in 4.5.1
39+
1. Added missing braces to conditional blocks in ValidHoleyBagVerifier. This caused false
40+
error message when verifying a holey bag.
41+
42+
#### Changes in 4.5
43+
1. Adds support for bag-info.txt values that contain line terminators.
44+
45+
#### Changes in 4.4
46+
1. Attempt to correct for unicode normalization form in filepaths. Note: Java has
47+
problems dealing with differences in unicode normalization form
48+
(http://www.unicode.org/reports/tr15/tr15-23.html) in filepaths.
49+
In particular, it is sometimes the case that a java.io.File is that produced
50+
by java.io.File.listFiles() will fail java.io.File.exists(). This attempts to
51+
correct for this by trying java.io.File.exists() using different normalization
52+
forms for the filepath.
53+
2. Improves error handling and logging in FileSystemHelper and TempFileHelper.
54+
3. Added support for writing by copying and moving to FileSystemHelper. The default
55+
is now to copy (instead of writing the stream exposed by BagFile). Added support
56+
for specifying move in CommandLineBagDriver (--move).
57+
4. Added setUsername()/setPassword() interfaces to all bag fetchers to support
58+
concurrent clients; each client's credentials will be local to each instance of bag fetcher.
59+
60+
#### Changes in 4.3.1
61+
1. Changes to pom for maven 3.
62+
2. Fix for NPE in SimpleMessage.
63+
64+
#### Changes in 4.3
65+
1. To enhance ability to machine-process SimpleResult, refactored to allow the
66+
recording of codes, with subject and objects.
67+
2. Removed BagVerifyResult.
68+
3. Fixes defect with zipped bags on Windows.
69+
4. Fixes NPE when splitting bag by size without a bag-info.txt.
70+
5. Added support for limiting additions, updates, and deletes from tag manifests
71+
using TagManifestVerifierCompleter.
72+
6. Added UpdatePayloadOxumCompleter and added support to commandline driver.
73+
7. Added PayloadOxumVerifier.
74+
75+
#### Changes in 4.2
76+
1. Changed most interfaces to extends Closeable instead of declaring own close() method.
77+
2. Improved safety of stream closing throughout code.
78+
79+
#### Changes in 4.1
80+
1. Fixes excessive logging.
81+
82+
#### Changes in 4.0
83+
1. Added support for BagIt 0.97. The significant change is allowing tag directories. (Note that operations
84+
are version aware, meaning pre-0.97 bags do not allow tag directories.)
85+
2. Removes Commons VFS.
86+
3. Deprecates support for reading/writing tar, tar bz2, and tar gz.
87+
4. Deprecates support for transferring SWORD and BOB.
88+
5. Added close() method to Bag for closing IO resources.
89+
6. Clarified logging messages for CompleteVerifier and ValidVerifier.
90+
7. Changed so that bagging-in-place throws an exception if a prebag contains a data directory and tag directories
91+
for pre-0.97 bags.
92+
8. Added support for fail modes when performing verification:
93+
* FAIL_FAST: Fail on first error.
94+
* FAIL_SLOW: Fail at end of verification.
95+
* FAIL_STEP: Fail after each step of verification. A step is a set of like verification operations.
96+
* FAIL_STAGE: Fail after each stage of verification. A stage is a set of logically grouped
97+
verification operations. For example, when validating a bag, all of the operations to verify
98+
that a bag is complete is a stage.
99+
9. Added support for compressing zip files.
100+
10. Replaced Commons Httpclient with Apache HttpComponents.
101+
102+
#### Changes in 3.13
103+
1. Added support for keeping empty directories when bagging in place.
104+
2. Increased default MAXMEM to 1024m.
105+
3. Added verbose console and log progress reporting to CommandLineBagDriver.
106+
4. Added support for ignoring symbolic links when verifying a bag on a file system.
107+
5. Upgraded to Commons IO 2.0.1.
108+
109+
#### Changes in 3.12
110+
1. Added support to CompleteVerifier, PreBag, and BagFactory to ignore specified directories (e.g., lost+found).
111+
112+
#### Changes in 3.11
113+
1. Added support to FileSystemWriter to only write files that had mismatch between
114+
manifest and files on disk.
115+
116+
#### Changes in 3.10
117+
1. Added additional list methods to BagInfoTxt.
118+
2. Added chaining completer.
119+
3. Changed completers to not create empty payload manifests.
120+
4. Added support to FileSystemWriter to only write tag files.
121+
122+
#### Changes in 3.9
123+
1. Change to licensing terms.
124+
2. Minor modifications to support for splitting bags.
125+
126+
#### Changes in 3.8
127+
1. Added support for splitting bags.
128+
2. Added support for resuming fetches of bags.
129+
3. Improved support for filepaths with encoding.
130+
131+
#### Changes in 3.7.1
132+
1. Fixed defect in the writing of repeated fields in bag-info.txt.
133+
2. Fixed defect in adding a list of values to bag-info.txt.
134+
135+
#### Changes in 3.7
136+
1. Added option to limit added, updated, and deleted files in UpdateCompleter.
137+
2. Added support for repeating fields in bag-info.txt. The existing Map interface was extended,
138+
not changed.
139+
140+
#### Changes in 3.6
141+
1. Fixed bug with HolePunchers handling of filepaths with spaces.
142+
2. Fixed bug which caused the FileSystem Writer to delete empty directories.
143+
3. Added option for FileSystem Writer to ignore nfs temp files since they can't be deleted.
144+
145+
#### Changes in 3.5
146+
1. Fixed bug with support for specifying a manifest delimeter.
147+
2. Added missing files to source zip.
148+
3. Added results log and output for retrieve and fill holey operations.
149+
4. Fixed bug with handling of holey bags missing fetch.txt.
150+
5. Set FTP data transfer sockets timeout.
151+
152+
#### Changes in 3.4
153+
1. Fixed critical bug that disallowed payload files to have tag manifest names.
154+
2. Changed logging so each invocation produces a unique log file.
155+
3. Added a new results log written to working directory for failed verification commandline operations.
156+
4. Reduced output to System.out when invoking commandline.
157+
5. Added support for reporting BIL version number.
158+
159+
#### Changes in 3.3
160+
1. Added support for HTTPS, including lax certificate handling via the --relaxssl option.
161+
2. Fixed problems with the console authenticator.
162+
3. Changed socket timeout from infinity to 20 seconds for http fetches.
163+
4. Made adding data to payload progress monitorable and cancellable (AddFilesToPayloadOperation)
164+
5. Made whitespace used in creating manifests configurable.
165+
6. Smarter handling of relative paths in manifests.
166+
167+
#### Changes in 3.2
168+
1. Fixed handling of bag-info.txt with colons in the value.
169+
2. Added Update Completer, which updates the manifests and bag-info.txt for a modified bag.
170+
3. Added support for retrieving a bag exposed by a web server without first having a local
171+
holey bag.
172+
4. Added support for BIL versions 0.93 and 0.94.
173+
5. Changed default number of spaces in manifests to 2.
174+
175+
#### Changes in 3.1
176+
1. Updates to bag.bat.
177+
2. Added support for tolerating additional directories in bag_dir.
178+
3. Added support for adding external bag-info.txt when creating bag or bagging-in-place
179+
from commandline.
180+
4. Added support for updating tag manifests only.
181+
182+
#### Changes in 3.0
183+
1. Numerous changes to Bag interface for clarity, consistency, and simplification.
184+
2. Add support for visitor pattern. Changed Writers to use visitor.
185+
3. Writer (formerly BagWriter), Completeter (formerly CompletionStrategy), Hole Puncher (formerly Bag.makeHoley())
186+
return a new Bag instead of modifying existing bag.
187+
4. Added support for cancelling long-running operations.
188+
5. Added support for monitoring progress of long-running operations.
189+
5. Changed DefaultCompleter to re-use existing fixities rather than always re-generating.
190+
6. Added multithreading of manifest generation and checking.
191+
7. Added support for filling holey bags using http, ftp, and rsync.
192+
8. Added support for deleting payload files by directory.
193+
9. Added commandline support for adding directory contents to payload (as opposed to adding directory).
194+
10. Added support for bag-in-place.
195+
11. Improved usability of commandline interface.
196+
197+
#### Changes in 2.4
198+
1. Added support for getting lists of standard and non-standard fields in manifests.
199+
200+
#### Changes in 2.3
201+
1. Trial implementation of writer for depositing serialized bags using SWORD.
202+
2. Trial implementation of writer for depositing unserialized bags using BOB.
203+
3. Implementation of writer for tar gz.
204+
4. Implementation of writer for tar bz2.
205+
5. Refactored commandline driver.
206+
6. Fixed bug in determining if bags are complete.
207+
7. Added license information.
208+
8. Add verifyPayloadManifests() and verifyTagManifests() to Bag.
209+
210+
#### Changes in 2.2
211+
1. Fixed bug with Window filepaths.
212+
213+
#### Changes in 2.1
214+
1. Changed Payload-Ossum to Payload-Oxsum.
215+
2. Updated separator for manifests.
216+
3. Made bag-info.txt labels case-insensitive.
217+
4. Added additional bag-info.txt methods for Bagging-Date, Bag-Count, Bag-Size, and Payload-Oxum.
218+
5. Changed to only include the tar-related classes from Ant, rather than the entire dependency.
219+
6. Added version-aware handling of filepath delimiters.

0 commit comments

Comments
 (0)