1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
|
pristine-tar (1.30) unstable; urgency=low
* Set GIT_WORK_TREE when committing to make it work when inside
a git submodule. Thanks, Victor Vasiliev. Closes: #726007
* Work around change in longlink fields in tar 1.27,
and depend on version -3 which adds PRISTINE_TAR_COMPAT.
Closes: #726963
-- Joey Hess <joeyh@debian.org> Sun, 03 Nov 2013 13:33:22 -0400
pristine-tar (1.29) unstable; urgency=low
* Fix display of unsupported param when paranoia check fails.
Closes: #707820
* pristine-tar: If recreating the tarball fails, try telling
tar to generate a gnu or posix format tarball. This may
have been the default format used by tar when the delta file
was originally generated.
Thanks, Markus Lehtonen.
* Improve handling of escaped characters in filenames listed by
tar -t. Closes: #719078
Thanks, Chow Loong Jin
-- Joey Hess <joeyh@debian.org> Mon, 26 Aug 2013 11:54:08 -0400
pristine-tar (1.28) unstable; urgency=low
* Update lintian overrides.
-- Joey Hess <joeyh@debian.org> Sun, 05 May 2013 01:45:27 -0400
pristine-tar (1.27) unstable; urgency=low
* Now ported to Mac OS X.
- MakeFile.PL fixes
- zgz: Use DYLD_LIBRARY_PATH on OSX instead of LD_LIBRARY_PATH
- suse-bzip2/Makefile: compile shared library appropriately on OSX
- INSTALL: Added some options useful when installing on OSX
Thanks, Torsten Maehne and Philipp A. Hartmann.
* zgz: Don't hardcode /lib, avoid segfaulting when installed in a
> 128 character path.
Thanks, Colin Walters
* Fix typo that led to incorrect error message when pristine-tar
branch does not exist. Closes: #700448 Thanks, paul cannon
-- Joey Hess <joeyh@debian.org> Sat, 04 May 2013 23:50:40 -0400
pristine-tar (1.26) unstable; urgency=low
* pristine-xz: Use xz --robot to extract information from xz files,
avoiding the need to do more expensive guessing. Support --block-list
when available to reproduce multi block files.
Closes: #677250 Thanks, Vincent Ladeuil
-- Joey Hess <joeyh@debian.org> Sat, 25 Aug 2012 11:54:46 -0400
pristine-tar (1.25) unstable; urgency=low
* Remove unused fts.h include. Closes: #675367
* pristine-xz: Add --check=sha256 and compression levels 0 and 0e.
Closes: #677241 Thanks, Vincent Ladeuil
-- Joey Hess <joeyh@debian.org> Tue, 12 Jun 2012 11:45:33 -0400
pristine-tar (1.24) unstable; urgency=low
* pristine-xz: Add --check=crc32 to list of allowed parameters.
-- Joey Hess <joeyh@debian.org> Sun, 01 Apr 2012 12:21:24 -0400
pristine-tar (1.23) unstable; urgency=low
* Detect git submodules procuded by recent git, where .git is a file,
not a directory. Closes: #666033
* pristine-xz: Handle CRC32 files made with PylibLZMA. Thanks, Mike Miller
Closes: #662129, #660783
-- Joey Hess <joeyh@debian.org> Sat, 31 Mar 2012 19:00:49 -0400
pristine-tar (1.22) unstable; urgency=low
* Store the sha1 of the tree that is being committed, rather than
a sha1 of a commit or other object that points to the tree.
This makes committed tarballs more resilient against git filter-branch
when it's only used to change commit metadata. Closes: #467288
-- Joey Hess <joeyh@debian.org> Sun, 11 Mar 2012 18:49:12 -0400
pristine-tar (1.21) unstable; urgency=low
* Fix bug in mtime resetting code, which caused delta files to be created
that failed to regenerate the original tarball. Closes: #661902
-- Joey Hess <joeyh@debian.org> Fri, 02 Mar 2012 14:57:11 -0400
pristine-tar (1.20) unstable; urgency=low
* pristine-xz: Try --extreme too. While my corpus has no such xz files,
Darren Salt points out that automake 1.11.2 has started using
extreme mode. Closes: #658666
-- Joey Hess <joeyh@debian.org> Sun, 12 Feb 2012 14:23:48 -0400
pristine-tar (1.19) unstable; urgency=low
* Fix duplicate function oops.
-- Joey Hess <joeyh@debian.org> Wed, 01 Feb 2012 11:00:43 -0400
pristine-tar (1.18) unstable; urgency=low
* pristine-xz: A simplistic xz recreator.
Current success rate on the Debian corpus: 70%.
Closes: #499489
-- Joey Hess <joeyh@debian.org> Tue, 31 Jan 2012 16:13:35 -0400
pristine-tar (1.17) unstable; urgency=low
* pristine-tar: Fail when the delta is excessively large, probably
due to the tarball being compressed with something that tar x can
auto-extract, but that pristine-tar does not support.
-- Joey Hess <joeyh@debian.org> Mon, 09 Jan 2012 11:44:44 -0400
pristine-tar (1.16) unstable; urgency=low
* pristine-bz2: Can recreate bz2 files greated by Suse's
patched bzip2. Closes: #641019
-- Joey Hess <joeyh@debian.org> Wed, 04 Jan 2012 21:44:23 -0400
pristine-tar (1.15) unstable; urgency=low
* Fix Vcs-Browser url. Closes: #636926
* Propigate nonzero exit status from doit_redir. Closes: #600724
* 'pristine-tar list' displays a list of tarballs that are available for
checkout.
-- Joey Hess <joeyh@debian.org> Sat, 08 Oct 2011 17:53:03 -0400
pristine-tar (1.14) unstable; urgency=low
* Add support for gzip --rsyncable output produced by gzip 1.4.
This differs from prior --rsyncable output, which was made by a Debian
specific patch and used a different rsync window size, and reset
huffman encodings less often.
* Clarify man page.
-- Joey Hess <joeyh@debian.org> Sat, 06 Aug 2011 21:05:15 -0400
pristine-tar (1.13) unstable; urgency=low
[ Faidon Liambotis ]
* Add a Perl quirks mode for tarballs generated by Perl's IO::Zlib, which
is used among other things by Module::Build. Closes: #618284
-- Joey Hess <joeyh@debian.org> Tue, 15 Mar 2011 00:11:24 -0400
pristine-tar (1.12) unstable; urgency=low
* Fix gzg building with --as-needed. Closes: #604030
-- Joey Hess <joeyh@debian.org> Sun, 06 Feb 2011 00:01:18 -0400
pristine-tar (1.11) unstable; urgency=low
* Add workaround for Debian's tar changing its output for tarballs
containing filenames exactly 100 bytes long. Closes: #602907
(Needs tar 1.25-2 with #603231 fixed in order for that to work.)
-- Joey Hess <joeyh@debian.org> Fri, 12 Nov 2010 10:25:46 -0400
pristine-tar (1.10) unstable; urgency=low
* pristine-gz gengz: Bugfix: Always remove uncompressed input file.
* Large refactoring and modularization. (Thanks Gabriel de Perthuis
for inspiration for this.))
* Remove environment variables used by tar, gz, and bzip2, to avoid
local environment settings possibly breaking things.
Closes: #498760 (probably; thanks Ralph Lange for analysis)
* Lintian fixes.
-- Joey Hess <joeyh@debian.org> Thu, 19 Aug 2010 16:36:25 -0400
pristine-tar (1.03) unstable; urgency=low
* zgz now includes a trimmed down copy of the compressor from bzip2 0.9.5d.
That old version of bzip2 generated different compression results,
and is the overwhelming reason for failures to reproduce bz2 files
in the Debian archive. Closes: #560170, #579657, #525128, #576119
(Special thanks to Laszlo Ersek for tracking this down.)
* Awesome new zgz man page!
* Faster generation of bzip2 deltas: Do not repeatedly decompress
input file.
* pristine-bz2 -t can be used to make it try harder to generate
a delta. Currently, this tries pbzip2 -b with various numbers.
Not the default because it's slow and I don't have any bzip2 files
from the wild that were built that way.
-- Joey Hess <joeyh@debian.org> Thu, 13 May 2010 02:19:32 -0400
pristine-tar (1.01) unstable; urgency=low
* Use italics in man pages to highlight which parts of command
lines are file names. Closes: #561015
* Added an example. Closes: #561016
* Document TMPDIR in man pages. Closes: #558266
-- Joey Hess <joeyh@debian.org> Fri, 05 Feb 2010 16:41:07 -0500
pristine-tar (1.00) unstable; urgency=low
* pristine-gz: Fall back to storing a binary delta, in the rare
cases where the file cannot be 100% reproduced. A warning message
is printed if the binary delta is not relatively small.
* Allows generating quite small deltas for php-geoip,
xsupplicant, libgraphics-colornames-perl,
Ricoh-Aficio_2020D-Postscript.ppd.gz, and dozens on others
that zgz can closely replicate. Closes: #518972, #506874
* For other things the deltas are not as small.
This seems an accepable tradeoff to be able to reliably use it on
anything. Closes: #475778, #509703, #509707, #515256, #515331
* Increase gz delta version number to 3.0 if a binary delta file
is included.
* pristine-tar: Avoid dying in corner case involving tar's filename
encoding. Fixes several failures.
* pristine-tar: Avoid dying if tar tv exits nonzero. This makes
reproducing star's tarball work, even though tar gets upset
while listing it and decides to die at the end.
* pristine-gz: Avoid passing -F to zgz if --original-name
is passed. This bug prevented pristine-gz gengz from
recreating the gz in some cases.
* Add aliases ci and co for commit and checkout. Closes: #500388
* pristine-gz: Fix generation of gz files that have a null filename field.
* pristine-tar: Fix behavior in the corner case where the tarball
puts all files in a subdir, but does not contain the subdir's directory
entry.
Stats: Successfully generates deltas for all 14446 tarballs in the
Debian archive. Mean delta size: 19K Median: 2.6K Mode: 1.5K
-- Joey Hess <joeyh@debian.org> Tue, 14 Apr 2009 21:23:22 -0400
pristine-tar (0.22) unstable; urgency=low
* Fix syntax mistake that could cause pristine-tar to in some cases
fail on tarballs containing files named "0". Closes: #523773
-- Joey Hess <joeyh@debian.org> Sun, 12 Apr 2009 13:20:04 -0400
pristine-tar (0.21) unstable; urgency=low
* Add support for GIT_DIR. Closes: #512619
-- Joey Hess <joeyh@debian.org> Thu, 22 Jan 2009 15:07:33 -0500
pristine-tar (0.20) unstable; urgency=low
* Avoid littering .orig.tar.gz.tmp files around by building intermediate
tarball in the temp dir. Closes: #508965
-- Joey Hess <joeyh@debian.org> Mon, 29 Dec 2008 15:34:12 -0500
pristine-tar (0.19) unstable; urgency=low
[ Josh Triplett ]
* Add a .gitignore file
* Various cleanups to zgz.
* Remove the unnecessary -l, -S, -t, and -v flags from zgz.
* Allow the empty string as an original filename in zgz, rather than
treating the empty string as a flag to not store an original filename.
* Fix zgz's usage message to stop identifying the program as gzip.
* Add a new -T,--timestamp flag to zgz, to explicitly set the timestamp
stored in the gzip file, rather than taking the timestamp of the input
file. Closes: #507110
[ Joey Hess ]
* zgz: Avoid using uninitialized data as timestamp in -c mode.
Closes: #507095
* Document existing long options. Closes: #499488
* Avoid exposing tar file names to the shell. Closes: #500499
* Clarify bit in man page about what file formats are supported.
Closes: #507322
[ Josh Triplett ]
* zgz: Incorporate a cut-down version of GNU gzip to support the --gnu
option. The cut-down gzip includes support for explicitly setting the
timestamp and original filename. Closes: #506627
* pristine-gz: Now that zgz supports explicitly setting the timestamp and
original filename with both --zlib and --gnu, use that support to do all
compression using -c with standard input and standard output. This
removes the need to create a temporary file with the original filename and
set its timestamp, as well as the need to continuously recreate the file
when compressed and removed. Closes: #506627
* zgz: Remove support for files, making -c the default. This removes a lot
of complexity and code duplication.
-- Joey Hess <joeyh@debian.org> Fri, 12 Dec 2008 16:12:27 -0500
pristine-tar (0.18) unstable; urgency=low
* pristine-gz: Avoid uncompressing the original file more than once.
Closes: #506490
-- Joey Hess <joeyh@debian.org> Sat, 22 Nov 2008 18:22:40 -0500
pristine-tar (0.17) unstable; urgency=low
* Correct -f order to come after --gnu.
-- Joey Hess <joeyh@debian.org> Fri, 04 Jul 2008 14:46:30 -0400
pristine-tar (0.16) unstable; urgency=low
* pristine-gz: Always pass -f to zgz, to support cases where
the gzip header claims that the original input file had an extension
that suggests it was itself already compressed. (Although it can't really
be.) Not doing the same for gzip because -f doesn't cause it to ignore
extensions. See #475778
-- Joey Hess <joeyh@debian.org> Fri, 04 Jul 2008 14:29:54 -0400
pristine-tar (0.15) unstable; urgency=low
* Fix POD issues. Closes: #484165
* zgz: Remove support for a GZIP env variable. We don't need this in
pristine-tar, and if could screw things up if a user set it.
Closes: #488986
-- Joey Hess <joeyh@debian.org> Wed, 02 Jul 2008 12:46:41 -0400
pristine-tar (0.14) unstable; urgency=low
* Use debhelper v7; rules file minimisation.
* Add build and install targets to Makefile.
* Put in a workaround for bug #479317, an incompatability in perl 5.10
that causes nonzero exit if a program exits while chdired into a
subdirectory of a File::Temp temp directory.
-- Joey Hess <joeyh@debian.org> Sun, 04 May 2008 14:47:06 -0400
pristine-tar (0.13) unstable; urgency=low
* Man page typo fix. Closes: #475698
-- Joey Hess <joeyh@debian.org> Sat, 19 Apr 2008 16:51:09 -0400
pristine-tar (0.12) unstable; urgency=low
* pristine-tar: Fix some bugs when run on an uncompressed tarball.
-- Joey Hess <joeyh@debian.org> Wed, 02 Apr 2008 13:14:45 -0400
pristine-tar (0.11) unstable; urgency=low
* Unset $keep, don't keep temp dirs. Oops.
-- Joey Hess <joeyh@debian.org> Fri, 21 Mar 2008 14:50:21 -0400
pristine-tar (0.10) unstable; urgency=low
* pristine-tar: Add -m option to specify a commit message. Closes: #465231
-- Joey Hess <joeyh@debian.org> Mon, 10 Mar 2008 15:56:05 -0400
pristine-tar (0.9) unstable; urgency=low
* Add smart branching for commits. (Cyril Brulebois)
* Prefer to commit to the ref that exactly matches what is specified at the
command line.
* Send all debug and verbose prints to stderr, reserving stdout for
outputting deltas etc.
* pristine-tar commit was not generating deltas against the specified
upstream branch, but against the unpacked contents of the source tarball.
Fix it to use the upstream branch, ensuring that no matter what branch is
given, the delta that is created can always recreate the source tarball.
-- Joey Hess <joeyh@debian.org> Wed, 06 Feb 2008 14:31:29 -0500
pristine-tar (0.8) unstable; urgency=low
* If a tarball contains files all in one subdirectory, and the source
tree it's being generated from already has that subdirectory, don't
try to create the subdir, which would fail. OTOH, if the subdirectory
isn't there, proceed with creating it as before.
* Add support for bz2 files (Cyril Brulebois)
* Recommends bzip2 and pbzip2, which both might be needed when dealing
with bz2 files due to differences in their output.
-- Joey Hess <joeyh@debian.org> Sat, 02 Feb 2008 17:28:17 -0500
pristine-tar (0.7) unstable; urgency=low
* Improve/fix handling when there is no local pristine-tar branch.
* Add a newline to the .id files committed to git.
-- Joey Hess <joeyh@debian.org> Fri, 01 Feb 2008 22:13:06 -0500
pristine-tar (0.6) unstable; urgency=low
* Improve search for upstream branch. Default to looking for first
refs/heads/upstream, and failing that, anything with "upstream" in its
name. This way if there is a local upstream branch and a remote one, it
will use the local one. If there's only a remote one, it'll use that.
Closes: #463566
* Handle the case where there is no local pristine-tar branch. If there
is exactly one remote branch, use it for checkout. If more than one or
none, show a nice error message. (Cyril Brulebois)
-- Joey Hess <joeyh@debian.org> Fri, 01 Feb 2008 21:35:37 -0500
pristine-tar (0.5) unstable; urgency=low
* Moved to git, and added a Vcs-Browser field.
* pristine-tar can now "commit" deltas for a tarball directly to a git
branch, and then "checkout" the original tarball again. Git users
are recommended to use these new subcommands because they're easier,
store the deltas in a consistent location, and avoid problems with
recreating things like empty directories that git doesn't track.
Closes: #463352
* Thanks to madcoder for help with manipulating git branches without
touching the working copy.
* Fix paranoia check in pristine-gz to correctly handle parameters
that take an option.
-- Joey Hess <joeyh@debian.org> Thu, 31 Jan 2008 21:52:45 -0500
pristine-tar (0.4) unstable; urgency=low
* Allow the delta file to be read or written from stdio.
* Fix man page synopses formatting.
-- Joey Hess <joeyh@debian.org> Sat, 24 Nov 2007 16:45:04 -0500
pristine-tar (0.3) unstable; urgency=low
* pristine-tar sometimes got confused about tarballs that did not unpack
all files into a subdir. Fixes sear-media and 30 others.
* tar was confused by files starting with ./ or / in the manifest, so
strip it out. Fixes erlang-doc-html and 19 others, including doc-fdc,
which is the only package to have files in / in its tarball.
* Some tarballs put files in a subdir, but don't show a "/" after the subdir
name in a manifest. Stop relying on that. (example: streamtuner)
Current stats: Out of the whole debian archive, pristine-gz fails
on 132 files, and pristine-tar fails on 0. Success with 98.97% of
files.
-- Joey Hess <joeyh@debian.org> Wed, 03 Oct 2007 00:07:54 -0400
pristine-tar (0.2) unstable; urgency=low
* Added pristine-gz, thanks to paravoid for making this possible!
* Added zgz, which is derived from a BSD gzip program that uses libz.
Modified by paravoid to support many options needed to reproduce gz
files.
* Renamed the subcommands extract => gentar , stash => gendelta
* Quite a lot of testing (ie, on the entire Debian archive) and bugfixes.
* Put files in the generated tarball mode 0644 pre-delta, this is a much
more likely file mode than the previous 0000 and thus makes the delta
smaller.
* File format version is up to 2.0 due to misc incompatible changes.
* Fix a bug related to tar's handling of unicode filenames.
* Work around a strange tar behavior: When run with --mode 644, tar
preserves the sgid bit on subdirectories.
Current stats: Out of the whole debian archive, pristine-gz fails
on 131 files, and pristine-tar fails on 45. Success with 98.63% of
files.
-- Joey Hess <joeyh@debian.org> Tue, 02 Oct 2007 21:51:03 -0400
pristine-tar (0.1) unstable; urgency=low
* First release.
-- Joey Hess <joeyh@debian.org> Sun, 30 Sep 2007 20:06:00 -0400
|