use bytes::Bytes;
use thrussh::{server::Session, ChannelId};
use crate::{
git::{packfile::low_level::HashOutput, PktLine},
Handler,
};
pub(crate) async fn handle(
handle: &mut Handler,
session: &mut Session,
channel: ChannelId,
_metadata: Vec<Bytes>,
commit_hash: &HashOutput,
) -> Result<(), anyhow::Error> {
let commit_hash = hex::encode(&commit_hash);
handle.write(PktLine::Data(
format!("{} HEAD symref-target:refs/heads/master\n", commit_hash).as_bytes(),
))?;
handle.write(PktLine::Flush)?;
handle.flush(session, channel);
Ok(())
}