GitSharp.Core.RefWriter.writePackedRefs C# (CSharp) Method

writePackedRefs() public method

public writePackedRefs ( ) : void
return void
        public void writePackedRefs()
        {
            bool peeled = false;

            foreach (Ref r in refs)
            {
                if (r.StorageFormat != Ref.Storage.Packed)
                    continue;
                if (r.PeeledObjectId != null)
                    peeled = true;
            }

            StringBuilder w = new StringBuilder();
            if (peeled)
            {
                w.Append("# pack-refs with:");
                if (peeled)
                    w.Append(" peeled");
                w.Append('\n');
            }

            char[] tmp = new char[Constants.OBJECT_ID_STRING_LENGTH];
            foreach (Ref r in refs)
            {
                if (r.StorageFormat != Ref.Storage.Packed)
                    continue;

                r.ObjectId.CopyTo(tmp, w);
                w.Append(' ');
                w.Append(r.Name);
                w.Append('\n');

                if (r.PeeledObjectId != null)
                {
                    w.Append('^');
                    r.PeeledObjectId.CopyTo(tmp, w);
                    w.Append('\n');
                }
            }
            writeFile(Constants.PACKED_REFS, Constants.encode(w.ToString()));
        }