Пример #1
0
        public override bool Clone()
        {
            string dc = null;
            try
            {
                lock (thread_safe_rep)
                {
                    dc = Repository.Clone(base.cloneUri, base.LocalContainerDirectory);
                    if (CheckLocalCopy())
                        status = Status.allUpToDate;
                    else
                    {
                        status = Status.cloneFailure;
                        return false;
                    }
                }
            }
            catch(Exception e)
            {
                logger.Exception(e, "git clone", "Clone failure at '{0}, msg: {1}", cloneUri, e.Message);
                status = Status.cloneFailure;
                return false;
            }

            return true;
        }
Пример #2
0
        private SCM.Status status = Status.none;// this means to determine status by UpdateStatus

        public override bool Fetch()
        {
            if (CheckLocalCopy())
            {
                lock (thread_safe_rep)
                {
                    using (var repo = new Repository(base.LocalContainerDirectory))
                    {
                        try
                        {
                            repo.Network.Fetch(repo.Network.Remotes[GetRemoteBranchName(repo)]);
                            CheckoutRemoteBranch(repo);
                            status = Status.allUpToDate;
                            return(true);
                        }
                        catch (Exception e)
                        {
                            status = Status.fetchFailure;
                            logger.Exception(e, "git Fetch", "exception while trying to fetch");
                        }
                    }
                }
            }
            else
            {
                status = Status.cloneRequired;
            }
            return(false);
        }
Пример #3
0
        public override bool Clone()
        {
            string dc = null;

            try
            {
                lock (thread_safe_rep)
                {
                    dc = Repository.Clone(base.cloneUri, base.LocalContainerDirectory);
                    if (CheckLocalCopy())
                    {
                        status = Status.allUpToDate;
                    }
                    else
                    {
                        status = Status.cloneFailure;
                        return(false);
                    }
                }
            }
            catch (Exception e)
            {
                logger.Exception(e, "git clone", "Clone failure at '{0}, msg: {1}", cloneUri, e.Message);
                status = Status.cloneFailure;
                return(false);
            }

            return(true);
        }
Пример #4
0
 public override void UpdateStatus()
 {
     if (CheckLocalCopy())
     {
         status = Status.fetchRequied;
     }
     else
     {
         status = Status.cloneRequired;
     }
 }
Пример #5
0
 public override void UpdateStatus()
 {
     if (CheckLocalCopy())
     {
         status = Status.fetchRequied;
     }
     else
     {
         status = Status.cloneRequired;
     }
 }
Пример #6
0
 public override bool Fetch()
 {
     if (CheckLocalCopy())
     {
         lock (thread_safe_rep)
         {
             using (var repo = new Repository(base.LocalContainerDirectory))
             {
                 try
                 {
                     repo.Network.Fetch(repo.Network.Remotes[GetRemoteBranchName(repo)]);
                     CheckoutRemoteBranch(repo);
                     status = Status.allUpToDate;
                     return true;
                 }
                 catch (Exception e)
                 {
                     status = Status.fetchFailure;
                     logger.Exception(e, "git Fetch", "exception while trying to fetch");
                 }
             }
         }
     }
     else
     {
         status = Status.cloneRequired;
     }
     return false;
 }