コード例 #1
0
 public FetchHeadRecord(ObjectId newValue, bool notForMerge, string sourceName, URIish sourceUri)
 {
     NewValue = newValue;
     NotForMerge = notForMerge;
     SourceName = sourceName;
     SourceURI = sourceUri;
 }
コード例 #2
0
ファイル: Clone.cs プロジェクト: drothmaler/GitSharp
        public override void Run(string[] args)
        {
            if (args.Length == 0) return;

            URIish source = new URIish(args[0]);

            // guess a name
            string p = source.Path;
            while (p.EndsWith("/"))
                p = p.Substring(0, p.Length - 1);
            int s = p.LastIndexOf('/');
            if (s < 0)
                throw die("Cannot guess local name from " + source);
            string localName = p.Substring(s + 1);
            if (localName.EndsWith(".git"))
                localName = localName.Substring(0, localName.Length - 4);

            if (gitdir == null)
                gitdir = Path.Combine(localName, ".git");

            db = new Repository(new DirectoryInfo(gitdir));
            db.Create();
            db.Config.setBoolean("core", null, "bare", false);
            db.Config.save();

            streamOut.WriteLine("Initialized empty Git repository in " + (new DirectoryInfo(gitdir)).FullName);
            streamOut.Flush();

            saveRemote(source);
            FetchResult r = runFetch();
            Ref branch = guessHEAD(r);
            doCheckout(branch);
        }
コード例 #3
0
        public static bool canHandle(URIish uri)
        {
            if (!uri.IsRemote)
            {
                return false;
            }

            string scheme = uri.Scheme;

            if ("ssh".Equals(scheme))
            {
                return true;
            }

            if ("ssh+git".Equals(scheme))
            {
                return true;
            }

            if ("git+ssh".Equals(scheme))
            {
                return true;
            }

            if (scheme == null && uri.Host != null && uri.Path != null)
            {
                return true;
            }

            return false;
        }
コード例 #4
0
        public static bool canHandle(URIish uri)
        {
            if (!uri.IsRemote)
            {
                return false;
            }

            return S3_SCHEME == uri.Scheme;
        }
コード例 #5
0
ファイル: URIishTests.cs プロジェクト: stephensong/GitSharp
 public void test001_WindowsFile2()
 {
     const string str = "D:\\m y";
     URIish u = new URIish(str);
     Assert.IsNull(u.Scheme);
     Assert.IsFalse(u.IsRemote);
     Assert.AreEqual("D:/m y", u.Path);
     Assert.AreEqual("D:/m y", u.ToString());
     Assert.AreEqual(u, new URIish(str));
 }
コード例 #6
0
ファイル: URIishTests.cs プロジェクト: stephensong/GitSharp
 public void test000_UnixFile()
 {
     const string str = "/home/m y";
     URIish u = new URIish(str);
     Assert.IsNull(u.Scheme);
     Assert.IsFalse(u.IsRemote);
     Assert.AreEqual(str, u.Path);
     Assert.AreEqual(str, u.ToString());
     Assert.AreEqual(u, new URIish(str));
 }
コード例 #7
0
        public static bool CanHandle(URIish uri)
        {
            if (uri.Host != null || uri.Port > 0 || uri.User != null || uri.Pass != null || uri.Path == null)
                return false;

            if ("file".Equals(uri.Scheme) || uri.Scheme == null)
            {
                FileInfo file = resolve(new DirectoryInfo("."), uri.Path);
                return file.Name.EndsWith(".bundle");
            }

            return false;
        }
コード例 #8
0
        public static bool canHandle(URIish uri)
        {
            if (uri.Host != null || uri.Port > 0 || uri.User != null || uri.Pass != null || uri.Path == null)
            {
                return false;
            }

            if ("file".Equals(uri.Scheme) || uri.Scheme == null)
            {
                return FS.resolve(new DirectoryInfo(PWD), uri.Path).Exists;
            }

            return false;
        }
コード例 #9
0
        public void testAddURI()
        {
            readConfig(string.Empty);

            URIish uri = new URIish("/some/dir");
            RemoteConfig rc = new RemoteConfig(config, "backup");
            Assert.AreEqual(0, rc.URIs.Count);

            Assert.IsTrue(rc.AddURI(uri));
            Assert.AreEqual(1, rc.URIs.Count);
            Assert.AreSame(uri, rc.URIs[0]);

            Assert.IsFalse(rc.AddURI(new URIish(uri.ToString())));
            Assert.AreEqual(1, rc.URIs.Count);
        }
コード例 #10
0
 public TransportGitSsh(Repository local, URIish uri)
     : base(local, uri)
 {
 }
コード例 #11
0
ファイル: RemoteConfigTests.cs プロジェクト: gilran/GitSharp
        public void test010_RemoveLastURI()
        {
            writeConfig("");

            URIish a = new URIish("/some/dir");
            URIish b = new URIish("/another/dir");
            URIish c = new URIish("/more/dirs");
            RemoteConfig rc = new RemoteConfig(db.Config, "backup");
            Assert.IsTrue(rc.AddURI(a));
            Assert.IsTrue(rc.AddURI(b));
            Assert.IsTrue(rc.AddURI(c));

            Assert.AreEqual(3, rc.URIs.Count);
            Assert.AreSame(a, rc.URIs[0]);
            Assert.AreSame(b, rc.URIs[1]);
            Assert.AreEqual(c, rc.URIs[2]);

            Assert.IsTrue(rc.RemoveURI(c));
            Assert.AreEqual(2, rc.URIs.Count);
            Assert.AreSame(a, rc.URIs[0]);
            Assert.AreSame(b, rc.URIs[1]);
        }
コード例 #12
0
ファイル: RemoteConfig.cs プロジェクト: stephensong/GitSharp
 public bool AddURI(URIish toAdd)
 {
     if (URIs.Contains(toAdd))
         return false;
     URIs.Add(toAdd);
     return true;
 }
コード例 #13
0
ファイル: RemoteConfig.cs プロジェクト: stephensong/GitSharp
 public bool RemoveURI(URIish toRemove)
 {
     return URIs.Remove(toRemove);
 }
コード例 #14
0
 public NoRemoteRepositoryException(URIish uri, string s)
     : base(uri, s)
 {
     
 }
コード例 #15
0
ファイル: URIish.cs プロジェクト: ArildF/GitSharp
 private URIish(URIish u)
 {
     Scheme = u.Scheme;
     Path = u.Path;
     User = u.User;
     Pass = u.Pass;
     Port = u.Port;
     Host = u.Host;
 }
コード例 #16
0
 public MockTransport(Repository local, URIish uri, List<Ref> advertisedRefs)
     : base(local, uri)
 {
     advertised = advertisedRefs;
 }
コード例 #17
0
ファイル: RemoteConfig.cs プロジェクト: drothmaler/GitSharp
 public bool RemovePushURI(URIish toRemove)
 {
     return PushURIs.Remove(toRemove);
 }
コード例 #18
0
ファイル: URIishTests.cs プロジェクト: stephensong/GitSharp
 public void test002_UNC()
 {
     const string str = "\\\\some\\place";
     URIish u = new URIish(str);
     Assert.Null(u.Scheme);
     Assert.False(u.IsRemote);
     Assert.AreEqual("//some/place", u.Path);
     Assert.AreEqual("//some/place", u.ToString());
     Assert.AreEqual(u, new URIish(str));
 }
コード例 #19
0
ファイル: URIishTests.cs プロジェクト: stephensong/GitSharp
 public void test015_SshProtoWithUserPassAndPort()
 {
     const string str = "ssh://*****:*****@example.com:33/some/p ath";
     URIish u = new URIish(str);
     Assert.AreEqual("ssh", u.Scheme);
     Assert.True(u.IsRemote);
     Assert.AreEqual("/some/p ath", u.Path);
     Assert.AreEqual("example.com", u.Host);
     Assert.AreEqual("user", u.User);
     Assert.AreEqual("pass", u.Pass);
     Assert.AreEqual(33, u.Port);
     Assert.AreEqual(str, u.ToPrivateString());
     Assert.AreEqual(u.SetPass(null).ToPrivateString(), u.ToString());
     Assert.AreEqual(u, new URIish(str));
 }
コード例 #20
0
ファイル: Transport.cs プロジェクト: stephensong/GitSharp
 /**
  * We don't support any transports right now
  */
 public static Transport Open(Repository local, URIish remote)
 {
     throw new NotSupportedException("URI not supported: " + remote);
 }
コード例 #21
0
 protected BasePackConnection(IPackTransport packTransport)
 {
     transport = (Transport) packTransport;
     local = transport.Local;
     uri = transport.Uri;
 }
コード例 #22
0
 public PackProtocolException(URIish uri, string s, Exception cause)
     : base(uri + ": " + s, cause)
 {
 }
コード例 #23
0
 public PackProtocolException(URIish uri, string s)
     : base(uri + ": " + s)
 {
 }
コード例 #24
0
ファイル: URIishTests.cs プロジェクト: stephensong/GitSharp
 public void test003_FileProtoUnix()
 {
     const string str = "file:///home/m y";
     URIish u = new URIish(str);
     Assert.AreEqual("file", u.Scheme);
     Assert.False(u.IsRemote);
     Assert.AreEqual("/home/m y", u.Path);
     Assert.AreEqual(str, u.ToString());
     Assert.AreEqual(u, new URIish(str));
 }
コード例 #25
0
 public MissingBundlePrerequisiteException(URIish uri, List<ObjectId> ids)
     : base(uri, format(ids))
 {
 }
コード例 #26
0
ファイル: RemoteConfigTests.cs プロジェクト: gilran/GitSharp
        public void test011_RemoveOnlyURI()
        {
            writeConfig("");

            URIish a = new URIish("/some/dir");
            RemoteConfig rc = new RemoteConfig(db.Config, "backup");
            Assert.IsTrue(rc.AddURI(a));

            Assert.AreEqual(1, rc.URIs.Count);
            Assert.AreSame(a, rc.URIs[0]);

            Assert.IsTrue(rc.RemoveURI(a));
            Assert.AreEqual(0, rc.URIs.Count);
        }
コード例 #27
0
ファイル: Transport.cs プロジェクト: stephensong/GitSharp
 protected Transport(Repository local, URIish uri)
 {
     //final TransferConfig tc = local.getConfig().getTransfer();
     this.local = local;
     this.uri = uri;
     //this.checkFetchedObjects = tc.FsckObjects;
 }
コード例 #28
0
ファイル: SshTransport.cs プロジェクト: mneedham/GitSharp
 protected SshTransport(Repository local, URIish uri)
     : base(local, uri)
 {
     sch = SshSessionFactory.Instance;
 }
コード例 #29
0
 public TransportBundleFile(Repository local, URIish uri)
     : base(local, uri)
 {
     bundle = resolve(new DirectoryInfo("."), uri.Path);
 }
コード例 #30
0
 public TransportBundleStream(Repository db, URIish uri, Stream @in)
     : base(db, uri)
 {
     src = @in;
 }