2010-03-08 7 views
2

J'ai un gros fichier dans mon dépôt Mercurial qui empêche mon dépôt d'être téléchargé sur Bitbucket. Je reçois l'erreur:Quelle commande utilisez-vous pour exclure un fichier d'un référentiel Mercurial?

abort: HTTP Error 413: Request Entity Too Large 

Heureusement l'extension de fichier pour ce fichier est différent de tout le reste dans mon dépôt, il devrait être facile de créer une règle pour l'exclure. Toutefois, le fichier a été inclus dans les validations dans le référentiel jusqu'à il y a quelques jours, date à laquelle il est probablement devenu trop volumineux. Ai-je besoin de le retirer de l'histoire ainsi que des futurs commits? De quelle commande ai-je besoin pour faire cela?

J'ai trouvé ce document sur « IncludeExclude Proposition » mais je ne suis pas sûr que ce soit une fonction ou une réelle un projet:

https://www.mercurial-scm.org/wiki/IncludeExcludeProposal

Répondre

4

Si vous avez déjà engagé, et il ressemble à ce que vous avez, puis exclure (aka hgignore) ne fonctionnera pas pour vous. (Et la syntaxe avancée jamais adoptée que vous voyez dans InlcudeExcludeProposal) vous empêche d'ajouter accidentellement un fichier que vous ne voulez pas ajouter. Une fois que vous avez ajouté un fichier hgignore n'a aucun effet, et une fois que vous avez commis cet ajout il n'y a aucun moyen de le supprimer de l'histoire sans EditingHistory

Si vous pouvez simplement vous débarrasser des derniers commits (avec l'intention de refaire tout sauf le gros fichier ajoute) vous pouvez utiliser hg clone -r lastknowngoodextension existingrepopath newrepopath et vous aurez votre repo moins ces extensions non désirées à newrepopath. Je pense, Bitbucket offre une interface web pour supprimer les changesets, mais je ne suis pas certain.

Si vous ne pouvez pas simplement cloner (ou supprimer) les dernières révisions, vous êtes dans l'espace EditingHistory, en utilisant mq ou convert ou similaire.

Si vous voulez que ces fichiers soient suivis mais pas dans le repo, vous pouvez regarder le bfiles extension.

0

Maintenant, c'est possible.
TortoiseHg peut le faire (il y a une option 'Oublier le fichier').

Ou tapez hg forget dans la console.

Questions connexes