1 [[!meta title="Mudra Martin"]]
3 **Název projektu:** AnkhSVN
5 **Domovská stránka projektu:** <http://ankhsvn.open.collab.net/>
10 AnkhSVN je integrace SVN do visual studia. Jeji jedina konkurence je komercni a placeny visualSVN plugin.
11 Bohuzel tortoise neni prilis stabilni a proto bych chtel celkove zvysit stabilitu tohoto doplnku tak, aby nebyli vyvojari nuceni platit za visualSVN. Ankh svn ma mnoho otevrenych issues tykajicich se stability a také má mnoho issues, které nejsou nahlášeny.
13 Odkaz na issue Tracker:
14 http://ankhsvn.open.collab.net/issues
16 Založil jsem stability issue, který jsem našel (#708). Jedná se například o velice častou situaci, kdy je přidán nějaký soubor do verzovacího systému, ale změna ještě není commitnutá. Server tedy ví o souboru, že již existuje ale ještě nezná jeho obsah. V tuto chvíli když na tomto souboru někdo zavolá nějakou serverovou operaci AnkhSVN vyhodí vyjímku, která je ošetřena až nějakým global mechanismem a následně se OBČAS chová nějak podivně (nefungující tlačítka atd.). Tato situace nastává ve chvílích, kdy například zavoláme diff nad celou solution, nebo v případě mylného výběru tohoto souboru při výběru více položek.
18 <img src='http://support.dce.felk.cvut.cz/osp/student/mudrama1/AnkhSVN_bug.png' width=800/>
20 AnkhSVN používá pro komunikaci s SVN knihovnu SharpSVN, která není součástí tohoto open source projektu. Tato chyba nastává už v této používané knihovně, je však možné tuto chybu ošetřit i na straně Ankh, kdy se zkontroluje před zavoláním těchto serverových operací, zda se nejedná o soubor, který byl přidán ale necommitnut.
22 Další řešenou issue je issue číslo #707, které se týká nemožnosti psát zprávu přes dialogové okno. Tato issue se vyskytuje velice nepravidelně. Tato chyba se vyskytla a já jsem se jí pokusil nějak opravit. Bohužel řešení této chyby neuznali, protože celý dialogový systém se aktuálně předělává kvůli VS 2011. Pro opravení této chyby stačilo vždy při konstruování tohoto okna zavolat focus do okna se zprávou. Přesný důvod této chyby se mi však nepodařilo vypátrat. Tato chyba se v issues vyskytovala velice často a #707 je posledním výskytem této chyby.
24 Issues jsou založeny na adrese:
25 [http://ankhsvn.open.collab.net/issues/show_bug.cgi?id=708][1]
26 [http://ankhsvn.open.collab.net/issues/show_bug.cgi?id=707][2]
28 Celou opravu jsem poslal podle pravidel popsaných na adrese:
30 http://ankhsvn.open.collab.net/servlets/ProjectProcess?documentContainer=c5__How%20to%20submit%20a%20patch
34 Odkazy na mou komunikaci s vývojáři
37 **mudrama1@fel.cvut.cz**
42 Fix issue #708/707: Dont crash when try to perform uniffiedDiff, Annotation and Lock operations on added and uncommited
47 Best regards Martin Mudra
49 PatchForUncommitedFilesDiffAnotationLockOperations.patch 9 kB Stáhnout
52 **Bert Huijben bert@qqmail.nl**
57 I committed slightly tweaked portions of your patch in r11156, r11157 and
60 Somehow your patch was broken by the mailing list software. (There are blank
61 lines between all the useful lines).
64 I used an SvnItem.HasCopyableHistory check instead of added, to allow the
65 command to keep working on copied files. (The root of a copy is also
67 I applied the check in the update and execute handler to just disable the
68 command where it doesn't work instead of showing an error dialog.
69 (Another bug fixed was that it checked for .IsVersionable when fetching a
71 I also fixed a TODO: Save the file if annotating against the working
75 Unified diff does work on added files, but it didn't work on files that had
76 the change status 'New'. I fixed this by applying the 'New' status directly
78 To avoid further errors I disabled the exceptions from the diff handler and
79 write the error to the patch file instead.
82 Same as annotate: I applied the fix to the selection filter instead of to
83 the dialog processing to avoid showing UI that doesn't work instead of
85 (Also: fixed a missing resource reference)
87 Thanks for your patch!,
93 **scrumtraining@collab.net**
95 Certified ScrumMaster Training coming to Zurich, Switzerland
96 For a Limited Time: One Third Off Enrollment!
99 Do you want to be an Agile genius? Learn from the experts - CollabNet. CollabNet has more Certified Scrum trainers on staff than anyone, so you know you’ll be on the path to success.
101 Our Certified ScrumMaster training is perfect for all your team members – ScrumMasters, Product Owners, project managers, developers, testers, and architects will all benefit from the practical, hands-on exercises and small group discussions. You will leave with a thorough understanding of Agile and a clear plan to put it to work to optimize your team’s performance!
103 To encourage Agile adoption across your organization, CollabNet is offering 33% off enrollment. Forward this invitation to anyone who wants to deliver quality projects and products faster.
107 Our next Certified ScrumMaster Training will be held in Zurich 24-25 May. This is the only CollabNet Certified ScrumMaster training in Zurich until winter of this year, so don’t miss out! Click here to registerr.
109 In addition to meeting the Scrum Alliance certification requirements, this CSM course provides 14 PMI PDUs and a 2 year membership to the Scrum Alliance.
111 If you have any questions about this class, or about private consulting or coaching, please contact us at scrumtraining@collab.net.
118 scrumtraining@collab.net
121 [Odkaz na repozitář](http://ankhsvn.open.collab.net/svn/ankhsvn/trunk)
125 Odkazy na mé commity v repozitáři projektu
127 použitá subversion nepodporuje přímé odkazy na revize.
128 Commitnuté revize jsou:
132 Disable the lock command on new, replaced and copied files.
136 Add status 'New' files from the unified diff handler to allow showing them in the diff result. Instead of failing on errors add a comment line to the diff that shows what error occured.
140 Don't try to annotate new files and save documents before annotating to the working revision.
144 Jedná se o stability issues programu, dokumentace oprav je přítomná v issuetrackeru a samotné opravy v kódu.
149 ...added)//For this command server must know object, when it is not commited it doesnt make sense to use this...
155 /// Looks up a localized string similar to Item '{0}' is not commited. Perform commit operation on this file first..
157 internal static string TargetNotAdded {
158 get {return ResourceManager.GetString("TargetNotAdded", resourceCulture);}}
168 * [[Prezentace záměru práce|AnkhSVN.pdf]]
169 * [[Prezentace řešení|AnkhSVNSolution.pdf]]
173 <a href='http://www.ohloh.net/accounts/167396?ref=Detailed'>
174 <img alt='Ohloh profile for LightCZ' height='35' src='http://www.ohloh.net/accounts/167396/widgets/account_detailed.gif' width='191' />
178 [1]: http://ankhsvn.open.collab.net/issues/show_bug.cgi?id=708
179 [2]: http://ankhsvn.open.collab.net/issues/show_bug.cgi?id=707