Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set tracking on an existing repo to a remote repo with ngit (or jgit)?

I am working on a gui based helper utility that will:

  • Init a local repo, Init (bare) a remote repo
  • Add .gitignore based on a project type
  • Commit all the files locally
  • Add a remote repo to the local config
  • Push master to the remote repo
  • Create a develop branch and push it to master

All this is done without git installed by using ngit (.NET port of jgit).

But I can't figure out how to setup tracking to track master to origin/master and develop to origin/develop using just ngit.

I can do it easily with

git branch --set-upstream master origin/master

However, I was hoping to avoid the dependency of a local git install.

like image 775
Carl Stewart Avatar asked Jul 31 '11 03:07

Carl Stewart


1 Answers

Here is a Java snippet that corresponds to the --set-upstream option to git branch:

Git git = Git.open(new File("/home/repos/myrepo"));
CreateBranchCommand create = git.branchCreate();
create.setUpstreamMode(SetupUpstreamMode.SET_UPSTREAM);
create.setName("develop");
create.setStartPoint("origin/develop");
create.call();
like image 61
Kevin Sawicki Avatar answered Oct 18 '22 05:10

Kevin Sawicki