コード例 #1
0
ファイル: ObjectFactories.cs プロジェクト: Kuzq/gitter
        public static ReflogRecord CreateReflogRecord(Reflog reflog, ReflogRecordData reflogRecordData)
        {
            Verify.Argument.IsNotNull(reflog, "reflog");
            Verify.Argument.IsNotNull(reflogRecordData, "reflogRecordData");

            var repository = reflog.Repository;
            Revision revision;
            lock(repository.Revisions.SyncRoot)
            {
                revision = repository.Revisions.GetOrCreateRevision(reflogRecordData.Revision.SHA1);
            }
            if(!revision.IsLoaded)
            {
                UpdateRevision(revision, reflogRecordData.Revision);
            }
            return new ReflogRecord(repository, reflog, revision, reflogRecordData.Message, reflogRecordData.Index);
        }
コード例 #2
0
ファイル: ObjectFactories.cs プロジェクト: Kuzq/gitter
        public static void UpdateReflogRecord(ReflogRecord reflogRecord, ReflogRecordData reflogRecordData)
        {
            Verify.Argument.IsNotNull(reflogRecord, "reflogRecord");
            Verify.Argument.IsNotNull(reflogRecordData, "reflogRecordData");

            reflogRecord.Index = reflogRecordData.Index;
            reflogRecord.Message = reflogRecordData.Message;
            Revision revision;
            lock(reflogRecord.Repository.Revisions.SyncRoot)
            {
                revision = reflogRecord.Repository.Revisions.GetOrCreateRevision(reflogRecordData.Revision.SHA1);
            }
            if(!revision.IsLoaded)
            {
                UpdateRevision(revision, reflogRecordData.Revision);
            }
            reflogRecord.Revision = revision;
        }