Erreur après CVS update

Erreur après CVS update

par Éric Bugnet,
Nombre de réponses : 3
Avatar Développeurs de plugins Avatar Documentation writers Avatar Traducteurs
Salut,

Je viens de faire un update par cvs, et j'ai ce message d'erreur à l'installe qui bloque le site :
Parse error: syntax error, unexpected T_STRING in /home/moodle/upload/lang/fr_utf8/mnet.php on line 44

J'ai supprimé le fichier le temps de finir la mise à jour, et ensuite recopié.

J'ai cherché l'erreur, et je n'ai finalement trouvé que 2 espaces avant le =
Je ne sais pas si c'est ça, je savais pas que ça génait, mais maintenant ça marche...

Eric
Moyenne des évaluations Utile (1)
En réponse à Éric Bugnet

Re: Erreur après CVS update

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Non, c'était autre chose : un caractère invisible que j'avais inséré par inadvertance.

Merci d'avoir réagi si vite. C'est corrigé maintenant.
En réponse à Nicolas Martignoni

Re: Erreur après CVS update

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Et c'était vraiment un vilain bogue triste
En réponse à Nicolas Martignoni

Re: Erreur après CVS update

par Pascal Maury,
Avatar Développeurs de plugins

Cadrage de ce message

Tout d'abord, comme il a déjà été dit, je rappelle que CVS est un outil complexe destiné aux développeurs et aux administrateurs système. Utilisez-le que si vous avez compris comment cela focntionnait ! Une commande CVS peut supprimer toute votre installation.
Je n'utilise CVS que dans le cadre de l'installation et la mise à jour de Moodle. C'est donc dans ce sens que j'ai écrit ce message. Je ne m'intéresse pas aux commandes liées à l'envoi de code vers un serveur CVS mais à celles liées à la récupération du code du dépôt vers un dossier local.

Installation

Afin de pouvoir mettre à jour Moodle avec CVS, il faut l'installer avec CVS.Les pages suivantes sont suffisament renseignées :

 

Avant de mettre à jour Moodle avec CVS

A ce niveau je trouve que l'information manque dans la documentation. Il me semble indispensable de savoir quels fichiers vont être impactés par la commande update avant de l'executer. Pour cela, il suffit de lancer la commande :
cvs -n -q update

L'option -n signifie de ne pas effectuer la mise à jour mais de renvoyer simplement la liste des fichiers impactés avec une lettre devant :

  • U : upgrade d'un fichier que vous n'avez pas touché ou qui n'existait pas
  • P : pareil mais avec un patch plutot que tout le fichier
  • A : ce fichier n'existe pas sur le serveur mais sur votre disque dur, et vous l'avez deja ajouté dans votre CVS local avec la commande cvs add. Il sera ajouté au prochain cvs commit
  • R : Ce fichier a ete retiré de votre copie locale avec cvs remove. Il sera supprimé au prochain cvs commit
  • M : Ce fichier est modifie sur votre disque. Soit vous seul avez modifié le fichier, soit il a ete modifié sur le serveur aussi, mais dans les deux cas, CVS a reussi à merger les fichiers, et ce sera updaté au prochain cvs comit. (En cas de merge, CVS fair une copie de votre fichier local)
  • C : Il y a un conflit entre votre travail et les fichiers sur le serveur (quelqu'un a modifie le fichier en meme temps que vous au meme endroit) le fichier comprend desormais les deux sources, et vous devez l'editer pour l'homogeneiser (c'est composé de >>>>>>>>>>>>> de ============== et de <<<<<<<<<<<<<<<)
    Votre fichier de toute facon est sauvé sous la forme #fichier.revision où revision est le numéro de version attribué par CVS
    Pour confirmer la nouvelle version, utilisez cvs commit fichier
  • ? : Ce fichier est sur votre disque mais ne correspond a rien sur le serveur. Utilisez cvs add fichier si vous voulez ajouter le fichier sur le serveur. Attention certains fichiers sont ignorés ! C'est le cas des .bak. Je ne connais pas la liste exacte. Les fichiers cachés ne sont pas ignorés par exemple.
Une commande CVS se propage aux sous dossiers mais ne "remonte" pas au dossier parent. il est donc possible de lancer la commande cvs -n -q update au niveau d'un dossier en particulier si besoin.

Si vous avez besoin d'en savoir plus, vous pouvez connaître le statut exact de chaque fichier :
cvs status files ||   cvs status

Display the status of files. The version number of the working copy and the latest revision in the repository are shown. If no files are specified, the status of all files under CVS control will be shown. One of the following values will be shown under "Status:".
  • Up-to-date
    The local working copy of the file and the latest version in the repository are identical.
  • Needs Checkout
    Someone else has committed a newer revision to the repository. The name is slightly misleading; you will ordinarily use update rather than checkout to get that newer revision.
  • Locally Modified
    The local file is a changed version of the most recent version that is in the repository, i.e. you have the most recent version of the file, and have made changes to it. If you are through making changes, you should commit them.
  • Locally Added
    A file as been added to the CVS repository, but no versions exist yet in the repository. One must do a cvs commit to commit the first version.
  • Needs Patch
    A newer version of the file is available in the repository. You have not made any changes to the local file since it was checked out from the repository. Therefore a cvs update will simply overwrite the file with the latest version from the repository.
  • Needs Merge
    A newer version of the file is available in the repository. However you have also made changes to your local file, which means the two versions must be reconciled. One usually tries to avoid this situation by doing a cvs update to get the latest version before editing a file, and then checking in that new version as soon as possible so others may use it.
    When you do a "cvs udpate" on a "Needs Merge" file, CVS will try to reconcile the differences. If the differences do not overlap, then CVS can successfully merge the versions, and leave you with a "Locally Modified" copy of the last version in the repository.
    If the differences overlap, then CVS will merge the differences into the working copy, report "warning: conflicts during merge", and set the status to "File had conflicts on merge".
  • File had conflicts on merge
    As discussed under "Needs Merge" above, a local file and the latest repository version had overlapping differences which CVS could not automatically reconcile. After the cvs update the local version will contain both versions of the differences. One then must hand-edit the file, looking for sections like the following:
    <<<<<<< filename
    ... lines from local version
    =======
    ... lines from latest repository version X.Y
    >>>>>>> X.Y
    Once you have reconciled the differences and removed the dividers you can commit your new version to the repository.
  • Unknown
    This file has not been added to the CVS repository. If you want to maintain it under CVS, you should add and commit it, see cvs add and cvs commit.



Mettre à jour Moodle

Après vous être assuré que seule la lettre U ou un '?' apparait devant chaque fichier de la liste (ce qui signifie que vous n'avez modifié aucun fichier en local ou qu'au pire vous en avez ajouté), vous pouvez lancer la mise à jour au niveau de la racine de votre installation :
cvs update -dP

Sources

http://www.eol.ucar.edu/software/cvs/atd_cvs_guide_contents.html
http://www.network-theory.co.uk/docs/cvsmanual/Filestatus.html
http://www.network-theory.co.uk/docs/cvsmanual/InvokingCVS.html
http://robert.cheramy.net/2001/10/cvshowto/cvs.html
Moyenne des évaluations Utile (2)