6

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.

Carl Stewart
  • 335
  • 2
  • 11

1 Answers1

8

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();
mkobit
  • 43,979
  • 12
  • 156
  • 150
Kevin Sawicki
  • 3,002
  • 1
  • 20
  • 18
  • 1
    Beware that you also need to have `.setForce(true)` if the branch already exists locally and you only need to track it remotely. – Luca Geretti Apr 25 '12 at 07:24