This post was supposed to be written and published right after gsoc ended, sorry for that. Got really busy with university work! I completed my project on time My project was to implement Mercurial Plug-in for Dolphin. To see first half of work read Mercurial Plugin for Dolphin: Work Progress [Part 1].
During second half, I implemented following features -
- Few more configuration options like -
- Remote Path Editor
- Simple Hg Ignore Editor
- A little integration with Diff Viewer
- Revert changes to file or whole working directory
- Merge Changes
- Bundle and Unbundle
- Import and Export commit patches
- Start(multiple) local HTTP server provided by hg serve.
1. Context Menu
These is how context menu (which lets user interact with plug-in) looks right now. The left one is shown when no files are selected. Its now huge in size, and I’ll make it smaller by making a submenu. The right one is shown when individual or multiple files are selected.
2. Export and Import Patches
3. Bundle and Unbundle Changes
Mercurial has a feature which lets you compare changes in your clone with any other clone and produces a single bundle file. Its very good way to share changes. This simple dialogs lets the user produce such bundles and save it in location as chosen. Bundle files can be easily unbundled using Unbundle action provided in context menu which will show a file dialog to select the bundle file to be unbundled.
Shows a list of available head that can be merged with current branch. Simple.
7. Remote Path Editor
8. Hg Ignore Editor
This lets you edit hgignore files. You can add files and patterns as well as edit and remove them. Not really a good interface, and a lot has to be improved in terms of its usability. Thinking what can be done about it.
9. Hg Serve
To start a HTTP serve to browse the repository, Mercurial provides hg serve. This dialog will use that and start a local server at given port. Good thing is you don’t have to keep dialog open to make server running. You can come back to repository any time and stop it. Also, you can run servers for multiple repositories at same time. Currently you cant run multiple servers for same repository and also cant pass some useful options while starting the server.
Most common and no so common features and actions are now implemented. Plug-in is pretty usable now. There are of course few peculiarities and bugs, some old ones and some new ones which are waiting to be fixed. Now the main task is to make the plug-in better, reduce bugs and make it more stable.
Your feedback is most important. So please let me know if you find the plugin good/bad or you find some bug or have some idea or just anything. I would very much appreciate that.
ps> Create and Clone dialog are currently not working due to recent changes to Dolphin and KVersionControlPlugin2, but they will start working soon.