<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pakakeh.go/lib/git/git_test.go, branch dev</title>
<subtitle>Collections of packages and tools for working with Go programming language.</subtitle>
<id>http://git.kilabit.info/pakakeh.go/atom?h=dev</id>
<link rel='self' href='http://git.kilabit.info/pakakeh.go/atom?h=dev'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/'/>
<updated>2026-02-09T13:26:34Z</updated>
<entry>
<title>lib/git: skip test LogFollow when repository is shallow cloned</title>
<updated>2026-02-09T13:26:34Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-02-09T12:51:22Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=9569814020e7122b61d88fa4afd39989e2bfcfb2'/>
<id>urn:sha1:9569814020e7122b61d88fa4afd39989e2bfcfb2</id>
<content type='text'>
In CI, the repository is cloned with depth=1, while test for LogFollow
compare the last 3 commits.
This cause the test on LogFollow fail in CI environment.
</content>
</entry>
<entry>
<title>lib/git: fix tests due to missing .git directory</title>
<updated>2026-02-09T08:42:29Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-02-09T08:42:29Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=1e9c2f8044c842b8f9287fa50e1072406aa9fa40'/>
<id>urn:sha1:1e9c2f8044c842b8f9287fa50e1072406aa9fa40</id>
<content type='text'>
In lib/git, we have test data "testdata/Equal" and "testdata/IsIgnored"
that require the directory named ".git".
Somehow those directory is missing from previous commit, which cause the
test failed when run in new clone.

After we inspect it, git does not allow adding a file under directory
named ".git" (to include it inside the commit), so to fix the test we
need to create the ".git" directory manually before running the tests.
</content>
</entry>
<entry>
<title>all: convert license and copyright to use SPDX identifiers</title>
<updated>2026-01-15T10:26:33Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-01-15T10:14:54Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=7db8c302e1396eda40cd6a1e57f58ed791448556'/>
<id>urn:sha1:7db8c302e1396eda40cd6a1e57f58ed791448556</id>
<content type='text'>
With help of spdxconv tool [1], we able to bulk update all files license
and copyright format to comply with SPDX formats.

[1] https://kilabit.info/project/spdxconv/
</content>
</entry>
<entry>
<title>lib/git: pass "--" when running LogFollow command</title>
<updated>2026-01-13T23:01:04Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-01-13T23:01:04Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=3a5a19786171b7db01b490f68c791fcfc89647f5'/>
<id>urn:sha1:3a5a19786171b7db01b490f68c791fcfc89647f5</id>
<content type='text'>
The "--" prevent ambiguous argument, to separate a path from revision.

While at it, add more test case for LogFollow.
</content>
</entry>
<entry>
<title>lib/git: add method LogFollow</title>
<updated>2026-01-13T14:06:31Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-01-13T14:06:31Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=06eb22e30f855d70468640ea72e23c43e384c793'/>
<id>urn:sha1:06eb22e30f855d70468640ea72e23c43e384c793</id>
<content type='text'>
The LogFollow method return history of single file `path`, following
rename.

This method accept second paramter "format", default to
'%h,%at,%an,%ae,%s' which print short hash, author commit timestamp,
author name, author email, and subject; respectively separated by comma.
</content>
</entry>
<entry>
<title>lib/git: fix ignore pattern with single wildcard '*'</title>
<updated>2026-01-11T14:29:17Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-01-11T11:43:56Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=cdfebe3f55dc53872079a96a9a5dd6970bc2980e'/>
<id>urn:sha1:cdfebe3f55dc53872079a96a9a5dd6970bc2980e</id>
<content type='text'>
Single wildcard should ignore everything inside it.
</content>
</entry>
<entry>
<title>lib/git: implement Equaler interface on Git</title>
<updated>2026-01-06T07:56:07Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-01-05T14:47:09Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=f9567f0d4fc5cf6d0e1cea2d22289250c6b1cb2b'/>
<id>urn:sha1:f9567f0d4fc5cf6d0e1cea2d22289250c6b1cb2b</id>
<content type='text'>
The Equaler interface provide the method Equal that when implemented
can be used to compare two instances of struct.
</content>
</entry>
<entry>
<title>lib/git: add Git type with method IsIgnored</title>
<updated>2026-01-06T07:56:07Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-01-01T17:40:21Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=18be916ab6f8911fd23d8f0a91f5a26f3c07f636'/>
<id>urn:sha1:18be916ab6f8911fd23d8f0a91f5a26f3c07f636</id>
<content type='text'>
The Git type is for working with single git repository.

The [Git.IsIgnored] method is to check if the `path` is ignored by
git.
This is processed by matching it with all of the pattern in the
".gitignore" file from the path directory and its parent until the
root of Git repository.
</content>
</entry>
<entry>
<title>all: move the repository to "git.sr.ht/~shulhan/pakakeh.go"</title>
<updated>2024-03-02T08:59:46Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-03-01T20:07:33Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=901c9803e6f93e0d5ee282f4061309022c46f490'/>
<id>urn:sha1:901c9803e6f93e0d5ee282f4061309022c46f490</id>
<content type='text'>
There are several reasons that why we move from github.com.

First, related to the name of package.
We accidentally name the package with "share" a common word in English
that does not reflect the content of repository.
By moving to other repository, we can rename it to better and unique
name, in this "pakakeh.go".
Pakakeh is Minang word for tools, and ".go" suffix indicate that the
repository related to Go programming language.

Second, supporting open source.
The new repository is hosted under sourcehut.org, the founder is known
to support open source, and all their services are licensed under AGPL,
unlike GitHub that are closed sources.

Third, regarding GitHub CoPilot.
The GitHub Terms of Service [1], allow any public content that are hosted
there granted them to parse the content.
On one side, GitHub helps and flourish the open source, but on another
side have an issues regarding scraping the copyleft license [2].

[1]: https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#4-license-grant-to-us
[2]: https://githubcopilotinvestigation.com
</content>
</entry>
<entry>
<title>lib/git: realign struct in TestListTag</title>
<updated>2023-09-10T19:16:52Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-09-10T14:24:15Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=df58e21e4a8fa4fa308ec1b791867968972f57f3'/>
<id>urn:sha1:df58e21e4a8fa4fa308ec1b791867968972f57f3</id>
<content type='text'>
This reduce the struct in test case from 48 to 40 bytes (-8 bytes).
</content>
</entry>
</feed>
