Exemplo n.º 1
0
        public static void append(RefUpdate u, String msg)
        {
            ObjectId oldId = u.OldObjectId;
            ObjectId newId = u.NewObjectId;
            Repository db = u.Repository;
            PersonIdent ident = u.RefLogIdent;

            appendOneRecord(oldId, newId, ident, msg, db, u.Name);
        }
Exemplo n.º 2
0
        internal static void append(RefUpdate u, string msg)
        {
            ObjectId oldId = u.OldObjectId;
            ObjectId newId = u.NewObjectId;
            Repository db = u.Repository;
            PersonIdent ident = u.RefLogIdent;

            AppendOneRecord(oldId, newId, ident, msg, db, u.Name);

            if (!u.Name.Equals(u.OriginalName))
            {
                AppendOneRecord(oldId, newId, ident, msg, db, u.OriginalName);
            }
        }
Exemplo n.º 3
0
 public RefRename(RefUpdate toUpdate, RefUpdate fromUpdate)
 {
     _renameResult = RefResult.NotAttempted;
     _newToUpdate = toUpdate;
     _oldFromDelete = fromUpdate;
 }
Exemplo n.º 4
0
 ///	<summary>
 /// An set of update operations for renaming a ref
 ///	</summary>
 ///	<param name="fromRef"> Old ref name </param>
 ///	<param name="toRef"> New ref name </param>
 ///	<returns> a RefUpdate operation to rename a ref </returns>
 ///	<exception cref="IOException"> </exception>
 public RefRename NewRename(string fromRef, string toRef)
 {
     RefreshPackedRefs();
     Ref f = ReadRefBasic(fromRef, 0);
     var t = new Ref(Ref.Storage.New, toRef, null);
     var refUpdateFrom = new RefUpdate(this, f, FileForRef(f.Name));
     var refUpdateTo = new RefUpdate(this, t, FileForRef(t.Name));
     return new RefRename(refUpdateTo, refUpdateFrom);
 }
Exemplo n.º 5
0
 public DeleteStore(RefUpdate ref_update) : base(ref_update) { }
Exemplo n.º 6
0
 public StoreBase(RefUpdate ref_update)
 {
     this.ref_update = ref_update;
 }
Exemplo n.º 7
0
        internal static void renameTo(Repository db, RefUpdate from, RefUpdate to)
        {
            var logdir = new DirectoryInfo(Path.Combine(db.Directory.FullName, Constants.LOGS));
            var reflogFrom = new FileInfo(Path.Combine(logdir.FullName, from.Name));
            if (!reflogFrom.Exists) return;

            var reflogTo = new FileInfo(Path.Combine(logdir.FullName, to.Name));
            var reflogToDir = reflogTo.Directory;
            var tmp = new FileInfo(Path.Combine(logdir.FullName, "tmp-renamed-log.." + Thread.CurrentThread.ManagedThreadId));
            if (!reflogFrom.RenameTo(tmp.FullName))
            {
                throw new IOException("Cannot rename " + reflogFrom + " to (" + tmp + ")" + reflogTo);
            }

            RefUpdate.DeleteEmptyDir(reflogFrom.Directory, RefUpdate.Count(from.Name, '/'));
            if (reflogToDir != null && !reflogToDir.Exists)
            {
                try { reflogToDir.Create(); }
                catch(IOException)
                {
                    throw new IOException("Cannot create directory " + reflogToDir);
                }
            }

            if (!tmp.RenameTo(reflogTo.FullName))
            {
                throw new IOException("Cannot rename (" + tmp + ")" + reflogFrom + " to " + reflogTo);
            }
        }
Exemplo n.º 8
0
 public UpdateStore(RefUpdate refUpdate)
     : base(refUpdate)
 {
 }
Exemplo n.º 9
0
 protected StoreBase(RefUpdate refUpdate)
 {
     _refUpdate = refUpdate;
 }