Size: 2325
Comment:
|
Size: 2891
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 24: | Line 24: |
* '''Project description''': Improve the user-friendliness of merge conflicts | * '''Project description''': Improve the user-friendliness of merge conflicts. Currently, a number of merge conflicts are not handled in a clean way. Rather than present the user with a number of ways to handle a conflict, Mercurial simply aborts. One example of this is directory/file conflicts. This is the case where on one side of the merge, a file is created. On the other side of the merge, a directory with the same name is created. During a merge, an obscure error pops up. This should be handled properly, by allowing the user to choose how to handle the conflict. |
Line 26: | Line 31: |
* '''Difficulty level''': Easy/Intermediate/Difficult ? | * '''Difficulty level''': Difficult (?) |
Line 28: | Line 33: |
* '''Further details''': Merge conflicts between files and directories are not handled in a user-friendly way. Similarly, largefiles conflicts are also not handled very well. | * '''Further details''': MergePlan contains more details about the exact problem and a possible path forward. Additionally, the [[https://selenic.com/repo/hg/file/default/mercurial/filemerge.py|filemerge code]] is most likely to be relevant. |
GSoC Project Ideas for 2016
Here are some ideas of possible 2016 summer project ideas for Mercurial. Your own ideas are welcome. You may decide to work on these ideas or use them as a starting point for your own.
All potential GSoC candidates should visit our SummerOfCode/2016 page, which contains more information on everything GSoC for this year.
Contents
1. Please add GSoC ideas here
1.1. Example
Project description: This is an example project. Please add a clear description with some details about the idea.
Skills: Specific programming languages, domain-specific knowledge... For example: Python, network programming
Difficulty level: Easy/Intermediate/Difficult
Related reading/Links: Useful links to wiki pages, specific relevant mailing list discussions or patches, ...
Further details: Additional detail about the idea
Potential mentors: mentors likely to be involved with this project
1.2. Improved handling of merge conflicts
Project description:
- Improve the user-friendliness of merge conflicts. Currently, a number of merge conflicts are not handled in a clean way. Rather than present the user with a number of ways to handle a conflict, Mercurial simply aborts. One example of this is directory/file conflicts. This is the case where on one side of the merge, a file is created. On the other side of the merge, a directory with the same name is created. During a merge, an obscure error pops up. This should be handled properly, by allowing the user to choose how to handle the conflict.
Skills: Python
Difficulty level: Difficult (?)
Related reading/Links: http://bz.mercurial-scm.org/show_bug.cgi?id=29
Further details: MergePlan contains more details about the exact problem and a possible path forward. Additionally, the filemerge code is most likely to be relevant.
Potential mentors: ?
1.3. Modernize hgweb's graph rendering
Project description: Modernize hgweb's graph rendering
Skills: Python, JavaScript
Difficulty level: Intermediate/Difficult
Related reading/Links: https://bz.mercurial-scm.org/show_bug.cgi?id=4020 https://bz.mercurial-scm.org/show_bug.cgi?id=2570 (not limited to these)
Further details: Current graph rendering code in hgweb is pretty clunky and not very extensible or efficient. We could update it to today's standards, include more things (e.g. phases, hidden changesets, also look at TortoiseHg's graph for more examples) and render graph more efficiently and in a nicer-looking way.
Potential mentors: ?
2. Other ideas?
Come talk to us on IRC.