Browse Source

Fix Repository.__setitem__.

Jelmer Vernooij 15 năm trước cách đây
mục cha
commit
7d7d8e6252
2 tập tin đã thay đổi với 10 bổ sung1 xóa
  1. 2 1
      dulwich/repo.py
  2. 8 0
      dulwich/tests/test_repository.py

+ 2 - 1
dulwich/repo.py

@@ -792,7 +792,8 @@ class BaseRepo(object):
                 self.refs[name] = value
             else:
                 raise TypeError(value)
-        raise ValueError(name)
+        else:
+            raise ValueError(name)
 
     def __delitem__(self, name):
         if name.startswith("refs") or name == "HEAD":

+ 8 - 0
dulwich/tests/test_repository.py

@@ -72,6 +72,12 @@ class RepositoryTests(unittest.TestCase):
         r = self._repo = open_repo('a.git')
         self.assertEqual(r.ref('refs/heads/master'),
                          'a90fa2d900a17e99b433217e988c4eb4a2e9a097')
+
+    def test_setitem(self):
+        r = self._repo = open_repo('a.git')
+        r["refs/tags/foo"] = 'a90fa2d900a17e99b433217e988c4eb4a2e9a097'
+        self.assertEquals('a90fa2d900a17e99b433217e988c4eb4a2e9a097',
+                          r["refs/tags/foo"].id)
   
     def test_get_refs(self):
         r = self._repo = open_repo('a.git')
@@ -235,6 +241,7 @@ THREES = "3" * 40
 FOURS = "4" * 40
 
 class PackedRefsFileTests(unittest.TestCase):
+
     def test_split_ref_line_errors(self):
         self.assertRaises(errors.PackedRefsException, _split_ref_line,
                           'singlefield')
@@ -283,6 +290,7 @@ class PackedRefsFileTests(unittest.TestCase):
 
 
 class RefsContainerTests(unittest.TestCase):
+
     def setUp(self):
         self._repo = open_repo('refs.git')
         self._refs = self._repo.refs