Timothy Mak
11/10/2025, 1:21 AMlakectl local more like git? I would just like to say, I have so far really enjoyed using lakefs, and it seems to be the answer to my pain point for a long time. I mainly use it as I would use git -- to version data through the lakectl local interface. However, compared to git, it's missing quite a lot of features, which makes it, while useable, somewhat finicky when I want to do things in certain ways. Here I list a few examples:
1. I would like to checkout only a directory or file rather than the entire repository for a commit with lakectl checkout.
2. I would like to examine changes to certain files between different commits, similar to git difftool
.
Are there plans to include features such as the above in the near future? Or am I not quite using lakefs in the intended way?Itai Admi
11/10/2025, 8:04 AMlakectl local example there that copies a prefix instead of a whole commit.
2. lakectl diff accepts 2 lakeFS refs (like <lakefs://repo/branch>) and a prefix (like images/dogs/) and presents the changes between them.Timothy Mak
11/11/2025, 1:20 AMlakectl local to copy (checkout?) a prefix instead of a whole commit.
2. I see that lakectl diff does compare two refs, but they have to be different branches. This is somewhat different from git where I often compare different commits just to see changes were made in them. What's the rationale that diff allows comparison between branches but not commits? How would you advise structuring our workflow so as to be able to better keep track of the differences between the commits? Perhaps by having many branches?Timothy Mak
11/11/2025, 1:32 AMItai Admi
11/11/2025, 10:41 AMlakefs://<REPO>/<COMMIT_ID>Timothy Mak
11/12/2025, 7:15 AMAriel Shaqed (Scolnicov)
11/14/2025, 5:10 AMTimothy Mak
11/14/2025, 9:52 AMTimothy Mak
11/14/2025, 10:02 AMAriel Shaqed (Scolnicov)
11/14/2025, 10:05 AMAriel Shaqed (Scolnicov)
11/14/2025, 10:11 AMAriel Shaqed (Scolnicov)
11/14/2025, 11:41 AMlakectl-cmp somewhere in your path (Linux or Mac only, sorry - I don't have a Windows machine handy), and make it executable. It runs whatever diff program you like; sdiff by default.
Now I can see for instance the uncommitted differences by saying:
$ lakectl cmp <lakefs://ariels-repo/main@/foo> <lakefs://ariels-repo/main/foo>
> baz
> foo
bar bar
> quux
(I ran export DIFF='sdiff --width 50' to make it narrower. You can export DIFF=my-favourite-diff to use some other comparison tool.Timothy Mak
11/17/2025, 8:47 AMAriel Shaqed (Scolnicov)
11/17/2025, 9:23 AM