Ejemplo n.º 1
0
        private static void _GenerateDeps(VersionControlServer vcs, ItemMap deps, IntList intTreap)
        {
            /* walk through the changeset list. */
            for (IntList.iterator it = intTreap.begin();
                 it != intTreap.end();
                 ++it)
            {
                /* grab the changeset. */
                Changeset cs = vcs.GetChangeset(it.item());

                foreach (Change cng in cs.Changes)
                {
                    /* now dump each item in the changeset into the dependency list. */
                    ItemMap.iterator imit = deps.find(cng.Item);
                    if (imit == deps.end())
                    {
                        /* new one. */
                        IntList changesetlist = new IntList();
                        changesetlist.insert(cs.ChangesetId);
                        deps.insert(cng.Item, changesetlist);
                    }
                    else
                    {
                        /* hey, it already exists, so find it and dump the changeset in there. */
                        IntList.iterator csit = imit.value().find(cs.ChangesetId);
                        if (csit == imit.value().end())
                        {
                            imit.value().insert(cs.ChangesetId);
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// print dependencies.
        /// </summary>
        /// <param name="wr">place to pretty-print them to</param>
        /// <param name="deps">the map of item->changeset list</param>
        /// <param name="keyChangesets">the changeset->item map for the changesets we are interested in</param>
        private static void _PrintDeps(System.IO.TextWriter wr, ItemMap deps, CSItemMap keyChangesets)
        {
            /* print out only our changesets,
             * details:
             *  the dependices they have on other changesets,
             *  what file is the dependency.
             */

            for (CSItemMap.iterator it = keyChangesets.begin();
                 it != keyChangesets.end();
                 ++it)
            {
                wr.WriteLine("changeset {0}", it.item());

                foreach (Item item in it.value())
                {
                    ItemMap.iterator imit = deps.find(item);
                    if (imit != deps.end())
                    {
                        if (imit.value().size() > 1)
                        {
                            wr.WriteLine(imit.item().ServerItem);
                            foreach (int csID in imit.value())
                            {
                                wr.WriteLine(csID);
                            }
                            wr.WriteLine();
                        }
                    }
                }

                wr.WriteLine();
            }
        }