我已经实现了一个提交钩子,以检查提交消息并在消息格式不正确的情况下中止提交。我已经使用commit-msg
挂钩完成了此操作。
但是,仅当您使用-m
标志进行提交时,此方法才有效。如果省略该标志(因为要使用编辑器添加消息),则提交挂钩将失败(无消息)。
根据我的阅读,在打开编辑器之前,pre-commit
和commit-msg
钩都被触发了。有没有办法做类似的事情等待编辑器关闭?
答案 0 :(得分:0)
实际上,一旦消息准备就绪,就会触发#Model for Visitor Table
class Visitor(models.Model):
visitor_id = models.AutoField(primary_key=True)
first_name = models.CharField(max_length=50 , blank=False, null=True)
last_name = models.CharField(max_length=50 , blank=False, null=True)
email = models.EmailField(max_length=50, blank=False)
company = models.CharField(max_length=50, blank=False)
phone_number = models.CharField(max_length=100, blank=False)
picture_url = models.ImageField(upload_to='pictures/%Y/%m/%d/', max_length=254, blank=True, default='none', null=True)
blacklist = models.BooleanField(default=False)
def __str__(self):
return '{} {}'.format(self.first_name, self.last_name)
#Model for VisitorMeeting table... This holds referencial key to both visitor table and meeting table
#Transactional table for Visitor and Meeting Table
class VisitorMeeting(models.Model):
visitor_id = models.ForeignKey(Visitor, on_delete=models.CASCADE)
meeting_id = models.ForeignKey(Meeting, on_delete=models.CASCADE, related_name='visitors')
arrival = models.DateTimeField(blank=True, null=True)
departure = models.DateTimeField(blank=True, null=True)
checkin_status = models.BooleanField(default=False, null=True)
objects = VisitorQuerySet.as_manager()
钩子(因此,在用户关闭编辑器之后),该钩子正在获取具有消息值的文件的路径。
从文档中
commit-msg挂钩具有一个参数,该参数再次是包含开发人员编写的提交消息的临时文件的路径。