Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
521 views
in Technique[技术] by (71.8m points)

what to use in c/c++ app: libgit2 or git command console output through a pipe

I want to write a git viewer whose main features are: the horizontal axis of time (while rotatable/zoomable). Commits should be shown like so: https://www.nobledesktop.com/image/gitresources/git-branches-merge.png with two important aspects:

  • they should be related to the axis of time, meaning that if between committing A and B there was less time then between C and D then A and B should be closer to each other than C and D
  • size of the node should be dependent on the size of the commit

The user should be able to rotate the graph as he wishes even making the time axis horizontal as in most git viewers.

There also should be a way to show a dir-diff (similar as meld did it before they screwed it up completely) between any commits.

Of course, there should be to see individual file diffs as side-by-side and as unified diffs as from dir-diff view as from some other.

There should be advanced DSL for filtering branches and commits based on names, authors, dates, and so on (a-la Wireshark).

There may be reports, like who wrote more code this or that month but I prefer to add a plugin system for stuff like that. Also, there is Gitlab, Bitbucket, you name it.

The aim of this project is to make a tool that does one thing right so it should be only a viewer, no commits, no rebases, no merges. Pulls eventually. I've heard libgit is a joke. Does the same hold true for libgit2?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...