mirror of
https://forge.pointfixe.fr/hubert/gitust.git
synced 2026-02-04 16:37:30 +01:00
save
This commit is contained in:
21
src/main.rs
21
src/main.rs
@@ -35,7 +35,7 @@ use actix_web::client::PayloadError;
|
||||
use crate::reader::ToStream;
|
||||
use crate::writer::Writer;
|
||||
use crate::gitust::Gitust;
|
||||
use git2::{Reference, Commit, Tree};
|
||||
use git2::ObjectType;
|
||||
|
||||
#[derive(Template)]
|
||||
#[template(path = "hello.html")]
|
||||
@@ -142,17 +142,15 @@ async fn git_main(
|
||||
None => {"/".to_string()}
|
||||
Some(s) => {s}
|
||||
};
|
||||
let repo = GitRepo::new();
|
||||
let commit = GitCommit::new(commitname);
|
||||
let owner = Owner { name : owner};
|
||||
let repo = Repository {name : reponame, owner};
|
||||
let user = User { name : "Hubert".to_string()};
|
||||
let gitrepo = GitRepo::new(format!("{}/{}/{}.git", &gitust.repo_root_path, &repo.owner.name, &repo.name).as_str())?;
|
||||
let path : Vec<(String, String)> = rootname.split("/").map_accum("/git/".to_string() + &owner + "/" + &reponame + "/" + &commitname, |str_ref, b| {
|
||||
let href = b + "/" + str_ref;
|
||||
((str_ref.to_string(), href.clone()), href)
|
||||
}).collect();
|
||||
let commit = GitCommit::new(commitname);
|
||||
let root = GitBrowseDir::new(rootname);
|
||||
let browse = repo.browse(&commit, &root).await;
|
||||
let owner = Owner { name : owner};
|
||||
let repo = Repository {name : reponame, owner};
|
||||
let user = User { name : "Hubert".to_string()};
|
||||
let repogit = match git2::Repository::open(format!("{}/{}/{}.git", &gitust.repo_root_path, &repo.owner.name, &repo.name)) {
|
||||
Ok(repo) => repo,
|
||||
Err(e) => panic!("failed to open: {}", e),
|
||||
@@ -172,7 +170,14 @@ async fn git_main(
|
||||
for entry in tree.iter() {
|
||||
println!("{:?}", entry.name());
|
||||
println!("{:?}", entry.kind());
|
||||
if entry.kind() == Some(ObjectType::Tree) {
|
||||
let subtree = repogit.find_tree(entry.id()).expect("this pust be a tree");
|
||||
println!("{:?}", subtree);
|
||||
}
|
||||
}
|
||||
let root = gitrepo.get_root_tree(&commit)?;
|
||||
// let root = GitBrowseDir::new(rootname);
|
||||
let browse = gitrepo.browse(&root).await;
|
||||
GitMainTemplate { repo, browse : browse, root : path, user_opt : Some(user)}
|
||||
}
|
||||
//#[get("/git/{owner}/{repo}.git/{path:.*}")]
|
||||
|
||||
Reference in New Issue
Block a user