Hannes Mehnert hannes
  • Joined on 2024-08-21
hannes pushed to rename-single-commit at robur/git-kv 2024-10-29 11:25:20 +00:00
708cd7d008 add a comment
93bcbe576d only use a single commit in rename
e2295fe0b3 Merge pull request 'Refactor test/dune and add a failing test' (!2) from batch-test into main
0b330178e1 as suggested by @reynir @dinosaure, use a single Lwt_mutex.t
681e4f2367 Add expected EOF on cram tests (otherwise, tests fails on Archlinux)
Compare 15 commits »
hannes approved robur/git-kv#2 2024-10-29 11:14:11 +00:00
Refactor test/dune and add a failing test

LGTM

hannes pushed to gh-pages at robur/blog.robur.coop 2024-10-29 11:12:24 +00:00
f647c63e5a remove atom & rss1 again (superfluous)
hannes commented on pull request robur/git-kv#3 2024-10-29 11:04:57 +00:00
only use a single commit in rename

Likely deserves a comment about why we check committed.

I may be slow - what do you mean by "don't have any yield points inside op"? We do have various yield points in there...

hannes commented on pull request robur/git-kv#3 2024-10-29 11:03:40 +00:00
only use a single commit in rename

we can. I'm not sure what we should do with the comment, to be honest.

hannes pushed to batch-test at robur/git-kv 2024-10-29 10:52:06 +00:00
0b330178e1 as suggested by @reynir @dinosaure, use a single Lwt_mutex.t
hannes commented on pull request robur/git-kv#2 2024-10-29 10:24:21 +00:00
Refactor test/dune and add a failing test

Indeed, we can acquire the mutex at the begin of change_and_push -- which will wait (block) until the mutex is unused.

hannes pushed to batch-test at robur/git-kv 2024-10-29 09:53:55 +00:00
1327cc4f94 add comment about the reset of the waiter
hannes commented on pull request robur/git-kv#2 2024-10-29 09:53:11 +00:00
Refactor test/dune and add a failing test

I pushed the test, and found a fix... we were in the teardown of the change_and_push unconditionally setting t.change_and_push_waiter to None -- I now use (physical!) equality of th ==…

hannes commented on pull request robur/git-kv#2 2024-10-29 09:47:40 +00:00
Refactor test/dune and add a failing test

both will still change t.change_and_push_waiter

But that is fine, no? There's no yield point (as far as I understand, but then I barely understand Lwt) between function entry and the setting…

hannes commented on pull request robur/git-kv#2 2024-10-29 09:46:11 +00:00
Refactor test/dune and add a failing test

I pushed the test, and found a fix... we were in the teardown of the change_and_push unconditionally setting t.change_and_push_waiter to None -- I now use (physical!) equality of th == t.change_and…

hannes pushed to batch-test at robur/git-kv 2024-10-29 09:44:51 +00:00
931c0481d7 add task a task b task c test, and a fix
hannes commented on pull request robur/git-kv#3 2024-10-29 09:34:54 +00:00
only use a single commit in rename

no, we need to unpack the inner result -- which is a (unit, _) result.

hannes commented on pull request robur/git-kv#2 2024-10-29 09:30:27 +00:00
Refactor test/dune and add a failing test

I tried to write a test with the three tasks in mind, and there's something wonky going on:

let multiple_change_and_push () =
  match
    let* (tmpdir, pid) = empty_repo () in
   
hannes commented on pull request robur/git-kv#2 2024-10-29 09:02:04 +00:00
Refactor test/dune and add a failing test

I'm not sure about the serialization of change_and_push and I think, after that our old th continue, we should ensure the exclusivity of a task to set t.change_and_push_waiter and recheck…

hannes commented on pull request robur/git-kv#2 2024-10-29 08:56:21 +00:00
Refactor test/dune and add a failing test

we don't have a commit in this case (we're in a change_and_push), so let's use the current timestamp. this is good enough for our definition of last_modified (which is the last commit)

hannes commented on pull request robur/git-kv#2 2024-10-29 08:55:17 +00:00
Refactor test/dune and add a failing test

this change requires that the head didn't mutate since we started the change_and_push. we could as well do a rebase or merge, but we weren't able to find merge/rebase code.

hannes commented on pull request robur/git-kv#2 2024-10-29 08:53:01 +00:00
Refactor test/dune and add a failing test

the reason for this change is: we may have one change_and_push that is active, and when there are then multiple other change_and_push that should be executed, each needs to wait for the next one.

hannes commented on pull request robur/git-kv#2 2024-10-29 08:51:09 +00:00
Refactor test/dune and add a failing test

indeed, removed in 750ec11

hannes pushed to batch-test at robur/git-kv 2024-10-29 08:50:58 +00:00
750ec11b5f remove superfluous assignment, spotted by @dinosaure