RCS nach 4.4 -> 4.6 kaputt?

*Sheep

des Unterseepudels Kern
Hat sich im RCS etwas geaendert? Nach der Aktualisierung von 4.4 auf 4.6 verhält sich RCS sehr merkwürdig.

Code:
# co -l pf.conf
RCS/pf.conf,v  -->  pf.conf
revision 1.100 (locked)
done
Code:
# vi pf.conf :wq
Code:
# ci -u -wsheep pf.conf
RCS/pf.conf,v  <--  pf.conf
new revision: 1.101; previous revision: 1.100 enter log message, terminated with a single '.' or end of file:
>> .
revision 1.94 (unlocked)
done
Wieso bleibt Revision 1.94 als Leseversion zurück und nicht 1.101? 1.94 ist die Version die auf 4.4 zuletzt via ci ins RCS eingebracht habe.

Wenn ich explizit die revision beim ci angebe bleibt die "richtige" revision zurueck.

Code:
# ci -u1.104 -wsheep pf.conf
Code:
# head pf.conf
#       $Id: pf.conf,v 1.104 2009/11/25 15:09:27 root Exp $
Aber es steht da root und nicht sheep. Was mache ich verkehrt?
 
Code:
# ci -u1.104 -wsheep pf.conf
Code:
# head pf.conf
#       $Id: pf.conf,v 1.104 2009/11/25 15:09:27 root Exp $
Aber es steht da root und nicht sheep. Was mache ich verkehrt?

Seit rev. 1.48 von /usr/src/usr/bin/rcs/rcs.c wird in rcs_rev_add(), wenn der User root ist, getlogin(2) verwendet, um den eigentlichen Usernamen zu ermitteln. Wenn ich mir das diff so ansehe, dann sieht irgendwie clahfs aus, ein uebergenemer username wird *immer* uebergebuegelt, wenn man root ist. Ich muss mal irgendwo ausprobieren, was GNU rcs (bzw. cvs) in dieser Situation machen, aber ich denke, dass das einfach ein Bug in OpenBSDs rcs ist. Muss mal fragen, wer momentan ueberhaupt an rcs und cvs rumschraubt (joris ist ja irgendwie untergetaucht).

Was die anderen Probleme (falsche, zu alte Revision nach ci -u) angeht: sieht ebenfalls nach einem Bug aus, aber den muesste ich erstmal irgendwie reproduziert bekommen, um ueberhaupt etwas dazu sagen zu koennen.

Edit: ich kann das inzwischen reproduzieren.

Edit2, habe ich sheep auch gerade schon gemailt: die Probleme treten exakt dann auf, wenn man -w verwendet und als root eingeloggt ist. Wenn man als normaler User eingelogg ist und per sudo(8) oder su(1) root wird, funktioniert ci(1) wie gewuenscht, und man kann sich dabei sogar das -w sparen. Mal sehen, wann ich das repariert bekomme (heute bestimmt nicht mehr, und morgen habe ich auch schon anderes zu tun).
 
Zuletzt bearbeitet:
Zurück
Oben