forked from brawnski/git-annex
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog
4171 lines (3603 loc) · 204 KB
/
changelog
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
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
git-annex (5.20151020) UNRELEASED; urgency=medium
* Use statvfs on OSX.
-- Joey Hess <[email protected]> Mon, 19 Oct 2015 17:00:21 -0400
git-annex (5.20151019) unstable; urgency=medium
* Fix a longstanding, but unlikely to occur bug, where dropping
a file from a remote could race with other drops of the same file,
and result in all copies of its content being lost.
* git-annex-shell: Added lockcontent command, to prevent dropping of
a key's content. This is necessary due to the above bugfix.
* In some cases, the above bugfix changes what git-annex allows you to
drop:
- When a file is present in several special remotes,
but not in any accessible git repositories, dropping it from one of
the special remotes will now fail. Instead, the file has to be
moved from one of the special remotes to the git repository, and can
then safely be dropped from the git repository.
- If a git remote has too old a version of git-annex-shell installed,
git-annex won't trust it to hold onto a copy of a file when dropping
that file from the local git repository.
* Changed drop ordering when using git annex sync --content or the
assistant, to drop from remotes first and from the local repo last.
This works better with the behavior changes to drop in many cases.
* Do verification of checksums of annex objects downloaded from remotes.
* When annex objects are received into git repositories from other git
repos, their checksums are verified then too.
* To get the old, faster, behavior of not verifying checksums, set
annex.verify=false, or remote.<name>.annex-verify=false.
* setkey, rekey: These commands also now verify that the provided file
matches the expected checksum of the key, unless annex.verify=false.
* reinject: Already verified content; this can now be disabled by
setting annex.verify=false.
* sync, merge, assistant: When git merge failed for a reason other
than a conflicted merge, such as a crippled filesystem not allowing
particular characters in filenames, git-annex would make a merge commit
that could omit such files or otherwise be bad. Fixed by aborting the
whole merge process when git merge fails for any reason other than a
merge conflict.
* Allow building with S3 disabled again.
* Ported disk free space checking code to work on Solaris.
* Windows webapp: Fix support for entering password when setting
up a ssh remote.
* copy --auto was checking the wrong repo's preferred content.
(--from was checking what --to should, and vice-versa.)
Fixed this bug, which was introduced in version 5.20150727.
* Avoid unncessary write to the location log when a file is unlocked
and then added back with unchanged content.
* S3: Fix support for using https.
* Avoid displaying network transport warning when a ssh remote
does not yet have an annex.uuid set.
* Debian: Add torrent library to build-depends as it's packaged now,
and stop recommending bittornado | bittorrent.
* Debian: Remove build dependency on transformers library, as it is now
included in ghc.
* Debian: Remote menu file, since a desktop file is provided and
lintian says there can be only one.
-- Joey Hess <[email protected]> Mon, 19 Oct 2015 13:59:01 -0400
git-annex (5.20150930) unstable; urgency=medium
* Added new linux standalone "ancient" build to support kernels
like 2.6.32.
* info: Don't allow use in a non-git-annex repository, since it
uses the git-annex branch and would create it if it were missing.
* assistant: When updating ~/.ssh/config, preserve any symlinks.
* webapp: Remove the "disable remote" feature from the UI.
* S3: When built with aws-0.13.0, supports using more storage classes.
In particular, storageclass=STANDARD_IA to use Amazon's
new Infrequently Accessed storage, and storageclass=NEARLINE
to use Google's NearLine storage.
* Improve ~/.ssh/config modification code to not add trailing spaces
to lines it cannot parse.
* Fix a crash at direct mode merge time when .git/index doesn't exist
yet. Triggered by eg, git-annex sync --no-commit in a fresh clone of
a repository.
* status: Show added but not yet committed files.
* Added stack.yaml to support easy builds from source with stack.
-- Joey Hess <[email protected]> Wed, 30 Sep 2015 14:31:52 -0400
git-annex (5.20150916) unstable; urgency=medium
* Fix Windows build to work with ghc 7.10.
* init: Fix reversion in detection of repo made with git clone --shared
* info: Support querying info of individual files in direct mode.
* unused: Fix reversion in 5.20150727 that broke parsing of the
--unused-refspec option. Thanks, Øyvind A. Holm.
* Make full option parsing be done when not in a git repo, so --help
can be displayed for commands that require a git repo, etc.
* fsck: Work around bug in persistent that broke display of
problematically encoded filenames on stderr when using --incremental.
* When gpg.program is configured, it's used to get the command to run
for gpg. Useful on systems that have only a gpg2 command or want to
use it instead of the gpg command.
* Windows: Switched to using git for Windows, rather than msysgit.
Using msysgit with git-annex is no longer supported.
* Windows: Even when the user neglects to tell the git installer to
add git to PATH, git-annex will still work from within the git bash
shell, and the webapp can be used too.
* sync: Add --no-commit, --no-pull, --no-push options to turn off parts of
the sync process, as well as supporting --commit, --pull, --push, and
--no-content options to specify the (current) default behavior.
* annex.hardlink extended to also try to use hard links when copying from
the repository to a remote.
* Improve bash completion, so it completes names of remotes and backends
in appropriate places.
* Special remotes configured with autoenable=true will be automatically
enabled when git-annex init is run.
* Fix bug in combination of preferred and required content settings.
When one was set to the empty string and the other set to some expression,
this bug caused all files to be wanted, instead of only files matching
the expression.
-- Joey Hess <[email protected]> Wed, 16 Sep 2015 10:31:24 -0400
git-annex (5.20150824) unstable; urgency=medium
* Sped up downloads of files from ssh remotes, reducing the
non-data-transfer overhead 6x.
* sync: Support --jobs
* sync --content: Avoid unnecessary second pull from remotes when
no file transfers are made.
* External special remotes can now be built that can be used in readonly
mode, where git-annex downloads content from the remote using regular
http.
* Added WHEREIS to external special remote protocol.
* importfeed --relaxed: Avoid hitting the urls of items in the feed.
* Fix reversion in init when ran as root, introduced in version 5.20150731.
* Reorder declaration to fix build with yesod-core > 1.4.13.
Thanks, Michael Alan Dorman.
* Fix building without quvi and without database.
Thanks, Ben Boeckel.
* Avoid building the assistant on the hurd, since an inotify equivalent
is not yet implemented in git-annex for the hurd.
* --debug log messages are now timestamped with fractional seconds.
* --debug is passed along to git-annex-shell when git-annex is in debug mode.
* Makefile: Pass LDFLAGS, CFLAGS, and CPPFLAGS through ghc and on to
ld, cc, and cpp.
* As a result of the Makefile changes, the Debian package is built
with various hardening options. Although their benefit to a largely
haskell program is unknown.
-- Joey Hess <[email protected]> Mon, 24 Aug 2015 14:11:05 -0700
git-annex (5.20150812) unstable; urgency=medium
* Added support for SHA3 hashed keys (in 8 varieties), when git-annex is
built using the cryptonite library.
* metadata: Fix reversion introduced in 5.20150727 that caused recursive
display of metadata to not work.
* Windows: Fix bug that caused git-annex sync to fail due to missing
environment variable.
* Fix setting/setting/viewing metadata that contains unicode or other
special characters, when in a non-unicode locale.
* Simplify setup process for a ssh remote. Now it suffices to run git
remote add, followed by git-annex sync. Now the remote is automatically
initialized for use by git-annex, where before the git-annex branch had
to manually be pushed before using git-annex sync. Note that this
involved changes to git-annex-shell, so if the remote is using an old
version, the manual push is still needed.
* git-annex-shell: Don't let configlist auto-init repository when in
readonly mode.
* Perform a clean shutdown when --time-limit is reached.
This includes running queued git commands, and cleanup actions normally
run when a command is finished.
* fsck: Commit incremental fsck database when --time-limit is reached.
Previously, some of the last files fscked did not make it into the
database when using --time-limit.
* fsck: Commit incremental fsck database after every 1000 files
fscked, or every 5 minutes, whichever comes first. Previously,
commits were made every 1000 files fscked.
* Linux standalone: Work around problem that prevented it from working
properly if unpacked into a directory that contains ":" or ";" in its
name.
* proxy: Fix proxy git commit of non-annexed files in direct mode.
* proxy: If a non-proxied git command, such as git revert
would normally fail because of unstaged files in the work tree,
make the proxied command fail the same way.
* proxy: Fix removal of files deleted by the proxied command.
* proxy: Fix behavior when run in subdirectory of git repo.
* Improve Setup.hs file so that cabal copy --destdir works.
Thanks, Magnus Therning.
* Tighten dependency on optparse-applicative to 0.11.0.
* Added back debian/cabal-wrapper, since it still seems needed after all.
-- Joey Hess <[email protected]> Wed, 12 Aug 2015 11:14:58 -0400
git-annex (5.20150731) unstable; urgency=medium
* webapp: Support enabling known gitlab.com remotes.
* Fix rsync special remote to work when -Jn is used for concurrent
uploads.
* The last release accidentially removed a number of options from the
copy command. (-J, file matching options, etc). These have been added
back.
* init: Detect when the filesystem is crippled such that it ignores
attempts to remove the write bit from a file, and enable direct mode.
Seen with eg, NTFS fuse on linux.
* Fix man page installation by cabal install; all the new man pages are
now installed.
-- Joey Hess <[email protected]> Fri, 31 Jul 2015 11:34:36 -0400
git-annex (5.20150727) unstable; urgency=medium
* Fix bug that prevented uploads to remotes using new-style chunking
from resuming after the last successfully uploaded chunk.
* Switched option parsing to use optparse-applicative. This was a very large
and invasive change, and may have caused some minor behavior changes to
edge cases of option parsing. (For example, the metadata command no
longer accepts the combination of --get and --set, which never actually
worked.)
* Bash completion file is now included in the git-annex source tree,
and installed into Debian package (and any other packages built using make
install). This bash completion is generated by the option parser, so it
covers all commands, all options, and will never go out of date!
* As well as tab completing "git-annex" commands, "git annex" will also tab
complete. However, git's bash completion script needs a patch,
which I've submitted, for this to work prefectly.
* version --raw now works when run outside a git repository.
* assistant --startdelay now works when run outside a git repository.
* dead now accepts multiple --key options.
* addurl now accepts --prefix and --suffix options to adjust the
filenames used.
* sync --content: Fix bug that caused files to be uploaded to eg,
more archive remotes than wanted copies, only to later be dropped
to satisfy the preferred content settings.
* importfeed: Improve detection of known items whose url has changed,
and avoid adding redundant files. Where before this only looked at
permalinks in rss feeds, it now also looks at guids.
* importfeed: Look at not only permalinks, but now also guids
to identify previously downloaded files.
* Webapp: Now features easy setup of git-annex repositories on gitlab.com.
* Adjust debian build deps: The webapp can now build on arm64, s390x
and hurd-i386. WebDAV support is also available on those architectures.
* Debian package now maintained by Richard Hartmann.
* Support building without persistent database on for systems that
lack TH. This removes support for incremental fsck.
-- Joey Hess <[email protected]> Mon, 27 Jul 2015 12:24:49 -0400
git-annex (5.20150710) unstable; urgency=medium
* add: Stage symlinks the same as git add would, even if they are not a
link to annexed content.
* sync: When annex.autocommit=false, avoid making any commit of local
changes, while still merging with remote to the extent possible.
* unused: --used-refspec can now be configured to look at refs in the
reflog. This provides a way to not consider old versions of files to be
unused after they have reached a specified age, when the old refs in
the reflog expire.
* log: Fix reversion introduced in version 5.20150528 that broke this command.
* assistant --autostart: First stop any daemons that are already running,
which might be left over from a previous login session and so unable to
use the ssh agent of a new login session.
* assistant: Fix local pairing to not include newline in ssh pubkey,
which is rejected on the other end for security reasons.
* assistant: Fix ANNEX_SHELL_DIR written to ~/.ssh/authorized_keys
in local pairing to be the absolute path to the repository, not "."
This was a reversion caused by the relative path changes in 5.20150113.
* Brought back the setkey plumbing command that was removed in 2011, since
we found a use case for it. Note that the command's syntax was changed
for consistency.
* bugfix: Pass --full-tree when using git ls-files to get a list of files
on the git-annex branch, so it works when run in a subdirectory.
This bug affected git-annex unused, and potentially also transitions
running code and other things.
* Support git's undocumented core.sharedRepository=2 value, which
is equivalent to "world", and is set when a repo was created using
git init --shared=world.
* When building on linux, pass --as-needed to linker to avoid linking
with unused shared libraries including libyaml.
* import: Fix failure of cross-device import on Windows.
* merge: Avoid creating the synced/master branch.
* Removed support for optparse-applicative versions older than 0.10.
-- Joey Hess <[email protected]> Fri, 10 Jul 2015 16:36:42 -0400
git-annex (5.20150617) unstable; urgency=medium
* Now supports git annex sync --all --content to sync all versions of all
files with all repos that want them.
* Added new "anything" preferred content expression, which matches all
versions of all files.
* Standard preferred content for client, backup, incremental backup,
and unwanted groups have been adjusted to work better when used
with git annex sync --all --content.
* fromkey, registerurl: Improve handling of urls that happen to also
be parsable as strange keys.
* sync, remotedaemon: Pass configured ssh-options even when
annex.sshcaching is disabled.
* assistant: Consume systemd-networkd dbus events to learn about
changes to network connections, as was already done with
network-manager and wicd.
Thanks to Sebastian Reuße for the patches.
* get --incomplete: New option to resume any interrupted downloads.
* dead --key: Can be used to mark a key as dead.
* fsck: Ignore keys that are known to be dead when running in
--all/--unused/--key mode or a in a bare repo. Closes: #753888
Otherwise, still reports files with lost contents, even if the content
is dead.
* S3: Special remotes can be configured with public=yes to allow
the public to access the bucket's content.
* S3: Publically accessible buckets can be used without creds.
* import --clean-duplicates: Fix bug that didn't count local or trusted
repo's copy of a file as one of the necessary copies to allow removing
it from the import location.
* tahoe: Use ~/.tahoe-git-annex/ rather than ~/.tahoe/git-annex/
when setting up a tahoe special remote to avoid old versions of
tahoe create-client choking.
* Fix bug that prevented enumerating locally present objects in repos
tuned with annex.tune.objecthash1=true.
Fixes: unused, object count in info, unannex.
* Improve url parsing to handle some urls containing illegal []
characters in their paths.
* info: Added json output for "backend usage", "numcopies stats",
"repositories containing these files", and "transfers in progress".
* Fix incremental backup standard preferred content expression to match
its documentation, which says it does not want files that have reached
a backup repository.
* Increased the default annex.bloomaccuracy from 1000 to 10000000.
This makes git annex unused use up to 16 mb more memory than it did
before, but the massive increase in accuracy makes this worthwhile
for all but the smallest systems.
* Build documentation with deterministic=1 for reproducible builds.
(A new ikiwiki feature.) Closes: #785736
* Re-remove dependency on obsolete hamlet package. Closes: #786659
* debian/cabal-wrapper: Removed this hack which should not be needed anymore.
-- Joey Hess <[email protected]> Wed, 17 Jun 2015 13:50:35 -0400
git-annex (5.20150528) unstable; urgency=medium
* fromkey, registerurl: Allow urls to be specified instead of keys,
and generate URL keys.
* Linux standalone, OSX app: Improve runshell script to always quote
shell vars, so that it will work when eg, untarred into a directory
path with spaces in its name.
* Revert removal dependency on obsolete hamlet package, since the
autobuilders are not ready for this change yet and it prevented them
from building the webapp. Reopens: #786659
* fsck: When checksumming a file fails due to a hardware fault,
the file is now moved to the bad directory, and the fsck proceeds.
Before, the fsck immediately failed.
* Linux standalone: The webapp was not built in the previous release,
this release fixes that oversight.
-- Joey Hess <[email protected]> Thu, 28 May 2015 10:48:03 -0400
git-annex (5.20150522) unstable; urgency=medium
* import: Refuse to import files that are within the work tree, as that
does not make sense and could cause data loss.
* drop: Now supports --all, --unused, and --key.
* drop: Now defaults to --all when run in a bare repository.
(Previously, did nothing when run in a bare repository.)
* get, move, copy, mirror: Concurrent transfers are now supported!
For example: git-annex get -J10
However, progress bars are not yet displayed for concurrent transfers,
pending an updated version of the ascii-progress library.
* --quiet now makes progress output by rsync, wget, etc be quiet too.
* Take space that will be used by other running downloads into account when
checking annex.diskreserve.
* Avoid accumulating transfer failure log files unless the assistant is
being used.
* Fix an unlikely race that could result in two transfers of the same key
running at once.
* Stale transfer lock and info files will be cleaned up automatically
when get/unused/info commands are run.
* unused: Add --used-refspec option and annex.used-refspec, which can
specify a set of refs to consider used, rather than the default of
considering all refs used.
* webapp: Fix zombie xdg-open process left when opening file browser.
Closes: #785498
* Safer posix fctnl locking implementation, using lock pools and STM.
* Build documentation with TZ=UTC for reproducible builds. See #785736.
* OSX: Corrected the location of trustedkeys.gpg, so the built-in
upgrade code will find it. Fixes OSX upgrade going forward, but
older versions won't upgrade themselves due to this problem.
* Remove dependency on obsolete hamlet package. Closes: #786659
-- Joey Hess <[email protected]> Fri, 22 May 2015 14:20:18 -0400
git-annex (5.20150508.1) unstable; urgency=medium
* Now builds cleanly using ghc 7.10 (as well as ghc back to 7.6).
* Imrovements to the git-annex-standalone.deb build process.
(Thanks, Yaroslav Halchenko)
-- Joey Hess <[email protected]> Mon, 11 May 2015 12:08:58 -0400
git-annex (5.20150508) unstable; urgency=medium
* Improve behavior when a git-annex command is told to operate
on a file that doesn't exist. It will now continue to other
files specified after that on the command line, and only error out at
the end.
* S3: Enable debug logging when annex.debug or --debug is set.
* S3: git annex info will show additional information about a S3 remote
(endpoint, port, storage class)
* S3: Let git annex enableremote be used, without trying to recreate
a bucket that should already exist.
* S3: Fix incompatability with bucket names used by hS3; the aws library
cannot handle upper-case bucket names. git-annex now converts them to
lower case automatically.
* import: Check for gitignored files before moving them into the tree.
(Needs git 1.8.4 or newer.)
* import: Don't stop entire import when one file fails due to being
gitignored or conflicting with something in the work tree.
* import: Before removing a duplicate file in --deduplicate or
--clean-duplicates mode, verify that enough copies of its content still
exist.
* Improve integration with KDE's file manager to work with dolphin
version 14.12.3 while still being compatable with 4.14.2.
Thanks, silvio.
* assistant: Added --autostop to complement --autostart.
* Work around wget bug #784348 which could cause it to clobber git-annex
symlinks when downloading from ftp.
* Support checking ftp urls for file presence.
* Fix bogus failure of fsck --fast.
* fsck: Ignore error recording the fsck in the activity log,
which can happen when running fsck in a read-only repository.
Closes: #698559
(fsck can still need to write to the repository if it find problems,
but a successful fsck can be done read-only)
* Improve quvi 0.4 output parsing to handle cases wher there is no known
filename extension. This is currently the case when using quvi with
youtube. In this case, the extension ".m" will be used.
* Dropped support for older versions of yesod, warp, and dbus than the ones
in Debian Jessie.
* Switch from the obsolete dataenc library for base64 encoding to sandi.
(Thanks, Magnus Therning)
* Debian's ghc now supports TH on arm! Adjust build dependencies
to build the webapp on arm, and enable DAV support on arm. \o/
* Adjust some other arch specific build dependencies that are now
available on more architectures in Devian unstable.
* Windows: Remove cygwin ssh, the newer version of which has stopped
honoring the setting of HOME. Instead, copy msysgit's ssh into PATH.
Note that setting up a remote ssh server using password authentication
is known to be broken in this release on Windows.
* Windows: Roll back to an older version of rsync from cygwin.
The newer version has some dependency on a newer ssh from cygwin.
-- Joey Hess <[email protected]> Fri, 08 May 2015 13:42:30 -0400
git-annex (5.20150420) unstable; urgency=medium
* Fix activity log parsing, which caused the log to not retain
activity from other uuids.
* Union merge could fall over if there was a file in the repository
with the same name as a git ref. Now fixed.
* info dir: Added information about repositories that
contain files in the specified directory.
* info: Added --bytes option.
* bittorrent: Fix handling of magnet links.
* When a key's size is unknown, still check the annex.diskreserve,
and avoid getting content if the disk is too full.
* Fix fsck --from a git remote in a local directory, and from
a directory special remote.
This was a reversion caused by the relative path changes in 5.20150113.
* fsck --from remote: When bad content is found in the remote,
and the local repo does not have a copy of the content, preserve
the bad content in .git/annex/bad/ to avoid further data loss.
* fsck --from remote: Avoid downloading a key if it would go over
the annex.diskreserve limit.
* required: New command, like wanted, but for required content.
* Removed dependency on haskell SHA library,
instead using cryptohash >= 0.11.0.
* Make repo init more robust.
* New debian/rules build-standalone target, which generates a
git-annex-standalone.deb that should work on many old Debian etc
systems. Thanks, Yaroslav Halchenko.
* Windows: Renamed start menu file to avoid loop in some versions
of Windows where the menu file is treated as a git-annex program.
* Windows: Fixed support of remotes on other drives.
(A reversion introduced in version 5.20150113.)
* Windows: Bundled versions of rsync, wget, ssh, and gpg from
cygwin all updated. Thanks, Yury V. Zaytsev.
-- Joey Hess <[email protected]> Mon, 20 Apr 2015 14:44:04 -0400
git-annex (5.20150409) unstable; urgency=medium
* This fixes a bug in the assistant introduced by the literal pathspec
changes in version 5.20150406.
* --quiet now suppresses progress displays from eg, rsync.
(Second time's the charm..)
* fromkey, registerurl: When reading from stdin, allow the
filename and url, respectively, to contain whitespace.
* add: If annex.largefiles is set and does not match a file that's being
added, the file will be checked into git rather than being added to the
annex. Previously, git annex add skipped over such files; this new
behavior is more useful in direct mode.
* proxy: Made it work when run in a new repository before initial
commit.
* info: Display repository mode: bare when in a bare (non-direct mode)
repo.
* importfeed: Fix feed download when curl is used.
* importfeed: Error out when passed a non-url.
* webapp: When adding another local repository, and combining it
with the current repository, the new repository's remote path
was set to "." rather than the path to the current repository.
This was a reversion caused by the relative path changes in 5.20150113.
* contentlocationn: New plumbing command.
-- Joey Hess <[email protected]> Thu, 09 Apr 2015 15:06:38 -0400
git-annex (5.20150406.1) unstable; urgency=medium
* Fixes a bug in the last release that caused rsync and possibly
other commands to hang at the end of a file transfer.
(--quiet is back to not blocking progress displays until
that code can be fixed properly.)
-- Joey Hess <[email protected]> Mon, 06 Apr 2015 17:13:13 -0400
git-annex (5.20150406) unstable; urgency=medium
* Prevent git-ls-files from double-expanding wildcards when an
unexpanded wildcard is passed to a git-annex command like add or find.
* Fix make build target. Thanks, Justin Geibel.
* Fix GETURLS in external special remote protocol to strip
downloader prefix from logged url info before checking for the
specified prefix.
* importfeed: Avoid downloading a redundant item from a feed whose
permalink has been seen before, even when the url has changed.
* importfeed: Always store itemid in metadata; before this was only
done when annex.genmetadata was set.
* Relax debian package dependencies to git >= 1:1.8.1 rather
than needing >= 1:2.0.
* test: Fix --list-tests
* addurl --file: When used with a special remote that claims
urls and checks their contents, don't override the user's provided
filename with filenames that the special remote suggests. Also,
don't allow adding the url if the special remote says it contains
multiple files.
* import: --deduplicate and --cleanduplicates now output the keys
corresponding to duplicated files they process.
* expire: New command, for expiring inactive repositories.
* fsck: Record fsck activity for use by expire command.
* Fix truncation of parameters that could occur when using xargs git-annex.
* Significantly sped up processing of large numbers of directories
passed to a single git-annex command.
* version: Add --raw
* init: Improve fifo test to detect NFS systems that support fifos
but not well enough for sshcaching.
* --quiet now suppresses progress displays from eg, rsync.
(The option already suppressed git-annex's own built-in progress
displays.)
-- Joey Hess <[email protected]> Mon, 06 Apr 2015 12:48:48 -0400
git-annex (5.20150327) unstable; urgency=medium
* readpresentkey: New plumbing command for checking location log.
* checkpresentkey: New plumbing command to check if a key can be verified
to be present on a remote.
* Added a post-update-annex hook, which is run after the git-annex branch
is updated. Needed for git update-server-info.
* migrate: --force will force migration of keys already using the
destination backend. Useful in rare cases.
* Man pages for individual commands now available, and can be
opened using "git annex help <command>"
* --auto is no longer a global option; only get, drop, and copy
accept it. (Not a behavior change unless you were passing it to a
command that ignored it.)
* Improve error message when --in @date is used and there is no
reflog for the git-annex branch.
* assistant: Committing a whole lot of files at once could overflow
command-line length limits and cause the commit to fail. This
only happened when using the assistant in an indirect mode repository.
* Work around curl bug when asked to download an empty url to a file.
* Fix bug introduced in the last release that broke git-annex sync
when git-annex was installed from the standalone tarball.
-- Joey Hess <[email protected]> Fri, 27 Mar 2015 13:10:59 -0400
git-annex (5.20150317) unstable; urgency=medium
* fsck: Incremental fsck uses sqlite to store its records, instead
of abusing the sticky bit. Existing sticky bits are ignored;
incremental fscks started by old versions won't be resumed by
this version.
* fsck: Multiple incremental fscks of different repos (including remotes)
can now be running at the same time in the same repo without it
getting confused about which files have been checked for which remotes.
* unannex: Refuse to unannex when repo is too new to have a HEAD,
since in this case there must be staged changes in the index
(if there is anything to unannex), and the unannex code path
needs to run with a clean index.
* Linux standalone: Set LOCPATH=/dev/null to work around
https://ghc.haskell.org/trac/ghc/ticket/7695
This prevents localization from working, but git-annex
is not localized anyway.
* sync: As well as the synced/git-annex push, attempt a
git-annex:git-annex push, as long as the remote branch
is an ancestor of the local branch, to better support bare git repos.
(This used to be done, but it forgot to do it since version 4.20130909.)
* When re-execing git-annex, use current program location, rather than
~/.config/git-annex/program, when possible.
* Submodules are now supported by git-annex!
* metadata: Fix encoding problem that led to mojibake when storing
metadata strings that contained both unicode characters and a space
(or '!') character.
* Also potentially fixes encoding problem when embedding credentials
that contain unicode characters.
* sync: Fix committing when in a direct mode repo that has no HEAD ref.
(For example, a newly checked out git submodule.)
* Added SETURIPRESENT and SETURIMISSING to external special remote protocol,
useful for things like ipfs that don't use regular urls.
* addurl: Added --raw option, which bypasses special handling of quvi,
bittorrent etc urls.
* git-annex-shell: Improve error message when the specified repository
doesn't exist or git config fails for some reason.
* fromkey --force: Skip test that the key has its content in the annex.
* fromkey: Add stdin mode.
* registerurl: New plumbing command for mass-adding urls to keys.
* remotedaemon: Fixed support for notifications of changes to gcrypt
remotes, which was never tested and didn't quite work before.
-- Joey Hess <[email protected]> Tue, 17 Mar 2015 13:02:36 -0400
git-annex (5.20150219) unstable; urgency=medium
* glacier: Detect when the glacier command in PATH is the wrong one,
from boto, rather than from glacier-cli, and refuse to use it,
since the boto program fails to fail when passed
parameters it does not understand.
* groupwanted: New command to set the groupwanted preferred content
expression.
* import: Support file matching options such as --exclude, --include,
--smallerthan, --largerthan
* The file matching options are now only accepted by commands that
can actually use them, instead of by all commands.
* import: Avoid checksumming file twice when run in the default
or --duplicate mode.
* Windows: Fix bug in dropping an annexed file, which
caused a symlink to be staged that contained backslashes.
* webapp: Fix reversion in opening webapp when starting it manually
inside a repository.
* assistant: Improve sanity check for control characters when pairing.
* Improve race recovery code when committing to git-annex branch.
* addurl: Avoid crash if quvi is not installed, when git-annex was
built with process-1.2
* bittorrent: Fix mojibake introduced in parsing arai2c progress output.
* fsck --from: If a download from a remote fails, propagate the failure.
* metadata: When setting metadata, do not recurse into directories by
default, since that can be surprising behavior and difficult to recover
from. The old behavior is available by using --force.
* sync, assistant: Include repository name in head branch commit message.
* The ssh-options git config is now used by gcrypt, rsync, and ddar
special remotes that use ssh as a transport.
* sync, assistant: Use the ssh-options git config when doing git pull
and push.
* remotedaemon: Use the ssh-options git config.
* Linux standalone: Improved process names of linker shimmed programs.
-- Joey Hess <[email protected]> Thu, 19 Feb 2015 14:16:03 -0400
git-annex (5.20150205) unstable; urgency=medium
* info: Can now display info about a given uuid.
* Added to remote/uuid info: Count of the number of keys present
on the remote, and their size. This is rather expensive to calculate,
so comes last and --fast will disable it.
* info remote: Include the date of the last sync with the remote.
* sync: Added --message/-m option like git commit.
* remotedaemon: Fix problem that could prevent ssh connections being
made after two LOSTNET messages were received in a row (perhaps due to
two different network interfaces being brought down).
* Fix build failure when wget is not installed.
* Fix wording of message displayed when unable to get a file that
is available in untrusted repositories.
* addurl: When a Content-Disposition header suggests a filename to use,
addurl will consider using it, if it's reasonable and doesn't conflict
with an existing file. (--file overrides this)
* Fix default repository description created by git annex init,
which got broken by the relative path changes in the last release.
* init: Repository tuning parameters can now be passed when initializing a
repository for the first time. For details, see
http://git-annex.branchable.com/tuning/
* merge: Refuse to merge changes from a git-annex branch of a repo
that has been tuned in incompatible ways.
* Support annex.tune.objecthash1, annex.tune.objecthashlower, and
annex.tune.branchhash1.
* Remove support for building without cryptohash.
* Added MD5 and MD5E backends.
* assistant: Fix local pairing when ssh pubkey comment contains spaces.
* Avoid using fileSize which maxes out at just 2 gb on Windows.
Instead, use hFileSize, which doesn't have a bounded size.
Fixes support for files > 2 gb on Windows.
* Windows: Fix running of the pre-commit-annex hook.
* Windows: Fix S3 special remote; need to call withSocketsDo. Thanks, Trent.
-- Joey Hess <[email protected]> Thu, 05 Feb 2015 14:08:33 -0400
git-annex (5.20150113) unstable; urgency=medium
* unlock: Don't allow unlocking files that have never been committed to git
before, to avoid an intractable problem that prevents the pre-commit
hook from telling if such a file is intended to be an annexed file or not.
* Avoid re-checksumming when migrating from hash to hashE backend.
Closes: #774494
* Fix build with process 1.2.1.0.
* Android: Provide a version built with -fPIE -pie to support Android 5.0.
* sync: Fix an edge case where syncing in a bare repository would try to
merge and so fail.
* Check git version at runtime, rather than assuming it will be the same
as the git version used at build time when running git-checkattr and
git-branch remove.
* Switch to using relative paths to the git repository.
- This allows the git repository to be moved while git-annex is running in
it, with fewer problems.
- On Windows, this avoids some of the problems with the absurdly small
MAX_PATH of 260 bytes. In particular, git-annex repositories should
work in deeper/longer directory structures than before.
* Generate shorter keys for WORM and URL, avoiding keys that are longer
than used for SHA256, so as to not break on systems like Windows that
have very small maximum path length limits.
* Bugfix: A file named HEAD in the work tree could confuse some git commands
run by git-annex.
-- Joey Hess <[email protected]> Tue, 13 Jan 2015 12:10:08 -0400
git-annex (5.20141231) unstable; urgency=medium
* vicfg: Avoid crashing on badly encoded config data.
* Work around statfs() overflow on some XFS systems.
* sync: Now supports remote groups, the same way git remote update does.
* setpresentkey: A new plumbing-level command.
* Run shutdown cleanup actions even if there were failures processing
the command. Among other fixes, this means that addurl will stage
added files even if adding one of the urls fails.
* bittorrent: Fix locking problem when using addurl file://
* Windows: Fix local rsync filepath munging (fixes 26 test suite failures).
* Windows: Got the rsync special remote working.
* Windows: Fix handling of views of filenames containing '%'
* OSX: Switched away from deprecated statfs64 interface.
-- Joey Hess <[email protected]> Wed, 31 Dec 2014 15:15:46 -0400
git-annex (5.20141219) unstable; urgency=medium
* Webapp: When adding a new box.com remote, use the new style chunking.
Thanks, Jon Ander Peñalba.
* External special remote protocol now includes commands for setting
and getting the urls associated with a key.
* Urls can now be claimed by remotes. This will allow creating,
for example, a external special remote that handles magnet: and
*.torrent urls.
* Use wget -q --show-progress for less verbose wget output,
when built with wget 1.16.
* Added bittorrent special remote.
* addurl behavior change: When downloading an url ending in .torrent,
it will download files from bittorrent, instead of the old behavior
of adding the torrent file to the repository.
* Added Recommends on aria2.
* When possible, build with the haskell torrent library for parsing
torrent files. As a fallback, can instead use btshowmetainfo from
bittornado | bittorrent.
* Fix build with -f-S3.
-- Joey Hess <[email protected]> Fri, 19 Dec 2014 16:53:26 -0400
git-annex (5.20141203) unstable; urgency=medium
* proxy: New command for direct mode repositories, allows bypassing
the direct mode guard in a safe way to do all sorts of things
including git revert, git mv, git checkout ...
* undo: New command to undo the most recent change to a file
or to the contents of a directory.
* Add undo action to nautilus and konqueror integration.
* diffdriver: New git-annex command, to make git external diff drivers
work with annexed files.
* pre-commit: Block partial commit of unlocked annexed file, since
that left a typechange staged in index due to some infelicity of git's
handling of partial commits.
* Work around behavior change in lsof 4.88's -F output format.
* S3: Switched to using the haskell aws library.
* S3: No longer buffers entire files in memory when uploading without
chunking.
* S3: When built with a new enough version of the haskell aws library,
supports doing multipart uploads, in order to store extremely large
files in S3 when not using chunking.
* Don't show "(gpg)" when decrypting the remote encryption cipher,
since this could be taken to read that's the only time git-annex
runs gpg, which is not the case.
* Debian package is now maintained by Gergely Nagy.
* Windows: Remove Alt+A keyboard shortcut, which turns out to have scope
outside the menus.
* Windows: Install ssh and other bundled programs to Git/cmd,
instead of Git/bin, since the latter is not in the default msysgit PATH.
-- Joey Hess <[email protected]> Wed, 03 Dec 2014 15:16:52 -0400
git-annex (5.20141125) unstable; urgency=medium
* Remove fixup code for bad bare repositories created by
versions 5.20131118 through 5.20131127. That fixup code would
accidentially fire when --git-dir was incorrectly
pointed at the working tree of a git-annex repository,
possibly resulting in data loss. Closes: #768093
* Windows: Fix crash when user.name is not set in git config.
-- Joey Hess <[email protected]> Wed, 05 Nov 2014 11:41:51 -0400
git-annex (5.20141024) unstable; urgency=medium
* vicfg: Deleting configurations now resets to the default, where
before it has no effect.
* Remove hurd stuff from cabal file, since hackage currently rejects
it, and the test suite fails on hurd.
* initremote: Don't allow creating a special remote that has the same
name as an existing git remote.
* Windows: Use haskell setenv library to clean up several ugly workarounds
for inability to manipulate the environment on windows. This includes
making git-annex not re-exec itself on start on windows, and making the
test suite on Windows run tests without forking.
* glacier: Fix pipe setup when calling glacier-cli to retrieve an object.
* info: When run on a single annexed file, displays some info about the
file, including its key and size.
* info: When passed the name or uuid of a remote, displays info about that
remote. Remotes that support encryption, chunking, or embedded
creds will include that in their info.
* enableremote: When the remote has creds, update the local creds cache
file. Before, the old version of the creds could be left there, and
would continue to be used.
-- Joey Hess <[email protected]> Fri, 24 Oct 2014 13:03:29 -0400
git-annex (5.20141013) unstable; urgency=medium
* Adjust cabal file to support building w/o assistant on the hurd.
* Support building with yesod 1.4.
* S3: Fix embedcreds=yes handling for the Internet Archive.
* map: Handle .git prefixed remote repos. Closes: #614759
* repair: Prevent auto gc from happening when fetching from a remote.
-- Joey Hess <[email protected]> Mon, 13 Oct 2014 10:13:06 -0400
git-annex (5.20140927) unstable; urgency=medium
* Really depend (not just build-depend) on new enough git for --no-gpg-sign
to work. Closes: #763057
* Add temporary workaround for bug #763078 which broke building on armel
and armhf.
-- Joey Hess <[email protected]> Sat, 27 Sep 2014 14:25:09 -0400
git-annex (5.20140926) unstable; urgency=high
* Depend on new enough git for --no-gpg-sign to work. Closes: #762446
* Work around failure to build on mips by using cabal, not Setup,
to build in debian/rules.
-- Joey Hess <[email protected]> Fri, 26 Sep 2014 15:09:02 -0400
git-annex (5.20140919) unstable; urgency=high
* Security fix for S3 and glacier when using embedcreds=yes with
encryption=pubkey or encryption=hybrid. CVE-2014-6274
The creds embedded in the git repo were *not* encrypted.
git-annex enableremote will warn when used on a remote that has
this problem. For details, see:
https://git-annex.branchable.com/upgrades/insecure_embedded_creds/
* assistant: Detect when repository has been deleted or moved, and
automatically shut down the assistant. Closes: #761261
* Windows: Avoid crashing trying to list gpg secret keys, for gcrypt
which is not yet supported on Windows.
* WebDav: Fix enableremote crash when the remote already exists.
(Bug introduced in version 5.20140817.)
* add: In direct mode, adding an annex symlink will check it into git,
as was already done in indirect mode.
-- Joey Hess <[email protected]> Fri, 19 Sep 2014 12:53:42 -0400
git-annex (5.20140915) unstable; urgency=medium
* New annex.hardlink setting. Closes: #758593
* init: Automatically detect when a repository was cloned with --shared,
and set annex.hardlink=true, as well as marking the repository as
untrusted.
* Fix parsing of ipv6 address in git remote address when it was not
formatted as an url.
* The annex-rsync-transport configuration is now also used when checking
if a key is present on a rsync remote, and when dropping a key from
the remote.
* Promote file not found warning message to an error.
* Fix transfer lock file FD leak that could occur when two separate
git-annex processes were both working to perform the same set of
transfers.
* sync: Ensure that pending changes to git-annex branch are committed
before push when in direct mode. (Fixing a very minor reversion.)
* WORM backend: Switched to include the relative path to the file inside
the repository, rather than just the file's base name. Note that if you're
relying on such things to keep files separate with WORM, you should really
be using a better backend.
* Rather than crashing when there's a problem with the requested bloomfilter
capacity/accuracy, fall back to a reasonable default bloom filter size.
* Fix build with optparse-applicative 0.10. Closes: #761484
* webapp: Fixed visual glitch in xmpp pairing that was reported live by a
user who tracked me down in front of a coffee cart in Portland.
(New bug reporting method of choice?)
-- Joey Hess <[email protected]> Mon, 15 Sep 2014 10:45:00 -0400
git-annex (5.20140831) unstable; urgency=medium
* Make --help work when not in a git repository. Closes: #758592
* Ensure that all lock fds are close-on-exec, fixing various problems with
them being inherited by child processes such as git commands.
* When accessing a local remote, shut down git-cat-file processes
afterwards, to ensure that remotes on removable media can be unmounted.
Closes: #758630
* Fix handing of autocorrection when running outside a git repository.
* Fix stub git-annex test support when built without tasty.
* Do not preserve permissions and acls when copying files from
one local git repository to another. Timestamps are still preserved
as long as cp --preserve=timestamps is supported. Closes: #729757
-- Joey Hess <[email protected]> Sun, 31 Aug 2014 12:30:08 -0700
git-annex (5.20140817) unstable; urgency=medium
* New chunk= option to chunk files stored in special remotes.
Supported by: directory, S3, webdav, gcrypt, rsync, and all external
and hook special remotes.
* Partially transferred files are automatically resumed when using
chunked remotes!
* The old chunksize= option is deprecated. Do not use for new remotes.
* Legacy code for directory remotes using the old chunksize= option
will keep them working, but more slowly than before.
* webapp: Automatically install Konqueror integration scripts
to get and drop files.
* repair: Removing bad objects could leave fsck finding no more
unreachable objects, but some branches no longer accessible.
Fix this, including support for fixing up repositories that
were incompletely repaired before.
* Fix cost calculation for non-encrypted remotes.
* Display exception message when a transfer fails due to an exception.
* WebDAV: Sped up by avoiding making multiple http connections
when storing a file.
* WebDAV: Avoid buffering whole file in memory when uploading and
downloading.
* WebDAV: Dropped support for DAV before 1.0.
* testremote: New command to test uploads/downloads to a remote.
* Dropping an object from a bup special remote now deletes the git branch
for the object, although of course the object's content cannot be deleted
due to the nature of bup.
* unlock: Better error handling; continue past files that are not available
or cannot be unlocked due to disk space, and try all specified files.
* Windows: Now uses actual inode equivilants in new direct mode
repositories, for safer detection of eg, renaming of files with the same
size and mtime.
* direct: Fix ugly warning messages.
* WORM backend: When adding a file in a subdirectory, avoid including the
subdirectory in the key name.
* S3, Glacier, WebDAV: Fix bug that prevented accessing the creds
when the repository was configured with encryption=shared embedcreds=yes.
* direct: Avoid leaving file content in misctemp if interrupted.
* git-annex-shell sendkey: Don't fail if a remote asks for a key to be sent
that already has a transfer lock file indicating it's being sent to that
remote. The remote may have moved between networks, or reconnected.
* Switched from the old haskell HTTP library to http-conduit.
-- Joey Hess <[email protected]> Sun, 17 Aug 2014 10:30:58 -0400
git-annex (5.20140717) unstable; urgency=high
* Fix minor FD leak in journal code. Closes: #754608
* direct: Fix handling of case where a work tree subdirectory cannot
be written to due to permissions.
* migrate: Avoid re-checksumming when migrating from hashE to hash backend.
* uninit: Avoid failing final removal in some direct mode repositories
due to file modes.
* S3: Deal with AWS ACL configurations that do not allow creating or
checking the location of a bucket, but only reading and writing content to
it.
* resolvemerge: New plumbing command that runs the automatic merge conflict
resolver.
* Deal with change in git 2.0 that made indirect mode merge conflict
resolution leave behind old files.
* sync: Fix git sync with local git remotes even when they don't have an
annex.uuid set. (The assistant already did so.)
* Set gcrypt-publish-participants when setting up a gcrypt repository,
to avoid unncessary passphrase prompts.
This is a security/usability tradeoff. To avoid exposing the gpg key
ids who can decrypt the repository, users can unset
gcrypt-publish-participants.
* Install nautilus hooks even when ~/.local/share/nautilus/ does not yet
exist, since it is not automatically created for Gnome 3 users.
* Windows: Move .vbs files out of git\bin, to avoid that being in the
PATH, which caused some weird breakage. (Thanks, divB)
* Windows: Fix locking issue that prevented the webapp starting
(since 5.20140707).