Vous n'êtes pas identifié(e).
Pages : 1
cool, ca marche
Un très grand merci a toi !!
c'est fait..
Je t'ai remis admin et le répertoire est crée
[gildas@pgfoundry /cvsroot/npgtools]$ ls -al
total 14
drwxrwxr-x 4 nobody npgtools 512 Sep 6 08:57 .
drwxrwxr-x 370 admin admin 7168 Jul 29 16:07 ..
drwxr-xr-x 4 gildas npgtools 512 Sep 3 21:59 CVSROOT
drwxr-xr-x 2 gildas npgtools 512 Sep 6 08:57 npgtools
le répertoire npgtools est bien présent dans l'arbre de dépot de pgfoundry : http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgtools/
Est il normal que j'arrive a ajouter des fichiers dans CVSROOT mas pas dans un autre répertoire ?
Je m'explique, quand je crée le répertoire /cvsroot/npgtools/CVSROOT j'arrive a ajouter des répertoires et des fichiers dans CVSROOT, par contre les fichiers et répertoires ajoutés et commités ne sont pas visibles dans l'arbre de dépot de pgfoundry (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgtools/).
Si j'ajoute un répertoire npgtools (/cvsroot/npgtools/npgtools) alors celui ci est visible dans l'arbre de dépot mais il m'est impossible d'ajouter des fichiers dans ce répertoire...
It Work's !!!
Merci beaucoup !
Par contre, petit soucis, vu que j'ai fait le mkdir, le répertoire a gleu comme propriétaire. Si tu veux que tu sois le propriétaire (ce serait bien plus logique), dis-le moi. Je supprimerais le répertoire pour que tu puisses le créer toi-même. Mais en attendant, regarde déjà si le checkout fonctionne pour toi.
Je voudrais bien oui, car la j'ai des permission denied...
Merci beaucoup en tout cas...
A priori, il faudra que je crée moi même le répertoire, et le checkout ne fonctionne pas pour le moment
gildas@PC /cygdrive/c/npgtools
$ export CVS_RSH=ssh
gildas@PC /cygdrive/c/npgtools
$ cvs -d :ext:gildas@cvs.pgfoundry.org:/cvsroot/npgtools checkout npgtools
The authenticity of host 'cvs.pgfoundry.org (200.46.204.130)' can't be establish
ed.
DSA key fingerprint is cb:08:ee:77:f4:01:88:14:41:2a:bf:a9:49:3b:4b:65.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'cvs.pgfoundry.org,200.46.204.130' (DSA) to the list
of known hosts.
Password:
cvs server: cannot find module `npgtools' - ignored
cvs [checkout aborted]: cannot expand modules
gildas@PC /cygdrive/c/npgtools
$ cvs -d :ext:gildas@cvs.pgfoundry.org:/cvsroot/npgtools checkout
cvs [checkout aborted]: must specify at least one module or directory
gildas@PC /cygdrive/c/npgtools
$ cvs -d :ext:gildas@cvs.pgfoundry.org:/cvsroot/npgtools checkout CVSROOT
Password:
cvs checkout: Updating CVSROOT
cvs checkout: failed to create lock directory for `/cvsroot/npgtools/CVSROOT' (/
cvsroot/npgtools/CVSROOT/#cvs.lock): Permission denied
cvs checkout: failed to obtain dir lock in repository `/cvsroot/npgtools/CVSROOT
'
cvs [checkout aborted]: read lock failed - giving up
Comment fais tu pour te connecter en ssh sur le répertoire du projet ?
Merci beaucoup...
Comment le contacter sans qu'il se sente agressé ?
via le forum d'aide de PgFoundry ?
via email ?
Merci
Tu es ajouté en tant qu'administrateur du projet.
Merci
Bonjour,
Désolé de poster mon problème ici, mais n'ayant pas de retour de PGFoundry (http://pgfoundry.org/forum/forum.php?th … orum_id=44), je me retourne vers le seul forum actif et français de surcroit que je connaisse...
J'ai crée un projet sur PGFoundry (npgtools), et j'aimerais déposer des fichiers dans le CVS, mais problème... lorsque j'essaie de déposer un fichier ou faire toute autre action j'ai l'erreur suivante :
cvs -d :ext:gildas@cvs.pgfoundry.org:/cvsroot/npgtools checkout npgtools
Cannot access /cvsroot/npgtools/CVSROOT
No such file or directory
Je suis sous windows XP, et cette erreur apparait que je passe par TurtoiseCVS IHM, Cygwin ou bien directement en ligne de commande windows.
Je sais que certains ici ont des comptes Pgfoundry, je peux les mettre temporairement admins sur le projet afin de voir.
D'avance merci
Merci pour toutes ces informations
Edit :
En 8.3.7 (Win32), liste des dépendances :
- comerr32.dll
- gssapi32.dll
- k5sprt32.dll
- krb5_32.dll
- libeay32.dll
- libiconv-2.dll
- libintl-8.dll
- libpq.dll
- ssleay32.dll
- zlib1.dll
Ca dépend également du type de dump que tu veux faire : sauvegarde intégrale de ta base ou simple extraction des données de tables ?
Sauvegarde intégrale effectivement.
Deux questions me viennent a l'esprit :
Pg_dump est il portable ? (c.a.d, fonctionne il sans aucune installation de PostGreSQL sur le poste sur lequel il est lancé ?)
Si oui, quelles sont les dll nécéssaires a l'exécution de pg_dump ? (Hormis les dll VC++)
Merci
Bonjour a tous,
Est il possible d'effectuer une sauvegarde de base de données (pg8.3) sans passer par le traditionnel pg_dump ?
Ceci pour une application .Net/C# utilisant actuellement Npgsql, l'idée étant de me passer de créer un process pg_dump.exe pour faire la sauvegarde.
Merci d'avance.
Pour ce que ça vaut, j'ai corrigé la fonction en incluant le code dans une variable de type text. Ça me donne ceci :
....
et ça fonctionne pour moi.
Merci de t'être penché sur mon problème, mais le renommage du premier record a suffit a résoudre mon problème.
C'est bon j'ai trouvé l'erreur...
En fait le message renvoyé n'est pas trop clair, je me suis attardé sur le fameux '$1' de ma fonction alors que le problème vient de la variable record de la fonction PatchDatabase qui est aussi utilisée dans la fonction my_function.
Donc on a deux fois la même variable, pas bien... J'ai donc renommé la variable de la fonction PatchDatabase et cela fonctionne...
Désolé !
Bonjour,
J'ai de nombreuses bases de versions différentes, que je dois mettre a jour, la mise a jour se fait via l'exécution d'une fonction PlPgsql seulement si la version de la base est antérieure à la version du patch, ceci assure donc que les bases mises à jour aient tous les patchs passés, et ceci quelque soit la version.
Ex : J'ai 3 patchs a passer sur mes bases...
- Base a en version 1.0 -> passage des patchs 1, 2 et 3
- Base b en version 1.0 patch 2 -> passage du patch 3 uniquement
- Base c en version 1.0 patch 3 -> passage d'aucun patch
- Base d en version 1.0 patch 1 -> passage des patchs 2 et 3
J'espere que c'est clair désormais...
Bon maintenant, je vais exposer le réel problème rencontré. Le patch est réalisé via une fonction PlPgsql, qui elle meme peut mettre a jour ou créer des fonctions PlPgsql... Les fonctions Plpgsql contentant des paramètres ne sont pas gérables du fait que le Dollar ($) utilisé pour les parametres dans les fonctions ne passe pas lors de l'exécution du patch...
Coment utiliser le Dollar dans une fonction PlPgsql qui se trouve dans une fonction PlPgsqL ?
Comment reproduire la chose ?
Tout d'abord créer la table permettant de gérer le versionning...
CREATE TABLE versions
(
id_version character varying(16) NOT NULL,
commands character varying,
"number" integer,
CONSTRAINT versions_pkey PRIMARY KEY (id_version)
)
WITH (OIDS=FALSE);
INSERT INTO versions(id_version, commands, "number") VALUES ('1.0.3211', '', 3211);
On voit que cette bases est versionnée 1.0.3211
Ensuite essayer de passer le patch 1.0.3221... bonne chance...
---------------------------------------------------------
--- DROP PREVIOUS PATCH ---
---------------------------------------------------------
DROP FUNCTION IF EXISTS PatchDatabase();
---------------------------------------------------------
--- PREPARE PATCH ---
---------------------------------------------------------
CREATE FUNCTION PatchDatabase() RETURNS void AS
$$
DECLARE
record RECORD;
recordVersion RECORD;
BUILD_VERSION integer := 3321;
FULL_VERSION varchar := '1.0.3321';
BEGIN
SELECT * INTO record FROM versions WHERE "number">=BUILD_VERSION;
IF record IS NULL THEN
BEGIN
CREATE OR REPLACE FUNCTION my_function(channelid integer)
RETURNS SETOF record AS
$BODY$
DECLARE
chain_key INTEGER;
chain_id INTEGER;
record RECORD;
BEGIN
FOR chain_id IN SELECT id_acq_chain FROM channels, acq_chains WHERE channels.key_acq_chain = acq_chains.key_acq_chain and id_channel=$1 ORDER BY channels.date_modif, acq_chains.date_modif DESC LIMIT 1
LOOP
SELECT * INTO record FROM acq_chains WHERE id_acq_chain=chain_id ORDER BY date_modif DESC LIMIT 1;
RETURN NEXT record;
END LOOP;
RETURN;
END
$BODY$
LANGUAGE 'plpgsql' VOLATILE SECURITY DEFINER COST 100 ROWS 1;
RETURN;
EXCEPTION WHEN unique_violation THEN
END;
END IF;
END;
$$
LANGUAGE 'plpgsql';
---------------------------------------------------------
--- LAUNCH PATCH ---
---------------------------------------------------------
SELECT * FROM PatchDatabase();
Le résultat de l'exécution de ce patch est
ERROR: syntax error at or near "$1"
État SQL :42601
Contexte : SQL statement in PL/PgSQL function "patchdatabase" near line 28
Donc pas top... Comment utiliser le dollar ?
D'avance Merci...
Pages : 1