| 
					
				 | 
			
			
				@@ -120,6 +120,7 @@ class Repository: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.lock_wait = lock_wait 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.do_lock = lock 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.do_create = create 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.created = False 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.exclusive = exclusive 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.append_only = append_only 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.hostname_is_unique = yes(env_var_override='BORG_HOSTNAME_IS_UNIQUE', env_msg=None, prompt=False) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -138,6 +139,7 @@ class Repository: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if self.do_create: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             self.do_create = False 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             self.create(self.path) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.created = True 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.open(self.path, bool(self.exclusive), lock_wait=self.lock_wait, lock=self.do_lock) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return self 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -437,7 +439,11 @@ class Repository: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         free_space = st_vfs.f_bavail * st_vfs.f_bsize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         logger.debug('check_free_space: required bytes {}, free bytes {}'.format(required_free_space, free_space)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if free_space < required_free_space: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            self._rollback(cleanup=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if self.created: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.error('Not enough free space to initialize repository at this location.') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                self.destroy() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                self._rollback(cleanup=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             formatted_required = format_file_size(required_free_space) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             formatted_free = format_file_size(free_space) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             raise self.InsufficientFreeSpaceError(formatted_required, formatted_free) 
			 |