Vă mulțumim pentru susținere

Integrarea Fogbugz cu TortoiseSVN fără backend de adrese URL / Subversiune

Am instalat TotroiseSVN și am avut o majoritate a depozitelor mele verificând și ieșind din C: \ subversion \ și un cuplu de check-in și ieșire dintr-o partajare de rețea (am uitat despre asta când am publicat inițial această întrebare) / em>.

Aceasta înseamnă că nu am un server "subversiune" per-se.

Cum integrez TortoiseSVN și Fogbugz?

Editați: inserați italic

0
adăugat editat
Vizualizări: 1
Ajută această url? << a href = "http://www.fogcreek.com/FogBugz/docs/40/Articles/SourceControl/TortoiseSVN.html>" rel = "nofollow noreferrer"> fogcreek.com/FogBugz/docs/40/Articles/SourceControl / & hellip; ;
adăugat autor Pat
Dacă tocmai ați venit aici - Fogbugz se integrează acum cu Mercurial - îl numesc Kiln. Versiunea găzduită este gratuită pentru <3 utilizatori.
adăugat autor CAD bloke

5 răspunsuri

Acest răspuns este incomplet și greșit! Funcționează numai de la TortoisSVN la Fogbugz, dar nu invers. Încă mai trebuie să știu cum să-l fac să funcționeze înapoi de la Fogbugz (așa cum este proiectat să), astfel încât să văd numărul Reviziei în care se adresează un bug de la Fogbugz în timp ce se uită la un bug.


URL-uri utile

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn- pirogă-propertypage.html

http://tortoisesvn.net/issuetracker_integration


Setați "Cârligele"

  1. Go into your fogbugz account and click Extras > Configure Source Control Integration

  2. Download "post-commit.bat" and the VBScript file for Subversion

  3. Create a "hooks" directory in a common easily accessed location (preferably with no spaces in the file path)

  4. Place a copy of the files in the hooks directories

  5. Rename the files without the ".safe" extension

  6. Right click on any directory.

  7. Select "TortoiseSVN > Settings" (in the right click menu from the last step)

  8. Select "Hook Scripts"

http://www.chomperstomp.com/img/tortoiseSVNSettings.png

  1. Click "Add"

  2. Set the properties thus:

    • Hook Type: Post-Commit Hook

    • Working Copy Path: C:\\Projects (or whatever your root directory for all of your projects is. If you have multiple you will need to do this step for each one.)

    • Command Line To Execute: C:\\subversion\\hooks\\post-commit.bat (this needs to point to wherever you put your hooks directory from step 3)

    • I also selected the checkbox to Wait for the script to finish...

AVERTISMENT: Nu uitați dublu-back-slash! "\\"

Faceți clic pe OK ...

Adăugarea unui script cu cârlig

Notă: screenshot-ul este diferit, urmați textul pentru căile de fișiere, NOT screenshot ...

În acest moment s-ar părea că ați putea să faceți clic pe "Issue Tracker Integration" și selectați Fogbugz. nu. Pur și simplu returnează "Nu există furnizori de tracker-uri disponibile".

  1. Faceți clic pe "OK" pentru a închide întregul fereastră de dialog pentru setări

Configurați proprietățile

  1. Once again, Right click on the root directory of the checked out project you want to work with (you need to do this "Configurați proprietățile" step for each project -- See "Proprietățile de migrare între proiecte" below)

  2. Select "TortoiseSVN > Properties" (in the right click menu from the last step)

  3. Add five property value pairs by clicking "New..." and inserting the following in "Property Name" and "Property Value" respectively:

bugtraq:label BugzID:
bugtraq:message BugzID: %%BUGID%%

bugtraq:number true

bugtraq:url http://[your fogbugz URL here]/default.asp?%BUGID%

bugtraq:warnifnoissue false

properties window adding new property

  1. Faceți clic pe "OK"

Comandarea modificărilor și vizualizarea jurnalelor

Acum, când porniți, puteți specifica un bug pe care se adresează comitetele. Acest tip de forțe pe care trebuie să-l faci după ce ai rezolvat fiecare bug ...

specificarea unei erori adresate atunci când comiteți

When you view the log (Right click root of project, TortoiseSVN > show log) you can see the bug id that each checking corresponds to (1), and you can click the bug id number to be taken to fogbugz to view that bug automatically if you are looking at the actual log message. Pretty nifty!

http://www.chomperstomp.com/img/viewLog.png


Proprietățile de migrare între proiecte

  1. Right click on a project that already has the proper Properties configuration

  2. Select "TortoiseSVN > Properties" (from the right-click menu from step 1)

  3. Highlight all of the desired properties

  4. Click "Export"

  5. Name the file after the property, and place in an easily accessible directory (I placed mine with the hooks files)

salvați dialogul proprietăților

  1. Faceți clic dreapta pe directorul rădăcină al proiectului verificat care are nevoie de proprietăți setate pentru.

  2. Faceți clic pe "Import"

  3. Selectați fișierul exportat în pasul 4 de mai sus

  4. Faceți clic pe Deschidere

0
adăugat

De ce nu puteți instala pur și simplu un server de subversiune? Dacă descărcați Serverul VisualSVN , care este gratuit, primiți un server http pentru codul sursă și puteți utilizați astfel scripturile FogBugz pentru integrarea celor două.

Motivul pentru care pun întrebarea este că toate scripturile și documentația până acum presupun că aveți serverul, script-urile de pe partea clientului sunt prea noi pentru ca FogBugz să aibă șabloane pentru ele, astfel încât să rămâi destul de mult pe propriile dvs. dispozitive.

0
adăugat

Nu sunt sigur că te urmăresc. Aveți depozitele în rețea sau pe unitatea dvs. C: \? Potrivit celor două postări, aveți amândoi sau nici unul, nici unul dintre ei sau ...

Nu puteți obține VisualSVN sau Apache pentru a difuza în siguranță depozitele dintr-o partajare de rețea. Din moment ce ați spus inițial că aveați depozitele de pe unitatea dvs. C: \, pentru asta obțineți sfaturi. Dacă aveți o configurație diferită, trebuie să ne spuneți asta.

Dacă aveți depozitele de pe harddisk-ul local, aș instala VisualSVN sau o voi integra în Apache. VisualSVN poate funcționa bine alături de Apache, deci dacă mergeți pe acel traseu, trebuie doar să îl instalați. Depozitele existente pot fi copiate doar în directorul rădăcină al depozitului VisualSVN și sunteți în desfășurare.

Nu sunt sigur de ce postul mare aici este etichetat ca incomplet, deoarece detaliază pașii necesari pentru a crea un script de tip cârlig pentru a informa FogBugz despre noile revizuiri legate de cazuri, care ar trebui să fie ceea ce incomplete mesajul spune că nu face. Nu funcționează asta?

0
adăugat
Am o grămadă de depozite pe unitatea mea C: \ și câteva pe o rețea. Punctul fiind, am broasca testoasa, nu am subversiune, cum pot inca sa fac sa functioneze?
adăugat autor cmcculloh
Soluția mea este incompletă deoarece funcționează doar într-un fel. Modul în care este proiectat să funcționeze, când faceți o schimbare, introduceți un număr de caz fogbugz. Apoi, când vizualizați jurnalul de subversiune, numărul cazului va fi un link clicabil la fogbugz.
adăugat autor cmcculloh
Atunci când vizualizați un caz de fogbugz pe site-ul fogbugz, se presupune că există o listă a controalelor de subversiune care se referă la acel caz. În momentul de față soluțiile mele vor crea legături în jurnalele de subversiune (tortoise), dar nu pe paginile de fogbugz.
adăugat autor cmcculloh

Problema este că FogBugz se va conecta la o pagină web, iar fișierul: /// etc nu este o pagină web. Pentru a obține integrarea în două moduri, aveți nevoie de un server web pentru depozitul dvs. de subversiune. Fie ai instalat Apache, fie altceva care poate găzdui acele lucruri în mod corespunzător.

0
adăugat

Am investigat această problemă și am reușit să o fac să funcționeze. Există câteva probleme minore, dar pot fi rezolvate.

Există 3 părți distincte la această problemă, după cum urmează:

  1. Partea TortoiseSVN - obținerea TortoiseSVN pentru a insera Bugid și hyperlinkul în jurnalul svn

  2. Partea FogBugz - obținerea lui FogBugz pentru a insera informațiile SVN și legăturile corespunzătoare

  3. Partea WebSVN - asigurarea faptului că link-urile de la FogBugz funcționează efectiv

Instrucțiunile pentru partea 1 se găsesc într-un alt răspuns, deși într-adevăr depășesc cerințele. Chestia despre cârlige este de fapt pentru partea 2, și așa cum este menționat - nu funcționează "afară din cutie"

Doar pentru a confirma, ne uităm la utilizarea unui TortoiseSVN WITHOUT un server SVN (de exemplu, un depozit bazat pe fișiere)

Accesez depozitele folosind căile UNC, dar funcționează și pentru unitățile locale sau pentru unitățile mapate.

Toate acestea funcționează cu TortoiseSVN v1.5.3 și SVN Server v1.5.2 (Trebuie să instalați serverul SVN deoarece partea 2 are nevoie de svnlook.exe care se află în pachetul de server. pentru a lucra ca server SVN) Este chiar posibil să copiați svnlook.exe de pe un alt computer și să-l puneți undeva pe calea ta.

Partea 1 - TortoiseSVN

Crearea proprietăților TortoiseSVN este tot ceea ce este necesar pentru a obține legăturile din jurnalul SVN.

Instrucțiunile anterioare funcționează bine, le citez aici pentru comoditate:

Configure the Properties

  1. Right click on the root directory of the checked out project you want to work with.

  2. Select "TortoiseSVN -> Properties"

  3. Add five property value pairs by clicking "New..." and inserting the following in "Property Name" and "Property Value" respectively: (make sure you tick "Apply property recursively" for each one)

    bugtraq:label    BugzID:
    bugtraq:message  BugzID: %BUGID%
    bugtraq:number   true
    bugtraq:url      http://[your fogbugz URL here]/default.asp?%BUGID%
    bugtraq:warnifnoissue   false
    
  4. Click "OK"

După cum spune Jeff, va trebui să faceți acest lucru pentru fiecare copie de lucru, deci urmați instrucțiunile sale pentru migrarea proprietăților.

Asta e. TortoiseSVN va adăuga acum un link la codul de identificare FogBugz corespunzător atunci când vă angajați. Dacă asta e tot ce vrei, poți să te oprești aici.

Partea 2 - FogBugz

Pentru ca acest lucru să funcționeze, trebuie să stabilim scenariile cu cârlig. Practic, fișierul batch este numit după fiecare comitere, iar acesta, la rândul său, numește scriptul VBS care face trimiterea la FogBugz. De fapt, scriptul VBS funcționează bine în această situație, deci nu trebuie să îl modificăm.

Problema este că fișierul batch este scris pentru a funcționa ca un cârlig server , dar avem nevoie de un cârlig client .

Serverul SVN apelează cârligul post-comitet cu acești parametri:

 

TortoiseSVN apelează cârligul post-comitet cu acești parametri:

     

De aceea nu funcționează - parametrii sunt greșiți. Trebuie să modificăm fișierul lot astfel încât să treacă parametrii corecți în scriptul VBS.

Veți observa că TSVN nu trece calea depozitului, ceea ce reprezintă o problemă, dar funcționează în următoarele situații:

  • Numele repozitoriei și numele copiei de lucru sunt identice
  • Faceți comiterea la rădăcina copiei de lucru, nu subfolder.

O să văd dacă pot rezolva această problemă și voi posta aici dacă o fac.

Iată fișierul meu modificat care nu funcționează (vă rugăm să scuzați comentariile excesive ...)

Va trebui să setați directoarele cârligului și depozitului pentru a se potrivi configurației.

rem @echo off
rem   SubVersion -> FogBugz post-commit hook file
rem   Put this into the Hooks directory in your subversion repository
rem   along with the logBugDataSVN.vbs file

rem   TSVN calls this with args      
rem   The ones we're interested in are  and  which are %4 and %6

rem   YOU NEED TO EDIT THE LINE WHICH SETS RepoRoot TO POINT AT THE DIRECTORY 
rem   THAT CONTAINS YOUR REPOSITORIES AND ALSO YOU MUST SET THE HOOKS DIRECTORY

setlocal

rem   debugging
rem echo %1 %2 %3 %4 %5 %6 > c:\temp\test.txt

rem   Set Hooks directory location (no trailing slash)
set HooksDir=\\myserver\svn\hooks

rem   Set Repo Root location (ie. the directory containing all the repos)
rem   (no trailing slash)
set RepoRoot=\\myserver\svn

rem   Build full repo location
set Repo=%RepoRoot%\%~n6

rem   debugging
rem echo %Repo% >> c:\temp\test.txt

rem   Grab the last two digits of the revision number
rem   and append them to the log of svn changes
rem   to avoid simultaneous commit scenarios causing overwrites
set ChangeFileSuffix=%~4
set LogSvnChangeFile=svn%ChangeFileSuffix:~-2,2%.txt

set LogBugDataScript=logBugDataSVN.vbs
set ScriptCommand=cscript

rem   Could remove the need for svnlook on the client since TSVN 
rem   provides as parameters the info we need to call the script.
rem   However, it's in a slightly different format than the script is expecting
rem   for parsing, therefore we would have to amend the script too, so I won't bother.
rem @echo on
svnlook changed -r %4 %Repo% > %temp%\%LogSvnChangeFile%
svnlook log -r %4 %Repo% | %scriptCommand% %HooksDir%\%LogBugDataScript% %4 %temp%\%LogSvnChangeFile% %~n6

del %temp%\%LogSvnChangeFile%
endlocal

O să presupun că arhivele sunt la \\ myserver \ svn \ , iar copiile de lucru sunt toate sub `C: \ Projects \

  1. Go into your FogBugz account and click Extras -> Configure Source Control Integration

  2. Download the VBScript file for Subversion (don't bother with the batch file)

  3. Create a folder to store the hook scripts. I put it in the same folder as my repositories. eg. \\myserver\svn\hooks\

  4. Rename VBscript to remove the .safe at the end of the filename.

  5. Save my version of the batch file in your hooks directory, as post-commit-tsvn.bat

  6. Right click on any directory.

  7. Select "TortoiseSVN > Settings" (in the right click menu from the last step)

  8. Select "Hook Scripts"

  9. Click "Add" and set the properties as follows:

    • Hook Type: Post-Commit Hook

    • Working Copy Path: C:\Projects (or whatever your root directory for all of your projects is.)

    • Command Line To Execute: \\myserver\svn\hooks\post-commit-tsvn.bat (this needs to point to wherever you put your hooks directory in step 3)

    • Tick "Wait for the script to finish"

  10. Click OK twice.

Data viitoare când vă angajezi și introduceți un Bugid, acesta va fi trimis la FogBugz. Link-urile nu vor funcționa, dar cel puțin informațiile de revizuire sunt acolo și puteți căuta manual jurnalul în TortoiseSVN.

NOTĂ: Veți observa că rădăcina repozitorului este codată greu în fișierul lot. În consecință, dacă ieșiți din depozite care nu au aceeași rădăcină (de ex. Una pe unitatea locală și una pe rețea), atunci va trebui să utilizați 2 fișiere batch și 2 intrări corespunzătoare în Scripts Hook în TSVN setări. Modul de a face acest lucru ar fi să aveți 2 copaci separați de copie de lucru - câte unul pentru fiecare rădăcină de depozit.

Partea 3 - WebSVN

Errr, nu am facut asta :-)

Din citirea documentelor WebSVN, se pare că WebSVN nu se integrează de fapt cu serverul SVN, se comportă ca orice alt client SVN, dar prezintă o interfață web. În teorie, ar trebui să funcționeze bine cu un depozit bazat pe fișiere. Nu am încercat totuși.

0
adăugat