Archive for May 2010
I use Git Extensions when dealing with Git. As a Visual Studio user, I would like to see files status in solution explorer, which is not in Git Extensions, so I decided to make one myself. Now it is on Visual Studio Gallery and can be installed through Tools | Extension Manager within Visual Studio.
It is just to display to file status, not to replace or overlap the functions of Git Extensions. And it should be as much close to the existing Visual Studio experience with VSS and TFS as possible.
I use the blue lock icon for checked in (committed) files and red check icons for modified files. The fellow plus and i icons are new. They represent new files and staged files, which are not in VSS or TFS. They apply only to Git.
When testing with my Git controlled projects, the files’ state icons really give me a familiar experience of source controlling in Visual Studio and a pleasant view of the projects by seeing files are new, modified and staged.
Immediately, I feel that besides the eye candy part, more source control related functions will be handy for Visual Studio users, such as compare, view history, undo check out, check in …. I decided to implement only “compare file with last commit” and “undo file changes (restore file from last commit)”. Other things like view history, check in/out, switch branches will be left to Git Bash and Git Extensions.
I had a mistake while developing (Yes I am using this plug-in/extension while I am developing it). I committed to wrong branch. So it is important to see current branch name. It would be nice if I can display the current branch name in the solution node to make it “Solution ‘Solution1’ (1 project) (master)”. And on the context menu, make it “Git (master)”. I am working on this …
The project is on codeplex (http://gitscc.codeplex.com) and the source code is on GitGub (http://github.com/yysun/Git-Source-Control-Provider).