]> rtime.felk.cvut.cz Git - edu/osp-wiki.git/blob - student/mudrama1/index.mdwn
(no commit message)
[edu/osp-wiki.git] / student / mudrama1 / index.mdwn
1 [[!meta title="Mudra Martin"]]
2
3 **Název projektu:** AnkhSVN
4
5 **Domovská stránka projektu:** <http://ankhsvn.open.collab.net/>
6
7 Zadání
8 ======
9
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.
12
13 Odkaz na issue Tracker:
14 http://ankhsvn.open.collab.net/issues
15
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.
17
18 <img src='http://support.dce.felk.cvut.cz/osp/student/mudrama1/AnkhSVN_bug.png' width=800/>
19
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.
21
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.
23
24 Issues jsou založeny na adrese:
25 http://ankhsvn.open.collab.net/issues/show_bug.cgi?id=708
26 http://ankhsvn.open.collab.net/issues/show_bug.cgi?id=707
27
28 Celou opravu jsem poslal podle pravidel popsaných na adrese:
29
30 http://ankhsvn.open.collab.net/servlets/ProjectProcess?documentContainer=c5__How%20to%20submit%20a%20patch
31
32
33
34 Odkazy dokládající výsledky mé práce
35 ======
36
37 -----
38 Odkazy na mou komunikaci s vývojáři v on-line archivech veřejných diskuzí
39 =======
40
41 mudrama1@fel.cvut.cz
42 12.4.
43 komu: dev 
44 [[[
45 Fix issue #708/707: Dont crash when try to perform uniffiedDiff, Annotation and Lock operations on added and uncommited
46 ]]]
47
48
49
50 Best regards Martin Mudra
51
52 PatchForUncommitedFilesDiffAnotationLockOperations.patch 9 kB   Stáhnout  
53
54 13.4.
55 Bert Huijben bert@qqmail.nl
56
57 Hi Martin,
58
59 I committed slightly tweaked portions of your patch in r11156, r11157 and
60 r11158.
61
62 Somehow your patch was broken by the mailing list software. (There are blank
63 lines between all the useful lines).
64
65 Annotate:
66 I used an SvnItem.HasCopyableHistory check instead of added, to allow the
67 command to keep working on copied files. (The root of a copy is also
68 .IsAdded)
69 I applied the check in the update and execute handler to just disable the
70 command where it doesn't work instead of showing an error dialog.
71 (Another bug fixed was that it checked for .IsVersionable when fetching a
72 targets list)
73 I also fixed a TODO: Save the file if annotating against the working
74 revision.
75
76 Unified Diff:
77 Unified diff does work on added files, but it didn't work on files that had
78 the change status 'New'. I fixed this by applying the 'New' status directly
79 here.
80 To avoid further errors I disabled the exceptions from the diff handler and
81 write the error to the patch file instead.
82
83 Lock:
84 Same as annotate: I applied the fix to the selection filter instead of to
85 the dialog processing to avoid showing UI that doesn't work instead of
86 showing errors.
87 (Also: fixed a missing resource reference)
88
89 Thanks for your patch!,
90        Bert
91
92 ----
93 [Odkaz na repozitář](http://ankhsvn.open.collab.net/svn/ankhsvn/trunk)
94 =======
95
96 ---
97 Odkazy na mé commity v repozitáři projektu
98 ========
99 použitá subversion nepodporuje přímé odkazy na revize.
100 Commitnuté revize jsou:
101
102 **r11158:**
103
104 Disable the lock command on new, replaced and copied files.
105
106 **r11157:**
107
108 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.
109
110 **r11156:**
111
112 Don't try to annotate new files and save documents before annotating to the working revision.
113
114 * [Další relevantní odkazy dokládající mou práci...](http://lwn.net/Articles/385586/)
115
116 Dokumentace
117 ========
118 Jedná se o stability issues programu, dokumentace oprav je přítomná v issuetrackeru a samotné opravy v kódu. 
119 Ukázky:
120
121 1
122
123     ...added)//For this command server must know object, when it is not commited it doesnt make sense to use this...
124
125 2
126
127     ...
128     /// <summary>
129     ///   Looks up a localized string similar to Item &apos;{0}&apos; is not commited. Perform commit operation on this file first..
130     /// </summary>
131     internal static string TargetNotAdded {
132     get {return ResourceManager.GetString("TargetNotAdded", resourceCulture);}}
133     ...
134
135
136
137
138
139 Prezentace
140 ==========
141
142 * [[Prezentace záměru práce|AnkhSVN.pdf]]
143 * [[Prezentace řešení|AnkhSVNSolution.pdf]]
144
145 Ohloh
146 =====
147 <a href='http://www.ohloh.net/accounts/167396?ref=Detailed'>
148 <img alt='Ohloh profile for LightCZ' height='35' src='http://www.ohloh.net/accounts/167396/widgets/account_detailed.gif' width='191' />
149 </a>