Eclipse und CVS

Software besorgen und anwenden
Post Reply
Message
Author
conloos
Posts: 5
Joined: 25. Jan 2001 11:29

Eclipse und CVS

#1 Post by conloos »

Hallo allerseits,

ich arbeite seit ein paar Wochen mit eclipse ver. 2.1. Nun versuche ich
seit mehreren Tagen mein C-Programm in ein CVS-System einzuspielen (das
CVS- System soll auf meinem Server laufen) damit ich mit anderen an
diesem Projekt arbeiten kann.
Leider will es nicht so richtig Funktionieren und ich verstehe nicht
warum. Ich habe mir dazu einige Howtos etc. angeschaut (ein ganz gutes
kommt von Linuxforen).
Wenn ich -so wie in dem HOWTO beschrieben- die Quellen von CVSHOME.ORG
(egal ob stable oder unstable) sauge und es kompiliere kann ich entweder
keine Unterverzeichnisse in der CVS-root sehen oder ich kann keine
Dateien direkt in der CVS-root anlegen (Unterverzeichnisse schon und
darin dann auch Dateien).
Das einzige mal das "alles" funktioniert ist direkt auf meinem
schlepptop (lokal), mit einem von SUSE 9.0 mitgelieferten Paketen.
Deshalb erkläre ich meine Herangehensweise und hoffe das jemand das
Problem erkennt.

1) Ich entpacke und kompiliere das Quellpaket (entweder 1.11.11
oder 1.12.5) lasse das "configure- Skript mit
--prefix=/usr/local" laufen dann "make" und "make install"
(habe --with-cvs-admin-group=cvsadmin auch schon probiert)
2) Ich habe einen User cvsuser und die Gruppen cvs und cvsadmin
angelegen. Der cvsuser bekommt als shell "/bin/false"
3) Ich lege ein Verzeichnis für das CVS an: "mkdir /mnt/local/cvs"
das cvs wird initialisiert " cvs -d :local:/mnt/local/cvs/ init"
4) Ich lege ein Projektverzeichnis an "mkdir /mnt/local/cvs/ai/", und
übergebe es "chown cvsuser:cvs /mnt/local/cvs/ai/". Ich
setze die rechte neu "chmod 770 /mnt/local/cvs/ai/"
4a) Ich übergebe die CVS- root und setze die rechte
"chmod 770 /mnt/local/cvs/" und "chown root:cvs /usr/local/cvs".

5) Ich lege folgende "passwd" im Verzeichnis CVSROOT an (user und
pw stimme letzt nicht:) :

****************schnipp**********************************
guest::cvsuser
user:verschlüsseltes pw:cvsuser
****************schnipp**********************************


5a) folgende Datei "readers"

****************schnipp**********************************
guest
****************schnipp**********************************


5b) und folgende Datei "cvswrappers"

****************schnipp**********************************
# This file affects handling of files based on their names.
#
# The -m option specifies whether CVS attempts to merge files.
#
# The -k option specifies keyword expansion (e.g. -kb for # binary).
#
# Format of wrapper file ($CVSROOT/CVSROOT/cvswrappers or #
.cvswrappers)
#
# wildcard [option value][option value]...
#
# where option is one of
# -f from cvs filter value: path to filter
# -t to cvs filter value: path to filter
# -m update methodology value: MERGE or COPY
# -k expansion mode value: b, o, kkv, &c
#
# and value is a single-quote delimited value.
# For example:
*.gif -k 'b'
*.GIF -k 'b'
*.jpg -k 'b'
*.JPG -k 'b'
*.jpeg -k 'b'
*.JPEG -k 'b'
*.png -k 'b'
*.class -k 'b'
*.jar -k 'b'
****************schnipp**********************************

5c) ich editiere die Datei "config"

****************schnipp**********************************
# Set this to "no" if pserver shouldn't check system
# users/passwords
SystemAuth=no

# Put CVS lock files in this directory rather than directly in # the
repository.
LockDir=/var/lock/cvs

# Set `TopLevelAdmin' to `yes' to create a CVS directory at the # top
level of the new working directory when using the `cvs # checkout'
command.
#TopLevelAdmin=no

# Set `LogHistory' to `all' or `TOFEWGCMAR' to log all
# transactions to the
# history file, or a subset as needed (ie `TMAR' logs all write #
operations)
LogHistory=all

# Set `RereadLogAfterVerify' to `always' (the default) to allow # the
verifymsg script to change the log message. Set it to # `stat' to
force CVS to verify# that the file has changed
# before reading it (this can take up to an extra second per #
directory being committed, so it is not recommended for large
# repositories. Set it to `never' (the previous CVS behavior) # to
prevent verifymsg scripts from changing the log message.
#RereadLogAfterVerify=always
****************schnipp**********************************
dann "mkdir /var/lock/cvs" + "chown root:cvs /var/lock/cvs" +
"chmod 770 /var/lock/cvs"


6) im Verzeichnis /etc/xinit.d erstelle ich eine Datei cvs mit diesem
Inhalt:

****************schnipp**********************************
# CVS pserver (remote acces to your CVS repositories)
# Please read the section on security and passwords in the CVS #
manual, before you enable this.
# default: off

service cvspserver
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/bin/local/cvs
server_args = -f \ --allow-root=/usr/local/cvs pserver
}
****************schnipp**********************************

in der "/etc/services" ist folgender Eintrag
cvspserver 2401/tcp

7) "cvs -d :pserver:user@adresse:/usr/local/cvs login akzeptiert
mich



Ab jetzt kommt eclipse:

1) ich lege das CVS- Repository an:
Host: adresse
Pfad: /usr/local/cvs
Benutzer: user
Kennwort: der kennwort halt

!!! wenn ich jetzt des Repository öffne, dann sehe ich unter Head
auf meinem Schlepptop das Unterverzeichnis "ai" in das ich ein Check-
In machen kann.

!!! Wenn ich das auf meinem Server so mache (wo ich selber kompiliert
habe) ist Head leer.
Wenn ich nun mein c- Zeugs auf dem Server einspielen lasse dann kann
er zwar die Unterverzeichnisse erstellen und dort auch die Dateien
einspielen. Aber in der Root kann er keine Datei erstellen - der
Vortschrittsbalken bleibt hängen bis ich abbreche.

Sorry das ist ziemlich lang geworden aber vielleicht hat ja eine einen
Vorschlag.

Danke im Voraus

con

Post Reply