web-dev-qa-db-fra.com

Comment faire pour diff entre tous les fichiers dans 2 dossiers qui sont sur le web?

Donc, je veux comparer ce dossierhttp://cloudobserver.googlecode.com/svn/branches/v0.4/Boost.Extension.Tutorial/libs/boost/extension/ avec cecihttp://svn.boost.org/svn/boost/sandbox/boost/extension/. Je veux obtenir un fichier diff à la suite. Ces dossiers sont sous le contrôle de svn mais je préférerais un fichier diff style Git (comme un montré ici ) J'ai essayé git diff mais cela ne semble pas fonctionner de cette façon pour les dossiers Web. Alors, comment faire la même chose avec une seule commande sous Linux?

Mise à jour: Nous avions donc ne bonne réponse . Mais cela fonctionne étrangement - il me semble que cela montre que tous les fichiers (mêmes fichiers) ont tout leur contenu remplacé par le même contenu (même si je sais avec certitude qu'il n'y a eu que 3 ou 4 lignes de code modifiées) ...

Update 2: Pour obtenir ce dont j'avais vraiment besoin (fichier dif contenant uniquement des lignes vraiment modifiées, avec un style git, on Linux) faire:

$ svn export http://cloudobserver.googlecode.com/svn/branches/v0.4/Boost.Extension.Tutorial/libs/boost/extension/ repos2 --native-eol CRLF
$ svn export http://svn.boost.org/svn/boost/sandbox/boost/extension/ repos --native-eol CRLF
$ git diff repos repos2 > fileWithReadableDiff.diff
75
Rella

Une fois que vous avez les arbres source, par exemple.

diff -ENwbur repos1/ repos2/ 

Encore mieux

diff -ENwbur repos1/ repos2/  | kompare -o -

et avoir une fissure dans un bon outil graphique :)

  • -Ewb ignore la majeure partie des changements d'espaces
  • -N détecter de nouveaux fichiers
  • -u unifié
  • -r recurse
144
sehe

Vos URL ne sont pas dans le même référentiel, vous ne pouvez donc pas le faire avec le svn diff commande.

svn: 'http://svn.boost.org/svn/boost/sandbox/boost/extension' isn't in the same repository as 'http://cloudobserver.googlecode.com/svn'

Une autre façon de procéder consiste à exporter chaque dépôt à l'aide de svn export, puis utilisez la commande diff pour comparer les 2 répertoires exportés.

// Export repositories
svn export http://svn.boost.org/svn/boost/sandbox/boost/extension/ repos1
svn export http://cloudobserver.googlecode.com/svn/branches/v0.4/Boost.Extension.Tutorial/libs/boost/extension/ repos2

// Compare exported directories
diff repos1 repos2 > file.diff
4
yvoyer