Skip to content

Commit c1a5d30

Browse files
committed
Add Utkarsh Sharma's GSOC report
1 parent dbcac26 commit c1a5d30

File tree

1 file changed

+138
-0
lines changed

1 file changed

+138
-0
lines changed

Diff for: _reports/Utkarsh1308.md

+138
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
---
2+
categories:
3+
- GSoC
4+
- 2019
5+
- StatusReport
6+
date: 2019-08-25
7+
student: Utkarsh Sharma
8+
organisation: coala
9+
organisation_link : https://coala.io
10+
project: Improve Diff Handling
11+
project_link: https://summerofcode.withgoogle.com/projects/#6443787042160640
12+
tarball: https://github.com/Utkarsh1308/Utkarsh1308.github.io/raw/master/Utkarsh1308_coala.tar.gz
13+
sha256sum: b9bd88b4f76c89fed8809c29f1733dd458a3fe5df12a4d024899b5d1e69883fa
14+
mentors: >
15+
[John Vandenberg](https://github.com/jayvdb)
16+
phase:
17+
- Bonding : https://gitlab.com/coala/GSoC/gsoc-2019/-/milestones/26
18+
- Phase 1 : https://gitlab.com/coala/GSoC/gsoc-2019/-/milestones/29
19+
- Phase 2 : https://gitlab.com/coala/GSoC/gsoc-2019/-/milestones/30
20+
- Phase 3 : https://gitlab.com/coala/GSoC/gsoc-2019/-/milestones/31
21+
bio: >
22+
I'm a fourth year student (expected graduation date: May 2021) at Birla Institute of Technology and Science, Goa. I participated in GSoC and worked with [coala](http://coala.io) on improving Diff Handling, by improving the context for the affected code shown by diffs, and added support for non utf-8 encodings in coala. I also added support for Binary Diffs and XML Diffs.
23+
24+
social:
25+
- GitHub:
26+
- username: Utkarsh1308
27+
- link: https://github.com/Utkarsh1308
28+
- GitLab:
29+
- username: Utkarsh1308
30+
- link: https://gitlab.com/Utkarsh1308
31+
- Gitter:
32+
- username: Utkarsh1308
33+
- link: https://gitter.im/Utkarsh1308
34+
- LinkedIn:
35+
- username: Utkarsh Sharma
36+
- link: https://www.linkedin.com/in/utkarsh-sharma-375159178/
37+
38+
blog: https://utkarsh1308.github.io/
39+
activity:
40+
- 0:
41+
- repo: cEPs
42+
- link: https://github.com/coala/cEPs/pull/190
43+
- details: >
44+
cEP-0034: Improve Diff Handling
45+
- 1:
46+
- repo: multidiff
47+
- link: https://github.com/juhakivekas/multidiff/commit/8d2cd0f0f119932236fe2826891f1a2d4df7d5a8
48+
- details: >
49+
Add .travis.yml
50+
- 2:
51+
- repo: multidiff
52+
- link: https://github.com/juhakivekas/multidiff/commit/0019fd70a7bea6bdbe6cb9f3ad8b4e63f4b3d5ed
53+
- details: >
54+
Add width and bytes attribute
55+
- 3:
56+
- repo: multidiff
57+
- link: https://github.com/juhakivekas/multidiff/commit/10ca2ad90ce1e5087c0222015ef68bc06ecca211
58+
- details: >
59+
Add diff attribute
60+
- 4:
61+
- repo: coala-utils
62+
- link: https://gitlab.com/coala/coala-utils/commit/74941151ff97b02db554dfc33c7518cfd5644e5b
63+
- details: >
64+
FileUtils.py: Fix detect_encoding
65+
- 5:
66+
- repo: coala-utils
67+
- link: https://gitlab.com/coala/coala-utils/commit/9f45ae47fdd37de06f7f39d7a33160169606ade5
68+
- details: >
69+
Add support for non utf-8 encodings
70+
- 6:
71+
- repo: coala
72+
- link: https://github.com/coala/coala/commit/6cdd9e99444688a2777b5ec0358b52bcea3c58ff
73+
- details: >
74+
ConsoleInteraction.py: Show context for diffs
75+
- 7:
76+
- repo: coala
77+
- link: https://github.com/coala/coala/commit/5085b41fd973dd29969f16dbdff5f8eef7e4fedd
78+
- details: >
79+
ConsoleInteraction.py: Add parents to syntax tree
80+
- 8:
81+
- repo: coala
82+
- link: https://github.com/coala/coala/commit/b415eeab1650d21e5eeaac5673ac717637962f72
83+
- details: >
84+
Add support for non utf-8 encodings
85+
- 9:
86+
- repo: coala
87+
- link: https://github.com/coala/coala/commit/39709cc9cfda3f7c976e2e58b67eb82b30b5c0d1
88+
- details: >
89+
Add support for binary diffs
90+
- 10:
91+
- repo: coala
92+
- link: https://github.com/coala/coala/commit/9a1cb1b6e19bf963ef75b7c95df35a92383da5f0
93+
- details: >
94+
Add support for xml diffs
95+
96+
---
97+
98+
### Improve Diff Handling
99+
100+
101+
#### Work Done
102+
103+
1. Writing tests for non utf-8 encodings in both coala and coala-utils. and
104+
adding support for non utf-8 encodings to coala.
105+
106+
2. Improvements to the diff contexts shown by coala by showing lines before
107+
and after the affected code and showing the parents (class/function).
108+
109+
3. Add Support for Showing diffs for binary files. Tested with
110+
ImageCompressionBear.
111+
112+
4. Support for xml diffs. Tested with XMLBear.
113+
114+
#### Challenges
115+
116+
Adding support for binary and xml diffs was quite complex which I was not
117+
prepared for beforehand. So I had to come up with designs for these new
118+
types of diffs and how to print them with coala. This required finding the
119+
right libraries for generating diffs for binary and xml files and using them
120+
in coala.
121+
122+
I learned many new concepts along the way. My mentor guided me whenever I got
123+
stuck at a problem and was really influential in the work I have done these
124+
three months.
125+
126+
#### Work to be done
127+
128+
The binary and xml diffs have a lot of scope for further improvement.
129+
130+
1. We can show stats for binary diffs. So the diffs will show the additions
131+
and deletions in the diff and only print the binary diff when ShowAppliedPatches
132+
is called.
133+
134+
2. XML Diffs need to be tested with bears which change data so they could be
135+
viewed in all their glory. Some new bears for XML can be written which
136+
can cause changes in xml documents.
137+
138+
3. Writing tests for the new binary and xml diffs.

0 commit comments

Comments
 (0)