From: Sebastian Gniazdowski <psprint@zdharma.org>
To: git@vger.kernel.org
Subject: Would this tool be useful - encoding repository data into single URL
Date: Tue, 9 May 2017 14:48:47 +0200 [thread overview]
Message-ID: <etPan.5911baaf.74b0dc51.6b4c@MacMini> (raw)
Hello
I wonder about usability of following tool. Quick-start:
giturl https://github.com/zdharma/giturl -r devel -p lib/coding_functions.cpp
Protocol: https
Site: github.com
Repo: zdharma/giturl
Revision: devel
File: lib/coding_functions.cpp
gitu://ŬṽǚǫoŒẗ6ẏȅcЭÑẩőn4ầŘїệαЃȣϟṈӛŀї
It does Huffman encoding and base-1024 encoding to pack given data into single URL. The Unicode characters selected for base-1024 encoding are letters, not symbols, so double-clicking in e.g. web browser selects the whole code, making it easy to grab a repository data.
Decoding:
giturl -qd ŬṽǚǫoŒẗ6ẏȅcЭÑẩőn4ầŘїệαЃȣϟṈӛŀї
https://github.com/zdharma/giturl / rev:devel / file:lib/coding_functions.cpp
I can also encode commits relative to given revision, e.g. bits 10011 are commits 1, 4, 5. Easy to add to the g-code. Selecting 10th commit is only 1 character in base-1024.
However I wonder if this has any uses. Could be patches sent this way? Having refs/patches/<name>, encoding <name> in URL, sending it instead of inlining/attaching a diff, selecting e.g. 3 commits via the bit-mask mentioned. That said, it's more about easy-grab of repository data and storage in well-defined, consistent format, not in language "the branch is ..., commit a7a35cb". Does this make sense?
There are 2 implementations, in Zsh (uses Zshell like e.g. Ruby, not interactively) and C++11 (mostly because of std::regex):
https://github.com/zdharma/giturl
https://github.com/zdharma/cgiturl
--
Sebastian Gniazdowski
psprint /at/ zdharma.org
next reply other threads:[~2017-05-09 12:55 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-09 12:48 Sebastian Gniazdowski [this message]
2017-05-09 13:40 ` Would this tool be useful - encoding repository data into single URL Ævar Arnfjörð Bjarmason
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=etPan.5911baaf.74b0dc51.6b4c@MacMini \
--to=psprint@zdharma.org \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).