blob: aa9c0100479a3de59f426cc579766c558e43d03b (
plain) (
blame)
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
|
Une fonction qui permet de completer la structure contenue dans ctxtree d'après la source qui lui est fournie. Le contexte doit conserver le niveau de descente le plus bas lors de la lecture des informations de manière à optimiser les accès lors de la comparaison.
Une fonction qui permet de comparer 2 contextes d'arborescence. On compare les arborescences à partir du niveau commun le plus elevé (PGCD), et uniquement pour les parents marqués modifiés. Cette comparaison s'effectue sur chacun des éléments.
Ces opérations s'effectuent en boucle jusqu'à la fin de la lecture des données dans chacune des sources.
Opérations de signatures et de comparaison:
/#flxsign etc
etc/.
etc/..
etc/X11
(...)
etc/zprofile
#flxsign /etc
etc/.
etc/..
etc/X11
(...)
etc/zprofile
#flxsign ../etc
etc/etc-cont
/#flxsign ../../../../etc
etc/.
etc/..
etc/X11
(...)
etc/zprofile
/#flxsign ./etc
etc/etc-cont
/#flxsign ././././etc
etc/etc-cont
#flxsign /usr/local/bin/../../etc
etc
#flxsign /usr/local/bin/../../local/etc
local/etc
/home/ben#flxsign usr/../../etc
etc
#flxsign /etc/.
etc-cont
* on supprime tout ce qui se trouve à gauche d'un '.' ou d'un '..'
* on supprime le premier '/'
#flxsign /
slash-cont
#flxsign ../
..-cont
#flxsign /etc /usr/etc
etc/etc-cont
usr/etc/usr_etc-cont
/usr#flxsign /etc ../etc
etc/etc-cont
etc/.._etc-cont (/etc)
/usr/local#flxsign /etc ../etc
etc/etc-cont
etc/.._etc-cont (/usr/etc)
/#flxsign /etc etc
etc/etc-cont
etc/etc-cont
* par un flag, permettre faire correspondre avec le filesystem (résolution physique)
/#flxsign /etc etc=old-etc
etc/etc-cont
old-etc/etc-cont
/#flxsign /etc /save/etc=old-etc
etc/etc-cont
old-etc/save_etc-cont
/#flxsign /etc /save/etc=old-etc stdout:=/backup/server1
/backup/server1/etc/etc-cont
/backup/server1/old-etc/save_etc-cont
* la sortie travaille au niveau chaine contrairement à l'entrée qui travaille au niveau
de la signification de l'élément
#flxsign /server1/./etc
etc/server1_etc-cont
-------------------------------
check
/usr#flxcheck /usr/etc --diff /etc
usr/etc/usr_etc-cont <-> etc/etc-cont -> no
/usr#flxcheck /usr/etc=/etc --diff /etc
etc/usr_etc-cont <-> etc/etc-cont -> ok
/usr#flxcheck /usr/./etc --diff /etc
etc/usr_etc-cont <-> etc/etc-cont -> ok
#flxcheck
* option nettoyage des '/', supprimer debut, fin et multiples
* (précision des 3 parametres d'output 1 pour src1 1 pour source 2 et un global)
pour chaque source, on peut préciser un préfixe aux résultats des sources
respectives.
le troisième paramêtre, pour l'output permet de globalement réécrire l'output.
--in1=/usr/local /usr/local/./etc --in2=/ /etc stdout:/server1
compare les répértoires /usr/local/etc et /etc, écrit sous la forme le répertoire
et les faits précéder de /server1 :
/server1/usr/local/etc/...
/server1/etc/...
|