-
Notifications
You must be signed in to change notification settings - Fork 26
/
Copy pathChanges
1018 lines (835 loc) · 35.9 KB
/
Changes
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
Revision history for Git-Raw
{{$NEXT}}
0.90 2022-10-27 09:49:06+01:00 Europe/London
- Test fixes introduced by the move from 'master' to 'main'
0.89 2022-10-23 17:28:46+01:00 Europe/London
- Update libgit2 to fbea439d4 (1.5.0)
0.88 2021-08-08 13:33:48+01:00 Europe/London
- Update libgit2 to e65229ee97
- Threads are no longer only enabled if perl was built with perl support
- Documentation fixes (GH#220, GH#221) (thanks @benkasminbullock)
0.87 2020-08-30 13:16:52+01:00 Europe/London
- Update libgit2 to 8720ae8a2c
- Graph -> is_descendant_of now correctly throws an error instead of
returning -1 on error
0.86 2020-04-25 12:23:50+01:00 Europe/London
- Remote -> download and Remote -> fetch now accept an optional
list of refspecs (thanks, @ColMelvin)
- Added RefSpec methods:
+ parse
0.85 2020-04-19 12:30:20+01:00 Europe/London
- Update libgit2 to 918a7d195
- The SHA1DC algorithm is now always used
- Drop support for Windows XP/Windows Server 2003 and older
0.84 2019-08-19 21:31:54+01:00 Europe/London
- Moved from Travis to Azure pipelines
- Removed references to cURL as libgit2 no longer supports it
- Added Submodule methods:
+ foreach( $repo, \&callback )
+ lookup
+ init
+ open
+ update
+ name
+ path
+ url
+ add_to_index
+ sync
+ reload
0.83 2019-05-20 14:38:30+01:00 Europe/London
- Update libgit2 to 040db8ad749
- Added Worktree methods:
+ name()
+ path()
- Added Config methods (thanks @waterkip):
+ str_add()
- Added POD links (thanks @waterkip)
- Added Rebase methods:
+ orig_head_name
+ orig_head_id
+ onto_name
+ onto_id
0.82 2018-12-12 17:14:23+02:00 Africa/Johannesburg
- Update libgit2 to da8138b0121
0.81 2018-06-27 19:20:17+02:00 Africa/Johannesburg
- Cleanup generated inc files (GH#196)
- Replace deprecated calls to git_buf_free() with git_buf_dispose()
- Improve reliability of testers by disabling parallel builds
- Update libgit2 to 967da2c71c
0.80 2018-06-17 10:45:28+02:00 Africa/Johannesburg
- Added Commit methods:
+ message_trailers()
- Update libgit2 to 23c6e89431
0.79 2018-03-23 20:36:35+02:00 Africa/Johannesburg
- Added Index::Entry methods (thanks @rsrchboy):
+ add()
- Update libgit2 to 6311e886d8
0.78 2018-03-09 15:26:40+02:00 Africa/Johannesburg
- Ensure tests are not run in parallel
0.77 2018-03-09 06:54:12+02:00 Africa/Johannesburg
- Fixed rebase tests. Use a well-known user and email (thanks, @eserte)
0.76 2018-03-08 17:57:21+02:00 Africa/Johannesburg
- Update libgit2 to d11c4a1a4
- Added Repository methods:
+ commondir()
+ is_worktree()
- Index -> add_frombuffer() now accepts a mode (thanks, @ColMelvin)
- Added Worktree methods:
+ add()
+ lookup()
+ list()
+ is_locked()
+ is_prunable()
+ lock()
+ unlock()
+ validate()
+ prune()
+ repository()
- Added Diff methods:
+ patchid()
- Added Repository methods:
+ head_for_worktree()
- Added Rebase methods:
+ new()
+ abort()
+ commit()
+ current_operation()
+ finish()
+ inmemory_index()
+ next()
+ open()
+ operation_count()
+ operations()
0.75 2018-01-25 20:49:37+02:00 Africa/Johannesburg
- Fix notes testcases for the case where cores.notesRef is set,
thanks @sergeyromanov!
- Update libgit2 to 71c4306537
- Added AnnotatedCommit methods:
+ id()
+ lookup()
- Added Commit methods:
+ annotated()
- Added Reference methods:
+ annotated_commit()
- Added Rebase::Operation methods:
+ type()
+ id()
+ exec()
- Added Remote methods:
+ delete() (thanks, @ghiknt!)
- Remote -> create now allows a custom fetchspec to be specified (thanks, @ghiknt!)
0.74 2017-03-24 11:04:26+02:00 Africa/Johannesburg
- Fixed crashes in Git::Raw::Diff -> print due to incorrect usages
of SPAGAIN/PUTBACK (GH#188) (thanks, @noah-kogler!)
- Added Odb methods:
+ hash()
+ write()
0.73 2017-03-22 18:41:31+02:00 Africa/Johannesburg
- Added Object methods:
+ id()
+ lookup()
+ type()
- Added Odb methods:
+ foreach()
- Added Odb::Object methods:
+ id()
+ type()
+ size()
+ data()
0.72 2017-01-10 07:10:50+02:00 Africa/Johannesburg
- Added Index method:
+ entry_count()
- Update libgit2 to ee89941fa2
0.71 2017-01-09 08:52:13+02:00 Africa/Johannesburg
- Added Tree::Entry method:
+ type()
0.70 2016-12-30 21:07:39+02:00 Africa/Johannesburg
- Documentation fixes
- Update libgit2 to 42ad85ef01
- Fixes OpenBSD FTBFS (LibreSSL is API compatible with OpenSSL 1.0.1)
0.69 2016-12-30 10:09:34+02:00 Africa/Johannesburg
- No changes, stable release.
0.68 2016-12-30 10:05:46+02:00 Africa/Johannesburg
- Tests now pass on macOS when run on a case-insensitive filesystem
- Index -> add_frombuffer() now accepts either a string or a string reference (GH#181)
- Index -> add_frombuffer() now returns an Index::Entry (GH#180)
0.67 2016-12-28 19:01:36+02:00 Africa/Johannesburg
- Fixes compilation failure with blead perl 5.25.x (GH#177)
0.66 2016-12-28 18:04:48+02:00 Africa/Johannesburg
- Added Diff methods:
+ buffer()
+ new()
- Repository -> index() now allows the index to be disassociated by passing
undef.
- The caller's information is now captured in Error objects
- Added Repository method:
+ odb()
- Packbuilder has been completed
- Added Odb and Loose, Pack and OnePack backends
- Added Mempack backend
- Added Indexer
- The 'transfer_progress' callback used by a Remote and a Repository now receives
a single TransferProgress object instead of the individual items. (Incompatible change)
- Update libgit2 to 7829b4118a
0.65 2016-12-21 18:00:44+02:00 Africa/Johannesburg
- Repository -> write_tree() no longer crashes when invoked on an index that
does not have a repository associated (GH#173).
0.64 2016-12-16 14:54:58+02:00 Africa/Johannesburg
- Repository -> index() now allows for the index to be set.
0.63 2016-12-08 20:30:21+02:00 Africa/Johannesburg
- Added Index methods:
+ version()
+ add_frombuffer()
- Documentation fixes
- Update libgit2 to 8339c66068
0.62 2016-12-06 18:55:19+02:00 Africa/Johannesburg
- Added Diff method:
+ deltas()
0.61 2016-12-05 19:49:33+02:00 Africa/Johannesburg
- Update libgit2 to 5c18ece35f
- Reference -> create() can now create symbolic references (GH#168) (thanks, @richardipsum!)
- Removed documentation for previously removed Remote -> clear_refspecs method (GH#169)
- Documentation cleanup
0.60 2016-06-09 19:46:33+02:00 Africa/Johannesburg (TRIAL RELEASE)
- Perl 5.8.9 *should* work again
- Added Index method:
+ checksum()
0.59 2016-05-23 06:43:28+02:00 Africa/Johannesburg (TRIAL RELEASE)
- Repository -> merge() and friends' merge options 'tree_flags' member has been
renamed to 'flags'. (Incompatible change)
- Update libgit2 to 1b56cda
- Added Repository methods (GH#124, GH#167):
+ revparse()
- Added Commit method:
+ body()
- Added Stash methods:
+ apply()
+ pop()
- Numerous constants are now documented.
- Nanosecond mtime and ctime resolutions are now enabled.
0.58 2015-11-23 07:50:23+02:00 Africa/Johannesburg
- No changes, stable release.
0.57 2015-11-21 15:28:01+02:00 Africa/Johannesburg (TRIAL RELEASE)
- Update libgit2 to c4f6054
- Restored NetBSD 6 support
0.56 2015-11-17 13:51:37+02:00 Africa/Johannesburg (TRIAL RELEASE)
- Set the minimum required version of perl to 5.8.9
- Define _POSIX_C_SOURCE on NetBSD
0.55 2015-11-14 11:18:33+02:00 Africa/Johannesburg (TRIAL RELEASE)
- Update libgit2 to 32b9e64
0.54 2015-11-12 21:28:02+02:00 Africa/Johannesburg (TRIAL RELEASE)
- Enable support for libcurl at build-time
- Users can now specify the libcurl to use as argument
to Makefile.PL:
+ --with-curl-include
+ --with-curl-libs
- Enable support for OS X's Security framework
- Added Index::Entry methods:
+ is_conflict()
- Try to support WinHTTP on Windows
- Removed Remote methods: (Incompatible change)
- save()
- callbacks()
- Remote -> create_anonymous() no longer accepts a 'fetch_refspecs' parameter (Incompatible change)
- The following Remote methods now take a callbacks parameter (Incompatible change)
- connect()
- prune()
- update_tips()
- Remote -> fetch() and Remote -> download() now takes a 'fetch_opts' parameter (Incompatible change)
- Repository -> clone() now takes a 'fetch_opts' parameter (Incompatible change)
- Repository -> clone() now takes an optional 'checkout_opts" parameter
- Remote -> push() and Remote -> upload() now takes a 'push_opts' parameter (Incompatible change)
- Added Remote callbacks:
+ push_negotation
0.53 2015-04-14 20:23:42+02:00 Africa/Johannesburg
- Update libgit2 to 623fbd9 (GH#161,GH#162)
- Fixed reference counting issues in Diff, Commit and Merge::File::Result objects. (GH#160)
- Added extra checkout flags. (GH#162)
0.52 2015-03-19 13:45:38+02:00 Africa/Johannesburg
- Update libgit2 to 89ba9f1 (GH#158,GH#159)
- The 'safe_create' checkout strategy has been removed from libgit2 (use 'safe') (Incompatible change)
- Repository -> head() and Repository -> detach_head() no longer accept reflog messages (Incompatible change)
- Repository -> merge() and friends' merge options 'flag' member has been
renamed to 'tree_flags'. (Incompatible change) (GH#159)
- Repository -> merge() and friends' merge options gained a 'file_flags' member. (GH#159)
- Added additional file merge flags. (GH#159)
0.51 2015-02-09 09:55:03+02:00 Africa/Johannesburg
- Update libgit2 to b703049 (GH#155, GH#156)
- Removed Push package completely (GH#155) (Incompatible change):
The functionality has been absorbed into the Remote package
- Added Remote methods (GH#155):
+ prune()
+ push()
+ upload()
- Added Remote callbacks (GH#155):
+ pack_progress
+ push_transfer_progress
+ push_update_reference
0.50 2014-11-15 20:10:04+02:00 Africa/Johannesburg
- Update libgit2 to 057126c (GH#153)
- Removed Remote methods (Incompatible change):
+ is_url_supported()
- Removed Config methods (Incompatible change):
+ refresh()
- Split Remote -> name into Remote -> name and Remote -> rename
(Incompatible change)
- Added fallbacks for overloads (GH#151)
- Handle no EOF markers when printing diffs
- Added Note methods (GH#154):
+ author
+ committer
0.49 2014-10-24 12:04:09+02:00 Africa/Johannesburg
- Update libgit2 to 4bb6ffb
- Push -> finish() now returns a truthy value to indicate success (GH#150)
0.48 2014-10-13 23:08:26+02:00 Africa/Johannesburg
- Added FilterList class
- Update libgit2 to e0383fa
0.47 2014-09-30 13:06:48+02:00 Africa/Johannesburg
- Added support for Notes (GH#144)
- Stash -> save() now returns a Commit object (GH#145) (Incompatible change)
- Stash -> foreach()'s callback now receives a Commit object instead of the
object id (GH#145) (Incompatible change)
- Added Index methods (Beta) (GH#146):
+ add_conflict
+ get_conflict
+ merge
- Added Index::Entry methods (Beta) (GH#146):
+ clone
- Added Merge::File::Result methods (Beta) (GH#146):
+ automergeable
+ content
+ path
- The supported authentication types are now supplied to the Remote's
credentials callback.
- Update libgit2 to 4c53489 (GH#147)
- Removed Remote methods (GH#147) (Incompatible change):
+ check_cert()
- Added Remote certificate callback (GH#148)
0.46 2014-09-19 12:42:13+02:00 Africa/Johannesburg
- Fix more test cases that were failing if diff.mnemonicprefix is set (GH#143)
- Revert previous attempt at getting WinHTTP to work
0.45 2014-09-18 23:29:31+02:00 Africa/Johannesburg
- Update libgit2 to 73dd663 (GH#126,GH#137)
- Added Walker methods (GH#127):
+ sorting
- Added Index::Entry methods (GH#130):
+ blob
- Added Graph methods (GH#131,GH#132):
+ ahead()
+ behind()
+ ahead_behind()
- Added Commit methods (GH#134,GH#138):
+ as_email()
+ diff()
- Added Blob methods:
+ is_binary()
- Added Walker methods (GH#140):
+ all()
- Added methods:
+ message_prettify()
- Removed Remote methods (GH#135) (Incompatible change):
+ is_url_valid()
- Index -> write_tree() now returns a Tree object (GH#128). A stringify
overload has been provided for compatibility
- Repository -> merge_base() now returns a Commit object (GH#129)
- Commit, Tree and Blob now have overloads for equality and stringify (GH#129)
- Index -> conflicts() now returns Index::Conflict objects (GH#130)
(Incompatible change). The documenation was actually incorrect, a list
of hashes was returned whereas the documenation stated a list of
Index::Entry objects.
- Try to support WinHTTP on Windows
- Remote's update tips callback now set $a or $b to undef if the
reference was created or removed (Incompatible change) (GH#136)
- Added extra diff flags (GH#138)
- Remote -> load() used to consider a missing remote as an error.
It now returns undef instead of die'ing. (Incompatible change) (GH#139)
- Tag -> foreach() now also returns lightweight tags (GH#141,GH#142)
- Reference -> is_tag() was broken for lightweight tags (GH#142)
0.44 2014-08-18 10:34:18+02:00 Africa/Johannesburg
- Update libgit2 to fa44a16 (GH#120)
- Added Remote methods (GH#120):
+ default_branch
- Stash -> save() now returns a true value if files were stashed, and undef
if nothing was stashed (GH#121). (Potentially incompatible change if you
relied on the function die'ing if there was nothing to be stashed)
- Commit -> parents() and Tree -> entries() now return lists as per the
documentation (GH#122)
- Config -> foreach(), Stash -> foreach() and Tag -> foreach() now correctly
aborts the iteration. Previously it would die if the user requested
termination of the loop with a return value that is not GIT_USER. (GH#123)
0.43 2014-08-14 15:19:12+02:00 Africa/Johannesburg
- Added Index methods:
+ find
- Branch -> upstream() can now set/clear the upstream reference (GH#115)
- Reference -> lookup() used to consider a missing reference as an error.
It now returns undef instead of die'ing. (Incompatible change) (GH#116)
- Reference -> lookup() now tries harder to find a reference (GH#116)
- Reflog -> entries() now return real objects (Incompatible change) (GH#117)
- Added Repository methods (GH#118):
+ detach_head
- Repository -> head() now accepts an optional message parameter (GH#118)
0.42 2014-08-09 15:19:47+02:00 Africa/Johannesburg
- Added Blob methods (GH#108):
+ owner
- Added Commit methods (GH#108):
+ owner
- Added Index methods (GH#108):
+ owner
- Added Remote methods (GH#108):
+ owner
- Added Tag methods (GH#108):
+ owner
- Added Tree methods (GH#108):
+ owner
- Branch -> lookup(), upstream_name() and remote_name() used to consider
a missing branch or remote as an error. They now return undef instead of
die'ing. (Incompatible change) (GH#109)
- Update libgit2 to 8f759ac (GH#112)
- Repository -> lookup(), Commit -> lookup(), Blob -> lookup(), Tree -> lookup
and Tag -> lookup() used to consider a missing object as an error. They
now return undef instead of die'ing. (Incompatible change) (GH#110)
- Tree -> entry_byname(), entry_bypath() used to consider a missing entry as
an error. They now return undef instead of die'ing. (Incompatible change)
(GH#111)
- Repository -> merge_base() used to consider a missing merge base as an error.
It now returns undef instead of die'ing. (Incompatible change)
- Added Reference methods (GH#113)
+ peel
- Reflog -> entries() now take an optional index and count argument. (GH#114)
- Added Reflog methods (GH#114):
+ entry_count
- Documentation and example fixes.
0.41 2014-08-03 18:08:19+02:00 Africa/Johannesburg
- Update libgit2 to 59e3f45 (GH#105)
- Remote -> name() now accepts an optional "problems" parameter
- Repository -> clone() options no longer accepts 'remote_name' and
'ignore_cert_errors' options (Incompatible change) (GH#105)
- Added Repository -> clone() callbacks (GH#105):
+ remote_create
- Diff::File -> mode() and Diff::Delta -> status() return value(s) changed:
- "new" to "unreadable" (Incompatible change)
- Repository -> status() now takes options (GH#106) (Incompatible change):
- Options are mandatory.
- Pathspec matching is no longer auto-disabled if a list of files is
specified. It is up to the user to disable it via the "flags" parameter.
- "worktree_unreadable" may now be returned as a status flag.
- Try to support ActiveState PPM builds
- Most Unices should build now
- Windows 32-bit will never build as the MSVC6 is too dated.
- Windows 64-bit should build, but will not work. As soon as
https://github.com/libgit2/libgit2/pull/2471 is merged, it should work.
0.40 2014-06-25 21:05:55SAST+0200 Africa/Johannesburg
- Tag -> tagger() now returns undef if a tag doesn't have a tagger instead
of crashing (GH#103, GH#104)
0.39 2014-06-12 18:06:58SAST+0200 Africa/Johannesburg
- Fixed Windows specific path comparison test case (verified this time)
0.38 2014-06-11 20:03:53SAST+0200 Africa/Johannesburg
- Fixed Windows specific path comparison test case
- (Possibly) Fix cross-compilation issues with ARM architectures
0.37 2014-06-08 17:25:17SAST+0200 Africa/Johannesburg (TRIAL RELEASE)
- Removed Index -> add_conflict() (Incompatible change) (GH#97)
- Index -> read() now takes an optional force argument (GH#97)
- Added Raw -> features() method. This may be used to query the features
built into libgit2 (and thus Git::Raw).
- Added Repository methods (GH#97):
+ Repository -> cherry_pick()
+ Repository -> revert()
- Update libgit2 to df19219 (GH#99,GH#102)
- Added Index methods (GH#100):
+ Index -> capabilities()
+ Index -> path()
+ Index -> add_all()
+ Index -> remove_all()
- Improved documentation (GH#101)
- Improved the error model (GH#101)
All errors are now Git::Raw::Error objects. Extended error information
provided by libgit2 may be queried (code/category/message) via the
corresponding accessor. All existing code should continue to work as is
(via "" and bool overloads).
- Added Error methods (GH#101):
+ Error -> code()
+ Error -> category()
+ Error -> message()
- Removed constants from Filter (Incompatible change) (GH#101):
They are now located in the Error namespace.
0.36 2014-05-02 15:59:18SAST+0200 Africa/Johannesburg (TRIAL RELEASE)
- Repository -> reset() now understands a 'hard' reset (GH #96)
- Removed the unused/unimplemented 'completion' callback type from Repository
and Remote (GH #96)
- Update libgit2 to 89e9c16
- Threaded libgit2 is now disabled when using the SunPro compiler (even with pthreads)
- Should now build on older versions of MidnightBSD and Cygwin
- Hopefully now builds against libssh2 if its available on OpenBSD
0.35 2014-04-28 18:43:14SAST+0200 Africa/Johannesburg
- Added support for building with compilers other than gcc/clang (GH #93):
+ Windows: MSVC
+ Solaris: SunPro
- Silenced a number of warnings (GH #93)
- libgit2 is now built with the correct bits setting when building a 32-bit
version on a 64-bit system (GH #93)
- Remote -> is_url_supported() test cases only run when network testing
is enabled. (GH #93)
- Set core.autocrlf to "true" in the test repository for diff tests. This
fixes test cases failures on Windows (GH #93)
- Use file:/// on Windows for local push tests. (GH #93)
- Users can now specify the OpenSSL and/or libssh2 to use as argument
to Makefile.PL (GH #94):
+ --with-openssl-include
+ --with-openssl-libs
+ --with-libssh2-include
+ --with-libssh2-lib
- Improve reliability of time-dependent tests
0.34 2014-04-27 12:38:41SAST+0200 Africa/Johannesburg (TRIAL RELEASE)
- Add Repository -> message() method (GH#72) (thanks, @jacquesg!)
- Add Reference methods (GH#73) (thanks, @jacquesg!):
+ Reference -> shorthand()
+ Reference -> is_tag()
+ Reference -> is_note()
- Enable libgit2 threading support (GH#74) (thanks, @jacquesg!)
- Add support for push callbacks (GH#75) (thanks, @jacquesg!)
- Update to libgit2 4f9d541 (GH#76) (GH#78) (GH#85) (thanks, @jacquesg!)
- Add support for SSH interactive login (GH#78) (thanks, @jacquesg!)
- Add Push -> update_tips() method (GH#79) (thanks, @jacquesg!)
- Make clone tests more robust (GH#79) (thanks, @jacquesg!)
- Add Repository -> is_head_detached() (GH#83) (thanks, @jacquesg!)
- Allow "tree" parameter to be undef in Repository -> tree()
(GH#81) (thanks, @jacquesg!)
- Added additional diff flags (GH#86):
+ include_typechange
+ include_typechange_trees
+ ignore_case
+ skip_binary_check
+ enable_fast_untracked_dirs
+ show_untracked_content
+ show_unmodified
- Repository -> branches() now takes an optional branch
type argument (GH#85)
- Add Remote methods (GH#87):
+ Remote -> pushurl()
+ Remote -> check_cert()
+ Remote -> clear_refspecs()
+ Remote -> refspec_count()
+ Remote -> refspecs()
+ Remote -> fetch()
+ Remote -> is_url_valid()
+ Remote -> is_url_supported()
- Add RefSpec methods (GH#87):
+ RefSpec -> dst_matches()
+ RefSpec -> src_matches()
+ RefSpec -> string()
+ RefSpec -> direction()
+ RefSpec -> transform()
+ RefSpec -> rtransform()
+ RefSpec -> is_force()
- Add Branch methods (GH#84):
+ Branch -> remote_name()
+ Branch -> upstream_name()
- The Reference returned by Branch -> remote() now has enough information
to be used as a real Reference. Previously it didn't capture the owning
Repository. (GH#84)
- Add Commit methods (GH#88):
+ Commit -> ancestor()
- Add Graph methods (GH#88):
+ Graph -> is_ancestor_of()
- Repository -> merge_base() now accepts a "commitish" (GH#88)
- Add Diff methods (GH#77):
+ Diff -> find_similar()
+ Diff -> stats()
- Add Diff::Stats methods (GH#77):
+ Diff::Stats -> insertions()
+ Diff::Stats -> deletions()
+ Diff::Stats -> files_changed()
+ Diff::Stats -> buffer()
- Add PathSpec methods (GH#89):
+ PathSpec -> new()
+ PathSpec -> match()
- Add PathSpec::MatchList methods (GH#89):
+ PathSpec::MatchList -> count()
+ PathSpec::MatchList -> entries()
+ PathSpec::MatchList -> failed_count()
+ PathSpec::MatchList -> failed_entries()
- Fixed branch test cases:
There may be a 1-2 second difference in time between commiting and
comparing against the current signature.
- Fixed internal callback leaks (GH#90)
- Cred -> sshkey() now doesn't require a passphrase (GH#90)
- 'progress' callback for Repository -> clone() and Remote -> set_callbacks()
has been renamed to 'sideband_progress' (incompatible change).
- Add Walker methods (GH#91):
+ Walker -> push_range()
- Compiler options should be determined in Makefile.PL context (GH#91)
Fixes problems building a 32-bit perl on a 64-bit system
0.33 2014-04-14 12:28:23+02:00 Europe/Rome
- Fix segfaults caused by invalid object creation (GH#66) (thanks, @pipcet!)
- Add Config -> default() method (GH#67) (thanks, @magnolia-k!)
- Do not fail when a lightweight tag is found in the Tag->foreach() callback
(GH#68) (thanks, @pipcet!)
- Add Tree::Entry -> file_mode() method (GH#69) (thanks, @pipcet!)
- Repository -> merge() now takes %merge_opts and %checkout_opts as 2
separate parameters. (incompatible change) (GH#70)
- Merge options parameter member 'automerge' has been renamed to 'favor',
inline with libgit2 API changes. (incompatible changes) (GH#70)
It has also learned about a 'union' merge.
- Checkout options has learned new options: 'target_directory', 'ancestor_label',
'our_label' and 'their_label'. (GH#70)
- Checkout strategy has additional options: (GH#70)
'use_ours', 'use_theirs', 'skip_locked_directories', 'dont_overwrite_ignored',
'conflict_style_merge', 'conflict_style_diff3' and 'disable_pathspec_match'.
- Added new Repository methods (#GH70):
+ Repository -> merge_analysis()
+ Repository -> merge_base()
- Added new Index methods (#GH70):
+ Index -> write_tree_to()
+ Index -> checkout()
+ Index -> entries()
+ Index -> add_conflict()
+ Index -> remove_conflict()
- Added new Commit method (#GH70):
+ Commit -> merge()
- Added new Tree method (#GH70):
+ Tree -> merge()
- Index -> add() now either takes a path or a Index::Entry (GH#70)
- Remote->create_inmemory() has been replaced by Remote->create_anonymous()
(incompatible change) (GH#71).
The order of 'url' and 'fetchspec' has also been reversed to bring it
inline with the upstream changes.
- Update libgit2 to bcc6229
0.32 2014-03-16 15:02:47+01:00 Europe/Rome
- Update libgit2 to 648a985 (GH#53, GH#56) (thanks, @jacquesg!)
- Minor Win32 build fix
- Add Reflog class (GH#55) (thanks, @jacquesg!)
- Suport non-default stash flags (GH#56) (thanks, @jacquesg!)
- Clean-up test repositories after test run (GH#59) (thanks, @jacquesg!)
- Rename classes (incompatible changes):
+ Git::Raw::TreeBuilder -> Git::Raw::Tree::Builder
+ Git::Raw::TreeEntry -> Git::Raw::Tree::Entry
- Improve patch and diff support (GH#61) (thanks, @jacquesg!)
+ New classes: Git::Raw::Patch, Git::Raw::Diff::Delta,
Git::Raw::Diff::Hunk, Git::Raw::Diff::File
- Improve index conflicts handling (GH#62) (thanks, @jacquesg!)
- Add support for filters (GH#57) (thanks, @jacquesg!)
- Add support for blame (GH#63) (thanks, @jacquesg!)
- Visual Studio build fixes (GH#64) (thanks, @jacquesg!)
- Correctly handle Git::Raw::Remote refcount (GH#65) (thanks, @jacquesg!)
0.31 2014-02-08 19:07:55 Europe/Rome
- Fix include paths on FreeBSD (GH#49) (GH#50) (thanks, @jacquesg!)
- (Try to) support building libgit2 on Windows
- Properly create Commit objects in Walker -> next()
(GH#52) (thanks, @karel-m for the test case!)
0.30 2014-01-26 14:39:08 Europe/Rome (TRIAL RELEASE)
- Add "paths" checkout option (GH#23) (thanks, @jacquesg!)
- Various fixes to make it possible to build with MSVC
(GH#24, GH#25, GH#26, GH#27, GH#28) (thanks, @jacquesg!)
- Repository -> remotes() now returns a list like branches() and refs()
(incompatible change)
- Repository -> tags() now returns a list like branches() and refs()
(incompatible change)
- Add Commit -> summary() method (GH#32) (thanks, @jacquesg!)
- Add new Repository methods (GH#33) (thanks, @jacquesg!):
+ Repository -> state()
+ Repository -> state_cleanup()
+ Repository -> is_shallow()
- Add new clone options (GH#34) (thanks, @jacquesg!):
+ "remote_name"
+ "checkout_branch"
+ "ignore_cert_errors"
+ "disable_checkout"
- Update to libgit2 426d845
- Move Blob/Tree -> is_blob() and -> is_tree() to XS
(GH#36) (thanks, @magnolia-k!)
- Add Repository -> new() (GH#37) (thanks, @jacquesg!)
- Add Remote -> create_inmemory() and Remote -> ls()
(GH#37) (thanks, @jacquesg!)
- Add support for more callbacks for:
+ Remote -> callbacks()
+ Repository -> clone()
+ Repository -> checkout()
(GH#39) (thanks, @jacquesg!) (incompatible change)
- Add Repository -> path_is_ignored() (GH#38) (thanks, @jacquesg!)
- Improve Repository -> status() (incompatible change):
+ It can now return the statuses of multiple files (GH#29)
+ It can now detect file renames (GH#30) (thanks, @jacquesg!)
- Improve Repository -> diff() and Tree -> diff(), they can now take options
and flags (GH#42) (thanks, @jacquesg!) (incompatible change)
- Add Signature -> default() method (GH#43) (thanks, @jacquesg!)
- Repository -> reset() now takes an %opts argument, which can also be used
to specify the entries that should be updated (like "git reset -- file")
(GH#44) (thanks, @jacquesg!) (incompatible change)
- Reference -> target() now takes an additional optional parameter $new_target
used to change the reference's target (GH#47) (thanks, @jacquesg!)
- Add Index -> has_conflicts() and Index -> conflict_cleanup() methods
(GH#46) (thanks, @jacquesg!)
- Add Repository -> merge() method (GH#31) (thanks, @jacquesg!)
0.29 2013-11-24 20:17:02 Europe/Rome
- Update to libgit2 v0.20
+ Remove Branch -> foreach() (incompatible change)
+ Repository -> branches() now returns a "real" list instead of an array
reference
- Rename Cred -> plaintext() to Cred -> userpass() and Cred -> keyfile()
to Cred -> sshkey() (incompatible change)
- Add Cred -> sshagent() method
- Add is_tree() and is_blob() to Tree and Blob (GH#22) (thanks, @ap!)
0.28 2013-11-18 15:00:10 Europe/Rome
- Add Blob -> id() (GH#15) (thanks, @hoelzro!)
- Add TreeBuilder API (GH#16) (thanks, @hoelzro!)
- Add Reference -> create() (GH#17) (thanks, @hoelzro!)
- Add Repository -> refs() method (GH#19) (thanks, @hoelzro!)
- Make Commit -> create() take an optional parameter indicating the name
of a reference to update (GH#19) (thanks, @hoelzro!)
0.27 2013-10-23 12:34:13 Europe/Rome
- Update to libgit2 1c74686
- Add Diff -> print() which replaces Diff -> patch() and Diff -> compact()
- Remove deprecated methods (incompatible change):
+ Remote -> cred_acquire()
+ Diff -> patch()
+ Diff -> compact()
0.26 2013-10-09 16:11:42 Europe/Rome
- Fix build with glibc < 2.17
0.25 2013-10-09 15:17:56 Europe/Rome
- Update to libgit2 711333e
+ Rename Branch -> tracking() to upstream() (incompatible change)
+ Rename Remote -> fetchspec() to add_fetch and pushspec to add_push()
They will not return the remote spec anymore (incompatible change)
- Enable support for libssh2 at build-time
- Add support for SSH key credentials via Cred -> keyfile()
- Add Remote -> callbacks() method
- Add Remote -> load() method
0.24 2013-03-31 13:06:30 Europe/Rome
- Update libgit2 to d2a4a54
- Config -> bool()/int()/str() now return undef when a configuration variable
is not found, instead of segfaulting (GH#13)
0.23 2013-03-25 14:09:09 Europe/Rome
- Update libgit2 to 3f21a23
+ The Branch -> move() method does not modify the Branch object anymore, as
per the new underlying libgit2 implementation. An additional lookup is
needed in order to get the new object (incompatible change)
+ Remove Reference -> is_packed() method since it disappeared from libgit2
- Add Branch -> tracking() method
0.22 2013-02-23 15:19:30 Europe/Rome
- Remove test_repo after tests, to allow "make test" to run multiple times
(should fix OpenBSD CPAN Testers)
- Update libgit2 to 5eeb357
0.21 2013-02-20 17:41:56 Europe/Rome
- Reference -> target(), Tree -> diff() and TreeEntry -> object() methods do
not accept a Repository argument anymore (incompatible change)
- Fix memory leak in Tree -> entry_bypath() (GH#11)
- Tag -> delete() is now an object method just like other delete() methods
(incompatible change)
- Do not use Makefile.embed to build libgit2 to avoid FTBFS on *BSD
- Update libgit2 to fd69c7b
0.20 2013-01-26 13:46:00 Europe/Rome
- Documentation fixes (GH#6) (thanks, @daknok!)
- Add note in the documentation about the API being unstable
- Update libgit2 to f42beff
+ Update checkout strategies' names: "update_unmodified", "update_missing",
"update_modified" and "update_untracked" have been removed (incompatible
change)
- Repository -> head() now takes an additional optional parameter $new_head
used to change the repository's HEAD (GH#7)
- Repository -> workdir() now takes an additional optional parameter $new_dir
used to change the repository's working directory
(GH#8, #9) (thanks, @thaljef)
- Add Tree -> entry_by{name,path}() methods (GH#10) (thanks, @keedi!)
0.19 2013-01-03 19:24:50 Europe/Rome
- Fix errors in the Push and Repository examples (no functional changes)
- Reference -> target() does not need a Repository argument anymore (its
documentation was also incorrect) (thanks, @ruz!)
- Repository -> head() now returns a Reference like the underlying libgit2 API
instead of a Commit (incompatible change) (thanks, @ruz!)
- Update libgit2 to 07871d3
+ Rename Remote -> add() method to Remote -> create() and remove
Remote -> new() (incompatible changes)
+ Update Repository -> clone() to take an URL again (instead of a remote)
and a generic %opts parameter (incompatible changes)
- Update Repository -> checkout() to take a generic %opts parameter and improve
its documentation (incompatible change)
0.18 2012-12-14 18:39:16 Europe/Rome
- Add Walker -> push_*() and hide_*() methods (thanks, @ruz!)
- Update libgit2 to 37ac443
- Add Push and Cred classes
+ Now pushing to remote HTTP(S) repositories is supported
- Fix a double-free bug in Reference -> delete() method (GH#4)
- Add Reference -> owner() method (thanks, @ruz)
- Now Repository -> clone() takes a Remote argument instead of a URL to support
authentication while cloning over HTTP(S) (incompatible change)
0.17 2012-12-04 13:49:35 Europe/Rome
- Update libgit2 to da82043
+ Add Tag -> foreach() method
- Documentation fixes (no functional changes)
- Add Branch -> is_head() method
- Add Config -> new(), add_file(), refresh() and foreach() methods
- Add Index -> read_tree() and remove() methods
- Add Repository -> checkout() method
- Support custom checkout strategies in Repository -> clone() and checkout()
methods
+ This adds an additional parameter to Repository -> clone()
(incompatible change)
- SSL support is now enabled if OpenSSL is present at build time
0.16 2012-11-30 12:43:50 Europe/Rome
- Load Git::Raw from other modules too (thanks, @ruz!)
- Make Branch ISA Reference (thanks, @ruz!)
- Add Branch -> foreach() method (thanks, @ruz!)
+ Add Repository -> branches() method
- Add Repository -> ignore() method
- Add Stash class
- The Remote -> name() and url() methods now take an optional argument that
is used to change the name/url of a remote.
- Add RefSpec class
+ Add Remote -> {fetch,push}spec() methods
- Add Blob -> size() method
- Add Blob -> create() method
+ Add Repository -> blob() method
- Add Reference -> is_{branch,packed,remote}() methods (thanks, @ruz!)
- Add Branch -> move() method
0.15 2012-10-30 22:39:50 Europe/Rome
- The $is_bare check in Repository -> clone() was inverted
- Update libgit2 to 6c21358a8
+ Remove Index -> uniq() and append() methods
0.14 2012-10-19 12:26:40 Europe/Rome
- Test fixes (GH#2) (thanks, @vlet)
- Update libgit2 to b2b571ce0
0.13 2012-10-02 18:27:05 Europe/Rome
- Fix test failures
0.12 2012-09-22 19:24:45 Europe/Rome
- Fix typo in Reference's docs
- Add a proper Changes file
- Update libgit2 to d75074:
+ Remove Branch -> delete() method (incompatible change)
+ Add Repository -> clone() method
0.11 2012-08-23 09:41:38 Europe/Rome
- Various documentation fixes (no functional changes)
0.10 2012-08-22 18:53:04 Europe/Rome
- Add delete() method for all the objects that support it
- Move Repository -> tag(), branch() and walker() functionality to the
respective object constructors
0.09 2012-08-22 17:56:59 Europe/Rome
- Add lookup() method for all the objects that support it
- Add Diff class
0.08 2012-08-21 15:15:17 Europe/Rome
- Add Repository -> reset() method
- Add Branch class and Repository -> branch() method
- Embed libgit2 sources to ease building
0.07 2012-08-20 19:02:44 Europe/Rome
- Add Repository -> discover() method
0.06 2012-08-17 14:13:05 Europe/Rome
- Add Remote class
- Add Repository -> tags() method
0.05 2012-08-09 15:56:21 Europe/Rome
- Add Reference class
0.04 2012-08-08 21:42:46 Europe/Rome
- Add Blob class
- Add TreeEntry class and Tree -> id() method
- Add Commit -> tree() method
- Rename Config -> string() method to Config -> str()