aboutsummaryrefslogtreecommitdiff
path: root/flx/NOTES
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/...