Guest User

Untitled

a guest
Nov 18th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.48 KB | None | 0 0
  1. If WScript.arguments.count = 0 Then
  2. Set Shell = WScript.CreateObject("WScript.Shell")
  3.  
  4. ' demande d'installation de la regedit du client :
  5. reponse = msgbox("Voulez-installer la clé de registre ?", vbQuestion+vbYesNo, "Installation")
  6. If reponse = 6 Then
  7. Shell.RegWrite "HKEY_CLASSES_ROOT\Directory\shell\StartMerge\" ,"Lancer un merge"
  8. Shell.RegWrite "HKEY_CLASSES_ROOT\Directory\shell\StartMerge\command\", "wscript """ & WScript.ScriptFullName & """ ""%1"""
  9. End If
  10.  
  11. ' Fermeture du script
  12. WScript.Quit
  13. End If
  14.  
  15. ' Récuperation du repertoire de destination
  16. workDir = WScript.arguments(0)
  17. ' demande de validation du client :
  18. reponse = msgbox("Voulez-vous lancer un merge sur " & workDir & " ?", vbQuestion+vbYesNo, "Merge")
  19. ' Yes : 6 / No : 7
  20. If reponse = 6 Then
  21. Set Shell = WScript.CreateObject("WScript.Shell")
  22.  
  23. ' Mise a jour du repo
  24. Shell.Run("cmd /c svn revert " & workDir & " -R"), 1, True
  25. Shell.Run("cmd /c svn update " & workDir), 1, True
  26.  
  27. ' Récuperation des infos du repo
  28. Set workSvnInfo = Shell.Exec("cmd /c svn info " & workDir)
  29. ' wait until finished
  30. Do While workSvnInfo.Status <> 1
  31. WScript.Sleep 100
  32. Loop
  33. ' Lecture des données
  34. Do While Not workSvnInfo.StdOut.AtEndOfStream
  35. strText = workSvnInfo.StdOut.ReadLine()
  36. If InStr(strText, "Repository Root:") > 0 Then
  37. RepoRoot=Replace(strText, "Repository Root: ", "")
  38. End If
  39. If InStr(strText, "URL:") > 0 Then
  40. RepoURL=Replace(strText, "URL: ", "")
  41. End If
  42. Loop
  43.  
  44. ' Selection des branches a mergé
  45. If InStr(RepoURL, "/branches/preprod") > 0 Then
  46. RepoDest = RepoRoot & "/branches/devel"
  47. ElseIf InStr(RepoURL, "/trunk") > 0 Then
  48. RepoDest = RepoRoot & "/branches/preprod"
  49. Else
  50. WScript.Quit
  51. End If
  52.  
  53. 'WScript.echo "Merge de " & RepoURL & " vers " & RepoDest
  54.  
  55. ' Lancement du merge
  56. Set workSvnMerge = Shell.Exec("cmd /c svn merge --ignore-ancestry " & RepoURL & "@HEAD " & RepoDest & "@HEAD " & workDir)
  57. ' wait until finished
  58. Do While workSvnMerge.Status <> 1
  59. WScript.Sleep 100
  60. Loop
  61.  
  62. ' Envoi de la demande de commit
  63. tortoisePath = Shell.ExpandEnvironmentStrings("%PROGRAMFILES%") & "\TortoiseSVN\bin\TortoiseProc.exe"
  64. Set workSvnCommit = Shell.Exec(tortoisePath & " /command:commit /closeonend:2 /path:" & workDir)
  65. ' wait until finished
  66. Do While workSvnCommit.Status <> 1
  67. WScript.Sleep 100
  68. Loop
  69.  
  70. ' demande de validation du client :
  71. reponse = msgbox("Voulez-vous restaurer le repertoire ?", vbQuestion+vbYesNo, "Merge")
  72. If reponse = 6 Then
  73. Shell.Run("cmd /c svn revert " & workDir & " -R"), 1, True
  74. End If
  75. End If
Add Comment
Please, Sign In to add comment