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:
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.
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.
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:
Repository up to date Fast forward Merge commit The merge commit can lead to conflicts.
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.
Added test for commit command I also added the test case for commit command.
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.
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.
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.
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:
Solved a bug in Status While implementing Status commmand, I ran into a bug which took some of my time.
This is the third progress report for TrackGit project. I did the following in last week.
Clone Window. I implemented Clone window. It looks something like following:
Clone Command I implemented Clone command. Unfortunately, I’m blocked with some ssl object error.
Init Implemented Init of empty repository. Following are steps to Init a git repo through TrackGit:
Init Test I added tests for Init. This is done with the help of CppUnit testing framework.
This is the second progress report for TrackGit project. I did the following in last week.
TrackGit repo I created the repository for TrackGit. You can follow it at https://github.com/Hrily/TrackGit.
I also created Wiki to maintain the Weekly Progress report.
Icon for TrackGit I added icon to project using a rdef file.
LibGit2 TrackGit uses libgit2 as interface for git. I tried compiling TrackGit using libgit2 but getting some header errors.