Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
Test canonical refs are set
Alexis Sellier committed 3 years ago
commit 961c18319ff9625258655316b23983ee6016db72
parent e6fd85f2494c3a90ab4f1af14d917605a7b432fc
3 files changed +27 -12
modified radicle/src/git.rs
@@ -18,7 +18,9 @@ pub use ext::NotFound;
pub use ext::Oid;
pub use git2 as raw;
pub use git_ref_format as fmt;
-
pub use git_ref_format::{lit, name, refname, Component, Namespaced, Qualified, RefStr, RefString};
+
pub use git_ref_format::{
+
    lit, name, qualified, refname, Component, Namespaced, Qualified, RefStr, RefString,
+
};
pub use git_url as url;
pub use git_url::Url;
pub use radicle_git_ext as ext;
modified radicle/src/rad.rs
@@ -352,6 +352,19 @@ mod tests {
            .collect::<Result<_, _>>()
            .unwrap();

+
        let project_repo = storage.repository(proj).unwrap();
+
        let (head, _) = project_repo.head().unwrap();
+

+
        // Test canonical refs.
+
        assert_eq!(project_repo.raw().refname_to_id("HEAD").unwrap(), *head);
+
        assert_eq!(
+
            project_repo
+
                .raw()
+
                .refname_to_id("refs/heads/master")
+
                .unwrap(),
+
            *head
+
        );
+

        assert_eq!(remotes[&public_key].refs, refs);
        assert_eq!(project.name, "acme");
        assert_eq!(project.description, "Acme's repo");
modified radicle/src/storage/git.rs
@@ -424,6 +424,17 @@ impl ReadRepository for Repository {
        self.backend.find_reference(&name).map_err(git::Error::from)
    }

+
    fn reference_oid(
+
        &self,
+
        remote: &RemoteId,
+
        reference: &git::Qualified,
+
    ) -> Result<Oid, git::Error> {
+
        let name = reference.with_namespace(remote.into());
+
        let oid = self.backend.refname_to_id(&name)?;
+

+
        Ok(oid.into())
+
    }
+

    fn commit(&self, oid: Oid) -> Result<git2::Commit, git::Error> {
        self.backend
            .find_commit(oid.into())
@@ -437,17 +448,6 @@ impl ReadRepository for Repository {
        Ok(revwalk)
    }

-
    fn reference_oid(
-
        &self,
-
        remote: &RemoteId,
-
        reference: &git::Qualified,
-
    ) -> Result<Oid, git::Error> {
-
        let name = reference.with_namespace(remote.into());
-
        let oid = self.backend.refname_to_id(&name)?;
-

-
        Ok(oid.into())
-
    }
-

    fn remote(&self, remote: &RemoteId) -> Result<Remote<Verified>, refs::Error> {
        let refs = SignedRefs::load(remote, self)?;
        Ok(Remote::new(*remote, refs))