[GSoC 2018 - TrackGit] Progress Report 13

Blog post by hrily on Mon, 2018-07-30 18:04

This is the thirteenth progress report for TrackGit project. I did the following in last week:

Since, the planned work from the proposal is done, Stephan and I agreed on doing some UI improvements to the existing views. Stephan suggested me some improvements, which I did in last week. These are:

Added progress bar to Clone Window

I added a progress bar to the clone window. This will give better information about the clone progress.

[GSoC 2018 - TrackGit] Progress Report 12

Blog post by hrily on Mon, 2018-07-23 18:11

This is the twelveth progress report for TrackGit project. I did the following in last week:

Implemented Log Viewer

I implemented a log viewer in TrackGit. It shows a window with the commits in the repository so far. Link to commit.

The following screenshot shows the log viewer:

Log Viewer

I also added tests for the log command. Link to commit.

[GSoC 2018 - TrackGit] Progress Report 11

Blog post by hrily on Sat, 2018-07-14 12:14

This is the eleventh progress report for TrackGit project. I did the following in last week:

Implemented Create Branch command

I implemented Create Branch command. This command creates a branch at head of the repository. There is also an option to switch to the newly created branch. Link to commit.

The following screenshot shows Create Branch window:

Create Branch

Implemented Switch Branch command

I implemented option to switch branch. The Switch Branch window gives user with a drop down list of branches in current repository. Then user selects the desired branch and the repo is switched to that branch. Link to commit.

[GSoC 2018 - TrackGit] Progress Report 10

Blog post by hrily on Mon, 2018-07-09 18:05

This is the tenth progress report for TrackGit project. I did the following in last week.

Implemented Show conflicts Window

Last week I implemented Pull command. While pulling changes, sometimes there might be conflicts while merging the changes. These conflicts are shown when pull command execution is finished. In addition to that, I implemented a “Show conflicts” option to see the current conflicting files in the repository. This option is only shown when there are conflicts in the repository. Link to the commit.

[GSoC 2018 - TrackGit] Progress Report 9

Blog post by hrily on Mon, 2018-07-02 18:00

This is the ninth progress report for TrackGit project. I did the following in last week.

Implemented Pull command

I implemented the equivalent of git pull. The implementation was a little trickier as there was no direct API for pull in libgit2. The git pull command is combination of a fetch and then a merge. In merge there are three cases:

  1. Repository up to date
  2. Fast forward
  3. Merge commit

The merge commit can lead to conflicts. In such case user is shown with the list of conflicting files. I’m going to implement the flow of resolving such conflicts in coming days.

[GSoC 2018 - TrackGit] Progress Report 8

Blog post by hrily on Mon, 2018-06-25 18:24

This is the eighth progress report for TrackGit project. I did the following in last week.

Implemented Commit command

I implemented the equivalent of git commit in TrackGit. The implementation was a little bit trickier because libgit2 used a different logic when the commit is first or non-first. The link to commit.

Below is a screenshot of Commit window.

Commit Window

Added test for commit command

I also added the test case for commit command. This simply makes a commit and checks if the commit is made via status command.

[GSoC 2018 - TrackGit] Progress Report 7

Blog post by hrily on Mon, 2018-06-18 18:34

This is the seventh progress report for TrackGit project. I did the following in last week.

Merge Request on Haiku

At the start of the project, I had made a merge request on Haiku regarding Dynamic Add on menu. There were few comments on it which I forgot to check. I addressed those comments. Link to the merge request.

Implemented Add files command

I implemented the Add files command. This option adds the selected files to the git repository. Link to the commmit.

[GSoC 2018 - TrackGit] Progress Report 6

Blog post by hrily on Mon, 2018-06-11 19:10

This is the sixth progress report for TrackGit project. I did the following in last week.

Addressed Stephen’s comments

My mentor Stephen had put up few comments on my commits so far. I addressed them earlier this week. You can have a look at the comments thread here and here.

Made clone process threaded

The initial implementation of clone was blocking the UI thread. I used the pthread library to make the clone processes threaded. Now the clone command does not block UI.

[GSoC 2018 - TrackGit] Progress Report 5

Blog post by hrily on Mon, 2018-06-04 20:02

This is the fifth progress report for TrackGit project. I did the following in last week.

Status Test

Added test for status command. Link to commit.

Status window

Previously, the status was shown in a BAlert. This was not good if the status text was long. So, I implemented a Status window with scrollable text view. Link to Commit.

Implemented TrackGit Application

The major change in the TrackGit till now is the implementation of TrackGit Application. Previously whenevere user clicked on same option twice, say status, then two windows were opened, even if repo for checking status was same.

[GSoC 2018 - TrackGit] Progress Report 4

Blog post by hrily on Mon, 2018-05-28 18:18

This is the fourth progress report for TrackGit project. I did the following in last week.

Status Command

I implemented the status command. This will pop up a window showing status of the current repository. This menu item will be shown only when the current directory is in some repo path.

The following screenshot shows the Status Window:

Status-Window

Solved a bug in Status

While implementing Status commmand, I ran into a bug which took some of my time. But I was able to solve it with the help of Haiku Debugger.