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. Then user selects the desired branch and the repo is switched to that branch. Link to commit.
So here we are in the final week of the second phase of this project. I would like to address what was planned
for this phase and what we have achieved and will proceed to plan for the third phase.
Second Phase Highlights
- We were successful in register mapping through MMUIO.
- We have created a bus manager but not linked with controller ATM.
- Interrupts have not been implemented but also not required in this phase.
- Separating controller(device) and MMC bus(child device) but in a single module is still needed to be done.
- mmc_disk being running multiple times is fixed now.
Plan for the Third Phase
I have already addressed the issue of reading OCR value in my most recent blog post. The issue was, even after
setting up the command register we were not able to get the response from response register after reset. When
we enabled timout error status, it automatically turned the error bit to 1 and which says that it failed to get
any response in 64 cycles of SDCLK. It will the foremost task
and will be reading the response of commands. To proceed further in sequences it’s necessary that we should get
the responses of the commands.
Hey guys! Last week we have improved the code and made it more readable. We have completed the reset and clock sequence and
proceed with power sequence. In the 4th step of the sequence, it asks to get the Operation Conditions Register(OCR) value of SD card. In the SD host controller spec, in command register there is command index bits which mention about setting up command number specified in bits 45-40 of the command-format in SD Memory Card Physical
Layer Specification. Hence, in command format they mentioned about
command index, there we figured out that our command of interest is CMD58 which has following config
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.
As many of you are already aware, LibreOffice is now available on Haiku. This has been a long journey that has started for me around 2014, when I was looking for things I could do for the project. LibreOffice port was one of those things. It seemed to need so much effort, most people didn’t even want to start. That’s understandable given people were busy developing the OS. However, it’s not the first time someone tried to do it.
The Rust programming language belongs to the category of modern programming languages that aim to provide a reliable
and safe alternative to C and C++. In the past few years, few people have been working on getting the compiler, and
the other build tools to our platform. And in fact, since Rust 1.0 there have been reasonably working binary packages
for building Rust projects on Haiku.
With the recent addition of Rust 1.27.0 in the HaikuPorts repository, I thought it would be good to do a short, public
write-up of the current state of Rust on Haiku, and some insight into the future.
Finally, we got the register mapping work and they are responsive, we have tested by enabling software reset bit and it has
all the default values of registers which are set by Qemu except the present state register and capabilities register. These
both should be left unaffected as mentioned in the spec.
We are following SD Host specification version 1.00 for now, which also doesn’t support UHS but Qemu seems to be supporting it
well.
Hi all,
I have been reading through the XFS documentation and looking more into the on-disk structures. Previously, I had looked into AG inode management, but not inode core structure. So I thought it would be better to look into how files, directories and links are stored on disk with inodes.
I implemented struct xfs_dinode_core, the core part of the inode, which includes stat data information about data and attribute forks. Data fork and attribute fork comes after core. The following struct is used by the class inode to get the information such as modification time, user ID, no of links from directories.
Hi there, I'm back for an activity report!
Let's see what happened last month. This report covers hrev51986-52054
Donations and funding
I just wanted to note that the 5 Haiku contributors who joined Liberapay
are now part of a "team".
In case you missed it, Liberapay is a way to donate money to some Haiku contributors directly.
They are an open source project, funded themselves by donations from their users, and with an
interesting approach to funding free software and other commons creations. Your donations are
anonymous if you use this channel, which makes sure it isn't used as a hidden contract work or
bounty or any other kind of commercial system. So, have a look at the Haiku team on Liberapay
and consider funding the work of either the team as a whole, or one contributor in particular.
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. 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.