Posts Tagged ‘gitscc’
It was a totally surprise to myself that GitScc is able to use Chinese in comments and branch names.
In the real world I would not use this feature, because none of git bash, git extensions or tortoise git could work like this. But it is cool!
[UPDATE]: At the beginning gitscc uses ngit (a jgit port) at the beginning, which works well with utf-8 file names. But it does handle autocrlf flag and not triggering hooks. Gitsscc has to use Git for Windows (msysgit) instead. It then went into some issues related to non-ascii file names with msysgit.
Good news is that it looks like msysgit will soon have utf-8 support.
This is only relevant if you used non-ASCII file names with previous Git
for Windows versions (V1.7.6 and earlier).
Previous Git for Windows versions stored file names in the default
encoding of the originating Windows system, making these repositories
incompatible with other Windows language-versions and other Git versions (including Cygwin-git and JGit / EGit on Windows).
The Unicode-enabled Git for Windows stores file names UTF-8 encoded.
I am glad to announce that I successfully created a new type of graphic view of Git repository in the gitscc project.
It displays commits horizontally with heads, tags and remotes annotations.
Other Git programs, such as Gitk, Git Extensions, TortoiseGit usually show git logs vertically. But Git documentations, books and tutorials usually use horizontal view to illustrate the structure of the Git repository. E.g the one from git-merge help page.
And the one from Pro Git Book.
I believe horizontal view is easier to understand. A lot of documents that explain the concept of branching and merging use horizontal view. They even have traces back to SVN and CVS.
Anyway, What’s new in gitscc’s view besides being horizontal?
The view has simplified (or condensed) mode, which omits commits that are less important. It only shows commits that have refs (heads, tags and remotes) or have multiple parents/children. E.g. There are 5 commits in the following picture.
Using the simplified (or condensed) mode, it becomes like below.
The simplified view has huge benefits. It highlights the structure of the git repository with less tiny details. The first picture of this post is a simplified view of gitscc repository. 10+ commits between 0.7.0 and V0.8.0 are omitted.
It solves a concern of the idea of commit often. The concern was too many smaller commit crowd the log view. With the simplified view this is no longer an issue. Smaller commits won’t show up.
I am planning add more interactive actions to this new Git History View. E.g, I can drag the ‘master’ head and drop it on the ‘develop’ head. It triggers a merge of these two branches ……
Stay tuned. It will come in gitscc V0.9.
A preview (version as 0.6.8) has been released. Final version (0.7.0) will be release ready soon I hope. But UI like this has many tedious details. Any help is welcome, please fork the source at github.
[UPDATE #1] The screenshot above shows that I use gitscc in developing gitscc. I noticed that with this new pending changes window, the recent commits I made are more organized, tidy and meaningful. This is truly a result of a convenient tool can provide.
[UPDATE #2] TFS gets the concept of “local”. Although it has only local workspace (working directory) and no local history yet, it is still a good news. It has not the instant diff view. But the its web page like pending changes display is interesting …