Exemplo n.º 1
0
        static void Main(string[] args)
        {
            RepliKateParams rParams = GetRepliKateParams(args);

            if (rParams == null)
            {
                PrintUsage();
                return;
            }

            ConfigureLogging();

            InitCmdRunner();

            IList branches = GetBranches(rParams);

            if (rParams == null)
            {
                return;
            }

            PrintBranchesToReplicate(branches);

            if (rParams.OnlyShowUnsynced)
            {
                return;
            }

            DoReplication(branches, rParams);
        }
Exemplo n.º 2
0
        private static RepliKateParams GetRepliKateParams(string[] args)
        {
            if (args.Length < 2)
            {
                return(null);
            }

            RepliKateParams rParams = new RepliKateParams();

            rParams.SrcSrv = args[0];
            rParams.DstSrv = args[1];

            for (int i = 0; i < args.Length; ++i)
            {
                if (args[i].StartsWith(INITIAL_BRANCH_ARG))
                {
                    rParams.InitBranch = int.Parse(args[i].Substring(
                                                       INITIAL_BRANCH_ARG.Length));

                    mLog.DebugFormat("Going to use InitBranch:{0}", rParams.InitBranch);
                }
                else if (args[i].StartsWith(SYNC_DATE_ARG))
                {
                    rParams.Syncdate = args[i].Substring(SYNC_DATE_ARG.Length);
                    if (rParams.Syncdate.ToLower().Trim().StartsWith("yesterday"))
                    {
                        rParams.Syncdate = GetYesterdayDate();
                    }

                    mLog.DebugFormat("Going to use SyncDate:{0}", rParams.Syncdate);
                }

                else if (args[i].StartsWith(CM_EXEC_ARG))
                {
                    rParams.CmExec = args[i].Substring(CM_EXEC_ARG.Length);
                    mLog.DebugFormat("Going to use cm executable:{0}", rParams.CmExec);
                }
                else if (args[i].StartsWith(STOP_ON_ERROR_ARG))
                {
                    if (args[i].Substring(STOP_ON_ERROR_ARG.Length)
                        .ToLower().Trim().StartsWith("false"))
                    {
                        rParams.StopOnError = false;
                    }
                }

                else if (args[i].StartsWith(ONLY_SHOW_UNSYNCED_ARG))
                {
                    if (args[i].Substring(ONLY_SHOW_UNSYNCED_ARG.Length)
                        .ToLower().Trim().StartsWith("true"))
                    {
                        rParams.OnlyShowUnsynced = true;
                    }
                }
            }

            return(rParams);
        }
Exemplo n.º 3
0
        private static IList GetBranches(RepliKateParams rParams)
        {
            BranchHandler brHandler = new BranchHandler(
                rParams.SrcSrv, rParams.CmExec, Environment.CurrentDirectory);

            IList branches = brHandler.GetBranches();

            if (branches == null)
            {
                return(null);
            }

            if (rParams.Syncdate != string.Empty)
            {
                branches = brHandler.FilterBranches(branches, rParams.Syncdate);
            }

            return(branches);
        }
Exemplo n.º 4
0
        private static void DoReplication(IList branches, RepliKateParams rParams)
        {
            Replicator replicator = new Replicator(
                rParams.CmExec, rParams.StopOnError);

            try
            {
                replicator.Replicate(
                    branches, rParams.SrcSrv, rParams.DstSrv,
                    Environment.CurrentDirectory, rParams.InitBranch);
            }
            catch (Exception e)
            {
                Console.WriteLine(
                    "Error replicating branches: " +
                    e.Message +
                    Environment.NewLine +
                    e.StackTrace);
            }
        }