-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathChangeLog
More file actions
714 lines (460 loc) · 21.2 KB
/
ChangeLog
File metadata and controls
714 lines (460 loc) · 21.2 KB
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
This is the ChangeLog of the clone project
Created by Dr. Rolf Jansen on 2013-02-19.
Copyright (c) 2013-2022. All rights reserved.
Note: Milestones are embraced with ••••
2022-06-10 11:45 rj - r88
* scmrev.xcconfig
- remove the quotation marks from the release number
2022-06-10 11:13 rj - r87
* all files
- now file extensions may be added to the exclude lists
- updated copyright dates
- fixed release number based on the actual count of GIT's rev-list + 1
- renamed SVNREV to SCMREV
- added binary products to .gitignore
2020-06-26 12:08 rj - r84
* all files
- bumped version number to 1.0.9b
- updated copyright dates
- formatting
•••• 2020-04-20 -- Created a snapshot of r83 for release as v1.0.8, and submitted it to FreeBSD Ports ••••
2020-04-20 22:35 rj - r83
* all files
- prepared release v1.0.8
- bumped copyright dates
- added xcshareddata to .gitignore
2019-08-03 09:40 rj - r82
* utils.h, clone.c, clone.1
- fix issue #2, by removing a non-solution for a non-problem
(No need to change permissions of clones comming from read only file system).
- minor corrections in the man file
2018-11-04 12:15 rj - r81
* utils.h, clone.c, clone.xcodeproj, Makefile
- added facility for Oversize Protection for variable length arrays and alloca().
- compile everything with the -fstack-protector flag.
- switch to -std=gnu11 and revised the set of compiler options.
•••• 2017-02-19 -- Created a snapshot of r80 for release as v1.0.7, and submitted it to FreeBSD Ports ••••
2017-02-19 22:18 rj - r80
* Makefile
- remove the -march=native flag, since it may break package creation.
2017-02-19 21:05 rj - r79
* clone.c
- release of version 1.0.7 (r79).
2017-02-19 19:03 rj - r78
* clone.c, clone.1
- exclude list was ignored in the case of destination items for whose the respective source item did not exist.
2017-01-08 22:40 rj - r77
* utils.h, utils.c, clone.c, clone.1, Makefile
- fixed spelling of the usage instructions.
- bumped copyright dates.
- svn revision was out of synch, the actual one is r77 now.
2017-01-08 21:54 rj - r73
*utils.h, utils.c, Makefile
- adaptions for the ARM architecture.
2016-07-20 09:47 rj - r72
* utils.c
- in the deoallocate routines set the passed pointer to NULL before actually freeing the memory.
2016-06-21 10:43 rj - r71
* utils.h, utils.c, clone.c, clone.1, Makefile
- added option to create a cloned directory tree containing hard links to the original content.
- bumped year of the copyright notice.
- updated link to the original code of MurmurHash3.
- fixed a memory leak.
2015-10-12 21:09 rj - r70
* clone.c
- improved check for path intersection.
2015-10-11 10:03 rj - r69
* clone.c
- changed version to 1.0.7b.
2015-10-11 09:35 rj - r68
* utils.h, utils.c, clone.c, clone.1
- corrected spelling in the man page.
- added some missing end of line chars to respective error messages.
- compiler on Mac OS X 10.6.8 don't support anonymous unions, in order to support older machines, name the payload union of the value struct.
2015-09-17 17:07 rj - r67
* .gitignore
- moved project to GitHub.
•••• 2015-05-01 -- Created a snapshot of r66 for release as v1.0.6, stored it on Google Drive and submitted it to FreeBSD Ports ••••
2015-05-01 14:47 rj - r66
* utils.c, clone.c
- in utils.c switched sequences of deallocate() to deallocate_batch().
- release of version 1.0.6 (r66).
2015-04-29 22:45 rj - r65
* utils.h, utils.c, clone.c, clone.1, Makefile, clone.xcodeproj
- use allocate()/deallocate() memory functions.
- in setMetaData() and freeMetaData(), bug fix for FreeBSD,
a pointer with offset by 1 (namelist) was passed to free.
- merged in changes from the other AVL Tree implementations.
- replace sequencial deallocate() calls by a deallocate_batch() call.
- add a notice about eventually leaked memory to the summary.
- on Mac OS X, fixed problem with flistxattr(), fgetxattr(), and fsetxattr().
- set Mac OS X Deployment Target to 10.6.
- bumped copyright years.
2014-12-12 23:08 rj - r64
* utils.c, clone.c
- formatting.
2014-08-20 20:02 rj - r63
* utils.h, utils.c, clone.c
- switch all long variables and parameters to llong aka. long long.
2014-08-11 18:11 rj - r62
* utils.h, utils.c, clone.c
- made the sources 32bit clean.
2014-08-11 16:11 rj - r61
* utils.h, utils.c, clone.xcodeproj
- in removeName() make sure to call removeTreeNode() only if node != NULL.
- renamed namelen to naml in AVL tree and hash table functions.
- store naml alongside the name in the nodes.
- improved Xcode project settings, more warnings, c11, and do the Release builds using -Ofast.
2014-08-11 08:08 rj - r60
* utils.c
- in addTreeNode() in the case of (ord == 0) it is not necessary to deallocate the name and allocate/copy it again,
since it is guaranteed that the new name is the same as the old name.
- zero-out the value struct when modifying a node and no new value (NULL) was supplied.
2014-07-24 17:35 rj - r59
* clone.c
- make sure not to create by accident a FS tree on the wrong device.
- release of version 1.0.6b.
•••• 2014-07-20 -- Created a snapshot of r58 for release as v1.0.5, stored it on Google Drive and submitted it to FreeBSD Ports ••••
2014-07-20 16:43 rj - r58
* clone.c, clone.1
- release of version 1.0.5 (r58).
2014-07-19 23:24 rj - r57
* clone.c
- only call removeFSName() if the respective table is not nil.
2014-07-19 22:57 rj - r56
* clone.c
- in synchronization mode don't delete excluded items from the destination.
- if in total only 1 item is copied then use singular in the final statistics message.
2014-07-17 20:42 rj - r55
* clone.c
- implemented static inline pthread_cond_wait_flag().
- directory attributes are now set at the end of clone() and not after the call to clone().
2014-07-16 21:02 rj - r54
* clone.c, clone.1
- improved -v1 option description in usage() and in the man file.
2014-07-16 10:58 rj - r53
* clone.c, clone.1
- added verbosity level 2 for indicating cloned files by a '.'.
- now level 3 displays the names of all cloned file system items.
2014-07-15 21:51 rj - r52
* clone.c, utils.h, utils.c
- optimized ACL reading.
- utilize open file descriptors for meta data cloning.
2014-07-12 20:00 rj - r51
* utils.c
- ACLs ought to be freed using acl_free() instead of free().
2014-07-12 18:15 rj - r50
* clone.c, utils.h, utils.c
- in case of FreeBSD transfer only non-trivial ACLs in getMetaData().
- fix some static analyzer warnings in the key-name/value store.
- some formatting.
- set version to 1.0.5b.
•••• 2014-04-02 -- Created a snapshot of r49 for release as v1.0.4, stored it on Google Drive and submitted it to FreeBSD Ports ••••
2014-04-02 11:00 rj - r49
* clone.c, clone.1
- implemented different verbosity levels.
- changed feedback for directory processing, instead of '.' for every kind of processing,
show '+' for directory creation, '-' for directory deletion, and '=' for no change.
- count the total number of errors and return it to the shell.
- in sync mode, if a file is ignored that is hard linked, then its inode needs to be registered in the global hard link store.
- bumped copyright period - for now 2013-2014.
- release of version 1.0.4 (r49).
2013-11-12 18:32 rj - r48
* clone.c, ChangeLog
- corrected spelling in the ChangeLog.
- set version to 1.0.4b.
•••• 2013-11-12 -- Created a snapshot of r47 for release as v1.0.3, provided it for download at GC, and submitted it to FreeBSD ports ••••
2013-11-12 10:27 rj - r47
* clone.c
- named pipes maybe deleted.
- don't check directories for birth time identity.
- release of version 1.0.3 (r47).
2013-11-11 20:13 rj - r46
* clone.c
- allow deleting local-domain sockets and whiteout files.
2013-08-27 18:25 rj - r45
* clone.c, utils.c
- formatting.
- changed parameter name inode to key in findINode(), storeINode(), removeINode().
2013-08-19 16:05 rj - r44
* clone.c, utils.h, utils.c
- added ToDo list at the head of the main file (clone.c).
- check source file system type and its readonly flag.
- if the source file system is readonly then make the clone writable by the owner.
- some code reorganizations, e.g. function setAttributes() has been moved to the main file.
2013-08-12 22:33 rj - r43
* utils.c
- set st_birthtimespec to the cloned item only if it got a valid value.
2013-08-12 22:20 rj - r42
* clone.c
- NFS and other file systems don't have file creation dates, so ignore st_birthtimespec in these cases.
•••• 2013-06-27 -- Created a snapshot of r41 for release as v1.0.2, provided it for download at GC, and submitted it to FreeBSD ports ••••
2013-06-27 10:03 rj - r41
* clone.c
- fixed deletion of directories and files in the destination in synchronization mode
- release of version 1.0.2 (r41).
2013-06-01 04:13 rj - r40
* clone.c, utils.h:
- formatting, orthography
2013-02-23 13:18 rj - r39
* clone.c, utils.h:
- streamlined stage passing between reader() and writer()
2013-02-22 11:10 rj - r38
* clone.c:
- qitems are kept initialized in the dispenser, so, no need to initialize them again in dispenseNewQItem()
- removed unecessary helper variables and constructs from writer()
- in writer() clean-up everything at one central stage below the cleanfinish label
- release src and dst paths in reverse order as they were allocated, i.e. free() dst first
- set version to 1.0.2b
•••• 2013-02-20 -- Created a snapshot of r37 for release as v1.0.1, provided it for download at GC, and submitted it to FreeBSD ports ••••
2013-02-20 23:29 rj - r37
* ChangeLog:
- release of version 1.0.1 (r37)
2013-02-20 21:55 rj - r36
* clone.c:
- when reading, do not assume anything about the file size
- when the field d_type of struct dirent is DT_UNDEFINED, then call lstat() to obtain the type
- rename fileCopy() to fileCopyScheduler()
- dispense virgin qitems, set stage to nascent in the fileCopyScheduler()
2013-02-20 11:00 rj - r35
* clone.c:
- if the file size changed in-between scheduling and copying, then most probably
other file attributes changed too, so lstat() the source again.
- set version to 1.0.1
2013-02-20 01:08 rj - r34
* clone.c:
- on reading and writing, check only for real errors,
e.g., an actual file size difference counts not as error.
2013-02-19 12:35 rj - r33
* ChangeLog:
- entry r32: corrected timestamp 06:18 to 12:18
- entry r28: rights and obligations has been transferred from Cyclaero Ltda. to Dr. Rolf Jansen.
2013-02-19 12:18 rj - r32
* ChangeLog, clone.c:
- added ChangeLog
- set version to 1.0.1b
2013-02-18 18:54 rj - r31
* Makefile, clone.xcodeproj/project.pbxproj:
- switched back to the former method of obtaining the svn revision on update.
2013-02-18 18:28 rj - r30
* clone.xcodeproj/project.pbxproj, utils.c:
- minor polishing
2013-02-17 23:08 rj - r29
* clone.c, utils.c, utils.h:
- move setAttributes() out of the conditional compiling section, i.e. making it common.
- instead, rename setTimes() to setTimesFlags() and move it into the conditional compiling section.
- On Mac OS X, the flags need to be set before the times, and on FreeBSD the flags
need to be set after the times -- in this respect, nothing has changed for FreeBSD.
- some minor code formatting.
2013-02-17 12:40 rj - r28
* Makefile, clone.1, clone.c, utils.c, utils.h:
- Herewith, transferred all rights and obligations on the clone project, including
copyright, from the Legal Entity Cyclaero Ltda. to the Natural Person Dr. Rolf Jansen.
2013-02-15 00:45 rj - r27
* clone.c, utils.c:
- on Mac OS X, setTimes() must be the last call in setAttributes.
- on FreeBSD, lchflags() must be the last call (so it was before).
2013-02-15 00:30 rj - r26
* clone.c, utils.c:
- on Mac OS X, the d_type field of struct dirent does not reliably indicate
the type for external file systems (e.g. NFS shares, UDF volumes, ??),
therefore, need to switch most of the calls to stat() to lstat(),
and extract the file type from the st_mode field of struct stat.
- setTimes() shall be the final call in setAttributes, or in some cases
the modifications time become not set.
2013-02-11 15:05 rj - r25
* clone.1, clone.xcodeproj/project.pbxproj:
- changed line-ending of man file from CRLF to LF
- in the Xcode project enabled syntax coloring for the man file
- removed the directory "related stuff" from the Xcode project
•••• 2013-02-09 -- Created a snapshot of r24 for release as v1.0.0, provided it for download at GC, and submitted it to FreeBSD ports ••••
2013-02-09 15:35 rj - r24
* Makefile, clone.c:
- switch to regular version numbering system
- keep svn revision as a sort of fingerprint
2013-02-08 17:26 rj - r23
* clone.c:
- do not report meaningless numbers, if nothing has been copied
2013-02-08 17:18 rj - r22
* clone.c:
- when incrementing to or synchronizing directories, do not require them to be of same st_size
2013-02-08 15:50 rj - r21
* clone.1, clone.c:
- corrected spelling in man file
- fixed a crashing bug in synchronization mode
- don't require modification dates of directories being the same for synchronization or incremental update
2013-02-08 12:20 rj - r20
* clone.1:
- minor lingual clarification in the descriptive text (transferring -> copying)
2013-02-08 12:06 rj - r19
* Makefile:
- soft-define the desired compiler
•••• 2013-02-08 -- Created a snapshot of r18, provided it for download at GC, and submitted it to FreeBSD ports ••••
2013-02-07 23:45 rj - r18
* clone.1, clone.c:
- improved man file
- destination must no be a child of source, check this and in case drop an error message and stop
2013-02-07 00:54 rj - r17
* Makefile:
- gcc does not know -Wno-empty-body (see r11)
2013-02-07 00:50 rj - r16
* clone.c, clone.xcodeproj/project.pbxproj, utils.c, utils.h:
- FreeBSD gcc 4.2 does not understand anonymous unions
- silence an empty body warning, when compiled with clang
2013-02-07 00:37 rj - r15
* Makefile:
- improved Makefile
2013-02-07 00:36 rj - r14
* clone.c:
- fixed a bug when checking whether to create a new destination directory or not
2013-02-06 22:50 rj - r13
* clone.1, clone.c, utils.c, utils.h:
- implemented synchronize and incremental mode
- improved setting of stat st_*timespec
2013-02-04 03:46 rj - r12
* clone.c:
- fixed a crashing bug
2013-02-04 03:07 rj - r11
* Makefile, clone.1, clone.c:
- completed man file
- improved usage()
- added -Wno-empty-body in Makefile
2013-02-04 02:26 rj - r10
* clone.c:
- implemented recursive dirDelete() and the -d option
2013-02-04 00:44 rj - r9
* clone.c:
- recognize tilde path for -X excl-list-file
2013-02-03 23:44 rj - r8
* clone.1, clone.c, clone.xcodeproj/project.pbxproj, utils.c:
- added option handler
- implemented cache toggling options
- implemented exclude list options
- improved usage() function
- improved man file
2013-02-03 17:24 rj - r7
* clone.c, utils.h:
- don't get locked on error when opening file for reading
- improved error reporting
2013-02-03 15:38 rj - r6
* clone.c, utils.c, utils.h:
- added a second name-value store (hash table)
- adaptations to the common parts of the key/name-value store
- formatting
2013-02-02 23:44 rj - r5
* Makefile, clone.1, clone.c, clone.xcodeproj/project.pbxproj, svnrev.xcconfig:
- added man file clone(1)
- corrected short description from "file system cloning" to "file tree cloning"
2013-02-02 20:39 rj - r4
* clone.c:
- the clone tool returns 1 if it could not start the cloning process otherwise it returns 0
- added 2 comments and formatting
2013-02-02 16:53 rj - r3
* .:
- added OS X build directories to be svn ignored
2013-02-02 02:33 rj - r2
* ., Makefile, clone.c, clone.xcodeproj, clone.xcodeproj/project.pbxproj, svnrev.xcconfig, utils.c, mutils.h:
- Initial import
2013-02-02 01:54 rj - r1
* .:
- Initial directory structure, i.e. created repository on Google Code.
•••• 2013-02-02 -- forking the entire clone project to http://code.google.com/p/clone/ ••••
2013-02-02 02:24 (BRST) rolf - r26 (local)
* .:
- corrected svn ignore entry for *.xcconfig
2013-02-02 02:20 (BRST) rolf - r25 (local)
* Makefile, clone.c, utils.c, utils.h:
- Added the BSD 2 clause license
- explicit typing of long to int
- commented out template for read/write cache deactivation -- high performance penalty!!!
2013-01-28 01:43 (BRST) rolf - r24 (local)
* Makefile:
- added install target to Makefile
2013-01-27 22:43 (BRST) rolf - r23 (local)
* utils.c:
- formatting
2013-01-27 15:40 (BRST) rolf - r22 (local)
* clone.c:
- use full path instead of the file name in the various "... not copied" notifications
2013-01-27 14:33 (BRST) rolf - r21 (local)
* utils.c:
- need to typecast uchar* <-> char* conversions
2013-01-27 14:29 (BRST) rolf - r20 (local)
* Makefile, utils.c:
- define C99 as the standard in the Makefile
- provide even more space to extattr_list_link(),
because it is writing beyond the buffer (see r18 (local)
2013-01-26 21:42 (BRST) rolf - r19 (local)
* utils.c:
- length bytes are unsigned char
2013-01-26 18:37 (BRST) rolf - r18 (local)
* utils.c:
- for FreeBSD allocate a twice as big memory buffer for fetching the attribute name list,
since something seems to write beyond the supplied memory buffer
2013-01-26 14:07 (BRST) rolf - r17 (local)
* utils.c:
- use malloc() instead of calloc() in getMetaData()
2013-01-26 02:31 (BRST) rolf - r16 (local)
* clone.c:
- when creating a hard link, the flags need to be removed
temporarily, since some flags don't allow linking
2013-01-26 01:52 (BRST) rolf - r15 (local)
* clone.c:
- instead of doing nothing create the directory (mount point) of source trees
on a different device, without touching the extended attributes
2013-01-26 01:27 (BRST) rolf - r14 (local)
* clone.c:
- revert r13 to r12 because creating mount points at the cloning level did not work
2013-01-26 01:18 (BRST) rolf - r13 (local)
* clone.c:
- instead of doing nothing create the directory (mount point) of source trees on a different device
2013-01-26 00:37 (BRST) rolf - r12 (local)
* clone.c, utils.c:
- change the flags last
2013-01-26 00:20 (BRST) root - r11 (local)
* .:
- added .depend file to be svn ignored
2013-01-26 00:18 (BRST) rolf - r10 (local)
* clone.c, utils.c, utils.h:
- new utility function setAttributes() replaces
all the individual attribute setting sequences
2013-01-25 23:05 (BRST) rolf - r9 (local)
* clone.c:
- remove the shared lock option on opening files for reading,
this will block the program on files with exclusive lock.
- spelling - coipied to copied
2013-01-25 21:43 (BRST) rolf - r8 (local)
* clone.c:
- improved notice for special file types
2013-01-25 17:58 (BRST) rolf - r7 (local)
* Makefile:
- added libpthread to the LDFLAGS
2013-01-25 17:48 (BRST) rolf - r6 (local)
* clone.c, utils.h:
- reset those chunks and qitems that are to be recycled, and not those in the next slot
- don't need stage "finished", use virgin instead
- prepend error messages with a LF
- in any case (also on error) set gWriterLast
- the writer thread take a local copy of its current qitem, in order to allow
- early recycling of the global qitem
- corrected paths for meta data copying of directories (paths indicated the parent dir),
also copy the meta data after cloning the directory
- do not truncate the time stamps of the files to int
2013-01-25 15:01 (BRST) rolf - r5 (local)
* clone.c:
- improved the dispenser concept - an exactly sequential memory pool
- get also the queue items from a dispenser instead of from malloc()
- no need to wait at a level if no files were scheduled for copying
2013-01-22 14:45 (BRST) rolf - r4 (local)
* clone.c:
- switched to Low Level I/O
- use a chunk pool for data copying instead of mallocing each chunk
2013-01-21 14:29 (BRST) rolf - r3 (local)
* ., clone.xcodeproj/project.pbxproj:
- added directory related stuff
2013-01-21 14:18 (BRST) rolf - r2 (local)
* ., clone.xcodeproj:
- added svn ignore property
2013-01-21 14:05 (BRST) root - r1 (local)
* ., Makefile, clone.c, clone.xcodeproj, clone.xcodeproj/project.pbxproj, utils.c, utils.h:
- Initial Import