L'ajout -A 1d'arguments grep vous montrera la ligne après la ligne de conflit, qui est parfois liée au conflit.
Wesley Hartford
4
-P dit à grep d'utiliser perl regex, ^ = début de la chaîne, (? =) Entoure le modèle d' anticipation qui est. {0,6} 0 à 6 caractères et la lettre C, qui est l'indicateur de conflits
Pete
5
Quel est l'intérêt d'utiliser la partie lookahead? Cela ne pourrait pas '^.{0,6}C'fonctionner aussi bien?
hans_meine
2
Pour utiliser cette même commande sous OSX, vous devez installer GNU grep car le grep BSD n'a pas le drapeau perl regex (-P)
G.Rassovsky
4
Sur Windows, la version Powershell de ceci est(svn status) -Match '^(?=.{0,6}C)'
Ne semble pas fonctionner sous Windows avec svn 1.7.8. Journal des erreurs: svn: E205001: Essayez 'svn help' pour plus d'informations svn: E205001: Merge source required
kakyo
4
Si vous avez reçu un accusé de réception de http://betterthangrep.com/ , vous pouvez effectuer les opérations suivantes
Il est peut-être possible de l'utiliser svn merge --dryruntout en spécifiant l'URL du référentiel avec toutes les révisions après la dernière mise à jour avec.
Par exemple, si votre WC actuel est basé sur la révision 147, cela pourrait le faire:
svn merge -r 148:HEAD http://url.to.repo/repo/
Ce n'est cependant rien que j'ai fait moi-même, vous devrez donc l'essayer vous-même.
Si vous n'avez pas fusionné ou mis à jour les fichiers, utilisez la commande ci-dessous
svn status --show-updates | grep -P '.*(?=.*M)(?=.*\*).*'
Pour faire court
svn st -u | grep -P '.*(?=.*M)(?=.*\*).*'
Détails
SVN ne marque pas l'état de conflit (C) jusqu'à ce que vous mettiez à jour le (s) fichier (s) à l'aide de svn update.
Jusque-là, les statuts sont affichés comme ci-dessous
M - Modifié en local
* - Mises à jour / Entrées de
M et * à distance - Modifié en local, ainsi que dans distant - Il s'agit d'un conflit mais svn n'a pas encore marqué
-A 1
d'arguments grep vous montrera la ligne après la ligne de conflit, qui est parfois liée au conflit.'^.{0,6}C'
fonctionner aussi bien?(svn status) -Match '^(?=.{0,6}C)'
Utilisez simplement grep!
la source
Vous pourriez essayer de
svn merge -r <revision> --dry-run
voir ce qui se passe de cette façon.la source
Si vous avez reçu un accusé de réception de http://betterthangrep.com/ , vous pouvez effectuer les opérations suivantes
la source
Pour l'utilisation de Windows PowerShell:
la source
Si vous avez déjà fusionné, vous pouvez utiliser
et voyez un "C" majuscule pour conflit, mais en général, vous ne devriez pas voir un tel type dans votre copie de travail.
la source
Il est peut-être possible de l'utiliser
svn merge --dryrun
tout en spécifiant l'URL du référentiel avec toutes les révisions après la dernière mise à jour avec.Par exemple, si votre WC actuel est basé sur la révision 147, cela pourrait le faire:
Ce n'est cependant rien que j'ai fait moi-même, vous devrez donc l'essayer vous-même.
la source
Si vous n'avez pas fusionné ou mis à jour les fichiers, utilisez la commande ci-dessous
svn status --show-updates | grep -P '.*(?=.*M)(?=.*\*).*'
Pour faire court
svn st -u | grep -P '.*(?=.*M)(?=.*\*).*'
Détails
SVN ne marque pas l'état de conflit (C) jusqu'à ce que vous mettiez à jour le (s) fichier (s) à l'aide de
svn update
.Jusque-là, les statuts sont affichés comme ci-dessous
M - Modifié en local
* - Mises à jour / Entrées de
M et * à distance - Modifié en local, ainsi que dans distant - Il s'agit d'un conflit mais svn n'a pas encore marqué
la source
sur mac
fait le travail
voici l'homme pour grep:
la source
^!
est l'expression régulière de chaque ligne commençant par!
. Toutes les lignes en conflit commencent par!