yysun's space

Archive for September 2011

It was a totally surprise to myself that GitScc is able to use Chinese in comments and branch names.

image

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.

[UPDATE 2 (5/28/2012)]:  Since 1.7.10, Git for Windows supports UTF-8 encoding internally. Non-ascii file names are now shown up in GitScc correctly again. 

Tags: ,

I am glad to announce that I successfully created a new type of graphic view of Git repository in the gitscc project.

image

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.

image

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.

image

Using the simplified (or condensed) mode, it becomes like below.

image

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.

Tags: ,


  • Pk: The horizontal view is a pleasure to use! Good thinking
  • randyburden: A valiant and commendable effort. Your use of Tuple is a little weird but it offers a feature that most other microORMs don't. Your use of a static Gu
  • reav: great work done on Rabbit Framework. just started to learning it, and by now i think it will solve all my problems and questions, that i had in webpag

Categories