Web-based Jujutsu revset explorer & debugger
13 points by joshka
13 points by joshka
This is something I built. Please let me know if you see any bugs or have feature requests.
Amazing! I was looking for something like this. I really need to understand how the revset language works better. It's a bit daunting to me. To be honest, I don't know much except for all(), @, @+, @-, and, obviously, <change identifier>.
I managed to crash it by giving it an revset expression of length of about 262138 characters (but it showed a sensible error message). This is obviously my fault. xD
The expression looked something like this: ((((::)::(::))::((::)::(::)) ...
I recently kludged together a revset that looks something like this, though not nearly as long. I wanted a jj r alias to list all the recent changes that I have checked out, ordered by how recently I've checked them out. I didn't see anywhere that jj directly tracks the idea of changes I've checked out, sooo...
[alias]
r = ["log", "-r", "recent()", "-n", "10", "-T", "oneline", "--no-graph"]
[revset-aliases]
# Checkouts from the last 30 operations in the oplog. Errors in repos with <30 ops.
'recent()' = '''
(
at_operation(@, @) |
at_operation(@-, @) |
at_operation(@--, @) |
at_operation(@---, @) |
at_operation(@----, @) |
at_operation(@-----, @) |
at_operation(@------, @) |
at_operation(@-------, @) |
at_operation(@--------, @) |
at_operation(@---------, @) |
at_operation(@----------, @) |
at_operation(@-----------, @) |
at_operation(@------------, @) |
at_operation(@-------------, @) |
at_operation(@--------------, @) |
at_operation(@---------------, @) |
at_operation(@----------------, @) |
at_operation(@-----------------, @) |
at_operation(@------------------, @) |
at_operation(@-------------------, @) |
at_operation(@--------------------, @) |
at_operation(@---------------------, @) |
at_operation(@----------------------, @) |
at_operation(@-----------------------, @) |
at_operation(@------------------------, @) |
at_operation(@-------------------------, @) |
at_operation(@--------------------------, @) |
at_operation(@---------------------------, @) |
at_operation(@----------------------------, @) |
at_operation(@-----------------------------, @)
) ~ hidden()
'''
Maybe someone knows a way I missed? The promisingly-named working_copies() is the checkouts of all current workspaces, not the history list I want.
Woah this is a great learning tool. I’ve been putting off learning revsets but I’m going to use this to start. Also, cute name.