Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: merge divergent branches: main and git-protcol-v2 PR #615

Open
wants to merge 16 commits into
base: main
Choose a base branch
from

Conversation

rand00
Copy link

@rand00 rand00 commented May 31, 2023

No description provided.

ulugbekna and others added 16 commits February 8, 2021 17:02
* make client, server capabilities management more explicit
* rename 'decoder_from' to more conventional 'of_string'
* add safer version of peek pkt
	that also support git wire protocol v2 pkts:
	delim-pkt and response-end-pkt
* move 'prompt_pkt' to 'decoder.mli'
	to reuse it in git wire proto v2
* add 'read_pkt'
* add 'junk_chars' fn to 'Decoder' to
	increase 'decoder.pos' by 'n'
* move 'bind' and '>>='
	from nss/protocol.ml to pkt_line.decoder
* [wip] support wire proto v2 capabilities
* add 'Ls_refs', 'Fetch_command' modules to
  represent commands 'ls-refs' and 'fetch' respectively;
* add 'Encoder' module to wire-proto-v2 with support for encoding
  command requests and copy-paste NSS's 'encode_proto_request'
* add some comments to better define parts of a packet line:
  specific names for 4 bytes that encode packet length,
  the bytes that follow the length bytes, etc.
* rename length calculating function 'pkt_len' to
  'encoded_pkt_len' that returns the value hex-encoded in the
  first 4 bytes of the packet line and 'pkt_len_at_least_4'
  returns 'max 4 (encoded_pkt_len pkt)'
* copy-paste 'Proto_request' module from NSS
* update 'response' type in proto-v2 'Protocol'
* add 'Extended_pkt_line_decoder' that provides
	more functionality than 'Pkt_line.Decoder' but not specific to the protocol
* add decoding for all commands of wire proto v2
* reflect changes after 'mimic' lib introduction
* make 'smart_flow' more understandable
* reduce dup code, e.g., (>>=)
* reorganize stuff closer to its use
* rename stuff for more clarity
* move smart protocol (wire proto v1)-based 'fetch'
	code to separate modules
* functorize 'Smart_flow'
* rename 'Smart_flow' to 'State_flow'
* add mli file to 'State_flow'
* improve 'nss/state.ml' API:
	- it improves cases when we want to "open" the module to get infix/syntax operators
	- it also make the API more uniform and rich, e.g., adds "map" fn
* rename "fail" to "io_raise":
	  1) avoid clash with "fail" from "smart"/"wire_proto_v2"
	  2) to highlight that it causes "exception"al behavior
* add support for "ls-refs" command (without args)
* fix log.debug use and its message
a module that translates state read-write monad into 'flow' operations,
to be usable both by 'Smart' and 'Wire_proto_v2'; hence, they
shouldn't have own copies of Context
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants